eophis package
Subpackages
- eophis.coupling package
- eophis.domain package
- eophis.utils package
Submodules
eophis.loop module
This module contains time loop structures to synchronize connexions between coupled scripts.
- Copyright (c) 2023 IGE-MEOM
Eophis is released under an MIT License. See the LICENSE file for details.
- eophis.loop.all_in_all_out(geo_model, step, niter)
Builds a Loop on All In All Out (AIAO) structure.
assembler()function insertsrouter()insidebase_loop()in which receivings and sendings steps are pre-defined.- Parameters:
- Returns:
base_loop – AIAO loop completed with
router()- Return type:
function
- Raises:
eophis.abort() – if no router defined to construct loop
eophis.abort() – if loop starts with tunnels not ready
Notes
- An AIAO loop orchestrates the following steps:
receive all data from earth
transfert data to models (provided from
router())send back all results
Example
>>> @all_in_all_out(coupledEarth,timeStep,timeIter) >>> def router(**inputs): >>> outputs = {} >>> outputs[varToSendBack] = my_model(inputs[varReceived]) >>> return outputs
- eophis.loop.starter(loop_router)
Starter for Loop-Router assembly.
- Parameters:
assembled_loop (function) – Loop-Router to start