wiki:IPSLCM6/MOSAIX

Version 10 (modified by omamce, 5 years ago) (diff)

--

MOSAIX

MOSAIX is a small set of fortran routines, bash scripts, python scripts and xml files allowing to generate coupling weights for IPSL Earth System Model. It is under development, and presently not used by the production runs. It aims to replace the old MOSAIC software. It uses XIOS as a library to compute weights. In the present state, it can handle ORCA, LMDZ lon/lat and DYNAMICO grids.

MOSAIX work in parallel, using MPI distributed memory.

Known problems

  • None so far ...

Code availability

  • SVN : svn co svn+ssh://<login>@forge.ipsl.jussieu.fr/ipsl/forge/projets/igcmg/svn/TOOLS/MOSAIX MOSAIX

Portability

MOSAIX has been tested on Curie and Irene (TGCC) .

Requirement

Input files

MOSAIX needs files describing the grid of the models. See CreateWeightsMask.bash

Scripts and codes

  • CreateWeightsMask.bash. Creates the weights to interpolate between atmospheric and ocean grid. Weight files are suitable for OASIS-MCT. Creates the fraction of ocean in atmospheric grid cells. Use parallel processing with MPI.
  • CreateOasisGrids.bash. Creates files grids.nc, areas.nc and masks.nc with information from both models, suitable for OASIS-MCT. Mono CPU. Automatically started by CreateWeightsMask.bash.
  • update_xml.py. Python script used to perform on the fly editing of xml files. Used by the previous bashes.
  • iodef_atm_to_oce.xml and iodef_oce_to_atm.xml.
  • MOSAIX/src/MOSAIX/interpol.f90. Fortran source using the XIOS library.
  • make_mosaix. Small script for compiling interpol.f90. You need to compile XIOS first. Use compiler, compiler options and librairies defined by XIOS.
  • RunoffWeights.py. Python code to generates weights for run-off.

1) Defines a coastal band on land in the atmosphere model. For LMDZ rectilinear grids, the width of this band is parametrized, in grid points. For ico grids, the band contains only point with a fraction of ocean in ]0,1[.

2) Defines a coastal band on ocean in the ocean model. The width of this band is parametrized.

3) An atmosphere point of the coastal bans is link to an ocean point in the coastal band if the distance between the two is less than searchRadius.

  • CalvingWeights?.py. Python code to generates weights for calving. 1) The atmosphere model should integrate the calving on specific region. Presently the region are three latitudinal bands with limites 90°S/40°S/50°N/90°N

2) The weights distribute the calving over the corresponding latitudinal bands. By default, the distribution is uniform.

3) For the most southern band, is is possible to use a geographical distributio,n read in a file.

Grids

  • [tuv]orc. ORCA grid at [tuv] points. Masked on land, with area equal to grid box surface
  • tlmd. LMD rectilinear grid at scalar (physics) point. Masked on land, with area equal to grid box surface.
  • tico. LMD icosahedron grid at scalar (physics) point. Masked on land, with area equal to grid box surface.
  • olmd. LMD rectilinear grid at scalar (physics) point. Not masked, with areas equal to 1.
  • oico. LMD icosahedron grid at scalar (physics) point. Not masked, with areas equal to 1.
  • corc. ORCA grid at t point. Masked on land, duplicated (from periodicity) point masked, with area equal to grid box surface.
  • corc. ORCA grid at t point. Masked on land, duplicated (from periodicity) point masked, with area equal 1.