Warning, /pkg/atm_ocn_coupler/NOTES is written in an unsupported language. File is not indexed.
view on githubraw file Latest commit 7f58e894 on 2006-06-15 23:29:18 UTC
7f58e89433 Jean*0001 Issues with the current coupler:
0002
0003 It should have been written in C.
0004
0005 It should have more "safe mode" timeout options. For example
0006 poll for receiver ready before sending to catch deadlocks.
0007 Poll for receive and trap too many spins waiting
0008 for an event.
0009
0010 There is only one coupler.
0011 Coupler has no concept of being "tiled" itself. A heirarchical
0012 structure of coupled "couplers" could be envisioned.
0013 Only one tile set per process can be registered.
0014
0015 No real support for multi-threaded codes.
0016
0017 Coupler itself is pure sequential
0018
0019 The coupler only supports transfer of two-dimensional fields.
0020
0021 Wrong name errors are not trapped clearly.
0022
0023 Consistency between components is hard to validate.
0024
0025 Coupled setup consists of a coupling layer plus one or more component
0026 models and communications API for talking between the coupling
0027 layer and the components.
0028
0029 Coupling layer really provides two functions
0030
0031 1. An limited form of associative storage into which component models can export
0032 data and from which component models can import data. Data is exported
0033 and imported using a text string to identify it. Abstraction is similar
0034 to that of a simple file system. There are implicit synchronisation
0035 rules that need to be adhered to. Could be extended to allow file system
0036 access and/or http based communication.
0037
0038 2. Extrapolation and interpolation modules which are used to map
0039 data between component models having differing grids.
0040
0041 Associative Storage Function
0042 ============================
0043 Data is exported and imported using a text string to identify it. Abstraction
0044 is similar to that of a simple file system. In the current coupler
0045 implementation there are implicit synchronisation rules that need to be
0046 adhered to. A component model cannot asynchronously request data. Could be
0047 extended to allow file system access and/or http based communication.
0048
0049 Extrapolation and interpolation
0050 ===============================
0051 This maps data between different representations.
0052
0053
0054
0055