eophis.domain package

Submodules

eophis.domain.cyclichalo module

cyclichalo.py - This module contains tools to define halo cells that do cross global domain periodic/closed boundaries.

  • Copyright (c) 2023 IGE-MEOM

    Eophis is released under an MIT License. See the LICENSE file for details.

eophis.domain.grid module

grid.py - This module contains tools for global grid/domain definition and parallel decomposition.

  • Copyright (c) 2023 IGE-MEOM

    Eophis is released under an MIT License. See the LICENSE file for details.

class eophis.domain.grid.Domains

Bases: object

This class contains pre-defined Grids.

demo(eophis.Grids)
Type:

npts = (720,603), halos = 0, bnd = (‘close’,’close’), folding = (T,T)

eORCA05(eophis.Grids)
Type:

npts = (720,603), halos = 1, bnd = (‘cyclic’,’NFold’), folding = (T,T)

eORCA025(eophis.Grids)
Type:

npts = (1442,1207), halos = 1, bnd = (‘cyclic’,’NFold’), folding = (T,T)

eORCA025_U(eophis.Grids)
Type:

npts = (1442,1207), halos = 1, bnd = (‘cyclic’,’NFold’), folding = (U,T)

eORCA025_V(eophis.Grids)
Type:

npts = (1442,1207), halos = 1, bnd = (‘cyclic’,’NFold’), folding = (V,T)

eORCA025_F(eophis.Grids)
Type:

npts = (1442,1207), halos = 1, bnd = (‘cyclic’,’NFold’), folding = (F,T)

Notes

Domains is a dict which keys are and refer to:
npts(int,int)

number of longitude and latitude points, respectively

halosint

grid halo size

bnd(string,string)

boundary conditions in east-west and north-south directions, respectively

folding(str,str)

grid and folding type, respectively

demo = {'bnd': ('close', 'close'), 'folding': ('T', 'T'), 'halos': 0, 'npts': (720, 603)}
eORCA025 = {'bnd': ('cyclic', 'NFold'), 'folding': ('T', 'T'), 'halos': 1, 'npts': (1440, 1206)}
eORCA025_F = {'bnd': ('cyclic', 'NFold'), 'folding': ('F', 'T'), 'halos': 1, 'npts': (1440, 1206)}
eORCA025_U = {'bnd': ('cyclic', 'NFold'), 'folding': ('U', 'T'), 'halos': 1, 'npts': (1440, 1206)}
eORCA025_V = {'bnd': ('cyclic', 'NFold'), 'folding': ('V', 'T'), 'halos': 1, 'npts': (1440, 1206)}
eORCA05 = {'bnd': ('cyclic', 'NFold'), 'folding': ('T', 'T'), 'halos': 1, 'npts': (720, 603)}

eophis.domain.halo module

halo.py - This module contains tools to define halo cells that do not cross global domain boundaries.

  • Copyright (c) 2023 IGE-MEOM

    Eophis is released under an MIT License. See the LICENSE file for details.

eophis.domain.nfhalo module

nfhalo.py - This module contains tools to define halo cells that do cross global domain NorthFold boundary.

  • Copyright (c) 2023 IGE-MEOM

    Eophis is released under an MIT License. See the LICENSE file for details.

eophis.domain.offsiz module

offsiz.py - Miscellaneous tools to manipulate cells segments represented by an offsets/sizes couple.

  • Copyright (c) 2023 IGE-MEOM

    Eophis is released under an MIT License. See the LICENSE file for details.

Module contents

domain subpackage

Domain refers to the global grid on which the coupling fields are defined. This subpackage helps to manipulate the grid and decompose it into several subdomains among the executing processes.

The local grid representing the subdomain is divided in two parts:
  • “real cells”: cells contained by the subdomain

  • “halo cells”: potential external extra cells containing neighboring subdomains values.

Each subdomain may be translated into two OASIS partition format. One without halos for the sending (Box Partition) and one with halos for the receiving (Orange Partition).

Tools to generate sending arrays and reshape received arrays with right format are also contained in this subpackage.

  • Copyright (c) 2023 IGE-MEOM

    Eophis is released under an MIT License. See the LICENSE file for details.