OR/14/022 Comparison of approaches: Difference between revisions

From MediaWiki
Jump to navigation Jump to search
Dbk (talk | contribs)
Dbk (talk | contribs)
Line 15: Line 15:
| '''OpenMI 1.4'''
| '''OpenMI 1.4'''
| '''OpenMI 2.0'''
| '''OpenMI 2.0'''
| '''Trident '''[file:///W:/PP/GraphicCommunications/Graphic%20Design/Live_Jobs/2014%20Reports/2014/14022/OR14022.docx#_bookmark0 '''2''']
| '''Trident<sup>2</sup>'''
| '''CESM-CPL 7'''
| '''CESM-CPL 7'''
| '''OASIS3-MCT_2.0'''
| '''OASIS3-MCT_2.0'''
Line 26: Line 26:
| Yes
| Yes
| Yes
| Yes
| Yes Community led since 2013, previously an MS initiative
| Yes<br>Community led since 2013, previously an MS initiative
| Yes Subject to the IPR   rules   of embedded software
| Yes<br>Subject to the IPR rules of embedded software
| Yes (LGPL)
| Yes<br>(LGPL)
| No
| No
|-
|-
| Primary research community
| Primary research community
| Surface dynamics
| Surface dynamics
| Surface dynamics + ?
| Surface dynamics + ?
| Water
| Water
| Water + extra env. disciplines
| Water<br>+ extra env. disciplines
| Oceanography
| Oceanography
| Climate
| Climate
Line 42: Line 42:
|-
|-
| Central model repository
| Central model repository
| Yes CSDMS portal
| Yes<br>CSDMS portal
| Yes CSDMS portal
| Yes<br>CSDMS portal
| Yes but optional FluidEarth
| Yes<br>but optional FluidEarth
| ? Could use FluidEarth but no 2.0 models there yet
| ?<br>Could use FluidEarth but no 2.0 models there yet
| Some models held on a site called myExperiment and CSIRO have their own repository
| Some models held on a site called my<br>Experiment and CSIRO have their own repository
| No
| No
| No
| No
Line 52: Line 52:
|-
|-
| rowspan="2" | Functionality and implementation details
| rowspan="2" | Functionality and implementation details
| Visual workflow configuration interface
| Visual workflow<br>configuration interface
| Yes (CMT)
| Yes<br>(CMT)
| Yes (CMT)
| Yes<br>(CMT)
| Yes (FluidEarth)
| Yes<br>(FluidEarth)
| Yes (FluidEarth)
| Yes<br>(FluidEarth)
| Yes
| Yes
| Yes (GUI)
| Yes<br>(GUI)
| Yes (GUI)
| Yes<br>(GUI)
| Yes (GUI)
| Yes<br>(GUI)
|-
|-
| Visual ‘programming’ interface Tools for creating model components that require relatively low level of programming               experience, recommended by ''Gou D et al.,, 2012''
| Visual ‘programming’ interface<br>Tools for creating model components<br>that require relatively low level of<br>programming experience, recommended<br>by ''Gou D et al.,, 2012''
| ? None identified
| ?<br>None identified
| ? None identified
| ?<br>None identified
| Partially 3rd party       tools e.g.         Visual Studio
| Partially 3rd party<br>tools e.g. Visual Studio
| Partially 3rd party       tools e.g.               Visual Studio
| Partially 3rd party<br> tools e.g. Visual Studio
| Yes
| Yes
| ? None identified
| ?<br>None identified
| ? None identified
| ?<br>None identified
| ? None identified
| ?<br>None identified
|-
|-
| rowspan="3"
| rowspan="3"
| Programming  language for the framework SDK/wrapper code
| Programming  language for<br>the framework SDK/wrapper code
| BMI functions can be written in C, C++, Fortran (all years), Java and Python. CMT conversion done by CSDMS staff
| BMI functions can be written<br>in C, C++, Fortran (all years),<br>Java and Python. CMT conversion<br>done by CSDMS staff
| Same as 1.0 except for the documentation no longer mentions Fortran and Java wrapping tool not available yet
| Same as 1.0 except for<br>the documentation no longer<br>mentions Fortran and Java<br>wrapping tool not available yet
| C# Java? And supported by XML
| C# Java?<br>And supported by XML
| C# Java? And supported by XML
| C# Java?<br>And supported by XML
| .NET (C# & VB.NET)
| .NET (C# & VB.NET)
| Fortran
| Fortran
| Fortran 77, Fortran 90 and C
| Fortran 77,<br>Fortran 90 and C
| ?
| ?
|-
|-
| Model Languages supported This is a list of  languages that pre-compiled models/components can be written in.
| Model Languages supported<br>This is a list of  languages<br>that pre-compiled models/components<br>can be written in.
| C, Fortran (77, 95, 2003), C++, Java, Python
| C, Fortran (77, 95, 2003),<br>C++, Java, Python
| C, Fortran   (77, 95, 2003), C++, Java, Python
| C, Fortran (77, 95, 2003),<br>C++, Java, Python
| C# Fortran, C, C++ Fortran, Pascal (And via 3rd party SSW: MATLAB. Scilab Python)
| C# Java, C, C++ Fortran,<br>Pascal (And via 3rd party SSW: MATLAB. Scilab Python)
| C# Fortran, C, C++ Fortran, Pascal (SSW for 2.0 planned)
| C# Java, C, C++ Fortran,<br>Pascal (SSW for 2.0 planned)
| R, Python, TIME R, Python, TIME Also includes support for ArcGIS and related spatial functions
| R, Python, TIME<br>Also includes support for ArcGIS and related spatial functions
| Fortran
| Fortran
| Fortran 77, Fortran 90 and C
| Fortran 77,<br>Fortran 90 and C
| ?
| ?
|-
|-
| Invasiveness How much a model needs to be altered before it can be used in the framework (Jagers, 2010; Lloyd et al., 2011)
| Invasiveness<br>How much a model needs to be altered<br>before it can be used in the<br>framework (Jagers, 2010; Lloyd et al., 2011)
| rowspan="4" | Both OpenMI and CSDMS use similar methods to prepare components for use in each framework, namely implement methods such as initialise, run, describe and finalise. It was not clear from this initial investigation if one was much more invasive than the other.
| rowspan="4" | Both OpenMI and CSDMS use similar methods<br>to prepare components for use in each<br>framework, namely implement methods<br>such as initialise, run, describe<br>and finalise. It was not clear<br>from this initial investigation if<br>one was much more invasive than the other.
| ?
| ?
| High, this framework   is designed for a set  of fixed models representing the  key earth systems
| High, this framework is<br>designed for a set  of<br>fixed models representing the  key<br>earth systems
| Low- intrusiveness, portability and flexibility are key design concepts
| Low- intrusiveness,<br>portability and flexibility<br>are key design concepts
| Low
| Low
|-
|-
| rowspan="5"  
| rowspan="5" |
| Time stepping
| Time stepping
| Yes
| Yes
| Yes
| Yes
Line 117: Line 116:
| Yes
| Yes
| Yes
| Yes
| ? Most descriptions involve linear one direction workflows
| ?<br>Most descriptions involve<br>linear one direction workflows
| Yes
| Yes
| Yes
| Yes
| Yes
| Yes
|-
|-
| “Non-temporal data source” e.g. 3D model files or database
| “Non-temporal data source”<br>e.g. 3D model files or database
| Yes 68       datasets available       on the       CSDMS portal 25/10/2013
| Yes<br>68 datasets available on<br>the CSDMS portal 25/10/2013
| Yes
| Yes
| No
| No
| Yes
| Yes
| Yes
| Yes
| Yes Typically   two dimensional gridded datasets       are passed
| Yes<br>Typically two dimensional<br>gridded datasets are passed
| Yes
| Yes
| Yes
| Yes
|-
|-
| Model metadata The framework supports the capture of metadata, ideally at least partially automated
| Model metadata<br>The framework supports the capture<br>of metadata, ideally at least<br>partially automated
| colspan="2" | Yes Via a model metadata file XML
| colspan="2" | Yes Via a model metadata file XML
| colspan="2" | Yes OMI XML file defines exchange items, more descriptive information can also be captured
| colspan="2" | Yes OMI XML file defines exchange<br>items, more descriptive<br>information can also be captured
| ?
| ?
| Yes
| Yes
Line 146: Line 145:
| Yes
| Yes
| ?
| ?
| ? None identified
| ?<br>None identified
| ? None identified
| ?<br>None identified
| ? None identified
| ?<br>None identified
|-
|-
| rowspan="3" | Utilities
| rowspan="3" | Utilities
| Spatial conversion
| Spatial conversion
| colspan="2" | Yes Grid based
| colspan="2" | Yes<br>Grid based
| colspan="2" | Yes
| colspan="2" | Yes
| Yes
| Yes
| Yes Grid based
| Yes<br>Grid based
| Yes Grid based
| Yes<br>Grid based
| Yes
| Yes
|-
|-
Line 173: Line 172:
| Yes
| Yes
| Yes
| Yes
| No, models need  to  use
| No, models<br>need  to  use
| Via external libraries?
| Via external<br>libraries?
| Yes
| Yes
|-
|-
|
| rowspan="2" |  
|
|
|
|
Line 188: Line 187:
|
|
|-
|-
|
| Semantic model attribution
| Semantic model attribution
| ?
| ?
Line 200: Line 198:
|-
|-
|
|
| Scientific performance1
| Scientific performance<sup>1</sup>
| ?
| ?
| ?
| ?
Line 211: Line 209:
|-
|-
|
|
| Implementation ready? (Eg. SDK available)
| Implementation ready?<br>(Eg. SDK available)
| Yes
| Yes
| No?
| No?
| Yes
| Yes
| Yes
| Yes
| Ye name="_bookmark0"s2
| Yes<sup>2</sup>
| Yes although limited scope for the work we undertake
| Yes although limited<br>scope for the work we undertake
| Yes
| Yes
| No
| No
|}
|}


<sup>1</sup>There is a danger that we confuse the evaluation of the technology and the scientific robustness of the solution, especially when the solution is relatively new or designed for another purpose.


1 There is a danger that we confuse the evaluation of the technology and the scientific robustness of the solution, especially when the solution is relatively new or designed for another purpose.
<sup>2</sup>Project Trident is a now open source project, originally set up by Microsoft, it is described as ‘a scientific workflow workbench’. The most readily available information on an implementation of the Trident software came from publications and website for the ‘Hydrologists Workbench’, an implementation developed by CSIRO, Australia. The Hydrologists Workbench was used as a proxy for the Trident software when carrying out feature analysis for the matrix, it is therefore possible that some features identified are not fully developed in the original version of the Trident code available via CodePlex.
 
2 Project Trident is a now open source project, originally set up by Microsoft, it is described as ‘a scientific workflow workbench’. The most readily available information on an implementation of the Trident software came from publications and website for the ‘Hydrologists Workbench’, an implementation developed by CSIRO, Australia. The Hydrologists Workbench was used as a proxy for the Trident software when carrying out feature analysis for the matrix, it is therefore possible that some features identified are not fully developed in the original version of the Trident code available via CodePlex.


[[category:OR/14/022 Couplers for linking environmental models: Scoping study and potential next steps | 05]]
[[category:OR/14/022 Couplers for linking environmental models: Scoping study and potential next steps | 05]]

Revision as of 12:35, 22 May 2015

Barkwith A K A P, Pachocka M, Watson C, Hughes A G. 2014. Couplers for linking environmental models: Scoping study and potential next steps. British Geological Survey Internal Report, OR/14/022.

Table 1 is a first attempt at a high level summary of selected coupling technologies which serves as a means to quickly compare some of the key features associated with couplers. Dunlap et al., (2013) describe an approach to assessing coupler features through feature analysis and the creation of feature diagrams, this approach may be considered as a subsequent, more detailed, analysis was required. Carrying out a feature analysis based approach would be much easier to achieve after the couplers described in the following matrix have been whittled down to a short list of candidates.

The technologies compared in the matrix were specifically identified as being relevant, or potentially relevant, to current BGS activities.

Table 1. Comparison of coupling approaches

Table 1 Comparison of coupling approaches
CSDMS 1.0 CSDMS 2.0 OpenMI 1.4 OpenMI 2.0 Trident2 CESM-CPL 7 OASIS3-MCT_2.0 FLUME
Background Open Source Yes Yes Yes Yes Yes
Community led since 2013, previously an MS initiative
Yes
Subject to the IPR rules of embedded software
Yes
(LGPL)
No
Primary research community Surface dynamics Surface dynamics + ? Water Water
+ extra env. disciplines
Oceanography Climate Climate Climate
Central model repository Yes
CSDMS portal
Yes
CSDMS portal
Yes
but optional FluidEarth
?
Could use FluidEarth but no 2.0 models there yet
Some models held on a site called my
Experiment and CSIRO have their own repository
No No ?
Functionality and implementation details Visual workflow
configuration interface
Yes
(CMT)
Yes
(CMT)
Yes
(FluidEarth)
Yes
(FluidEarth)
Yes Yes
(GUI)
Yes
(GUI)
Yes
(GUI)
Visual ‘programming’ interface
Tools for creating model components
that require relatively low level of
programming experience, recommended
by Gou D et al.,, 2012
?
None identified
?
None identified
Partially 3rd party
tools e.g. Visual Studio
Partially 3rd party
tools e.g. Visual Studio
Yes ?
None identified
?
None identified
?
None identified
rowspan="3" Programming language for
the framework SDK/wrapper code
BMI functions can be written
in C, C++, Fortran (all years),
Java and Python. CMT conversion
done by CSDMS staff
Same as 1.0 except for
the documentation no longer
mentions Fortran and Java
wrapping tool not available yet
C# Java?
And supported by XML
C# Java?
And supported by XML
.NET (C# & VB.NET) Fortran Fortran 77,
Fortran 90 and C
?
Model Languages supported
This is a list of languages
that pre-compiled models/components
can be written in.
C, Fortran (77, 95, 2003),
C++, Java, Python
C, Fortran (77, 95, 2003),
C++, Java, Python
C# Java, C, C++ Fortran,
Pascal (And via 3rd party SSW: MATLAB. Scilab Python)
C# Java, C, C++ Fortran,
Pascal (SSW for 2.0 planned)
R, Python, TIME
Also includes support for ArcGIS and related spatial functions
Fortran Fortran 77,
Fortran 90 and C
?
Invasiveness
How much a model needs to be altered
before it can be used in the
framework (Jagers, 2010; Lloyd et al., 2011)
Both OpenMI and CSDMS use similar methods
to prepare components for use in each
framework, namely implement methods
such as initialise, run, describe
and finalise. It was not clear
from this initial investigation if
one was much more invasive than the other.
? High, this framework is
designed for a set of
fixed models representing the key
earth systems
Low- intrusiveness,
portability and flexibility
are key design concepts
Low
Time stepping Yes Yes Yes Yes ? Yes Yes Yes
Two way model communication ? ? Yes Yes ?
Most descriptions involve
linear one direction workflows
Yes Yes Yes
“Non-temporal data source”
e.g. 3D model files or database
Yes
68 datasets available on
the CSDMS portal 25/10/2013
Yes No Yes Yes Yes
Typically two dimensional
gridded datasets are passed
Yes Yes
Model metadata
The framework supports the capture
of metadata, ideally at least
partially automated
Yes Via a model metadata file XML Yes OMI XML file defines exchange
items, more descriptive
information can also be captured
? Yes Yes Yes
Qualitative model exchange items ? ? No Yes ? ?
None identified
?
None identified
?
None identified
Utilities Spatial conversion Yes
Grid based
Yes Yes Yes
Grid based
Yes
Grid based
Yes
Temporal scale conversion Yes Yes ? Yes Yes
Unit conversions Yes Yes Yes Yes Yes No, models
need to use
Via external
libraries?
Yes
standard units
Semantic model attribution ? Yes ? ? ? No ? ?
Scientific performance1 ? ? ? ? ? ? ? ?
Implementation ready?
(Eg. SDK available)
Yes No? Yes Yes Yes2 Yes although limited
scope for the work we undertake
Yes No

1There is a danger that we confuse the evaluation of the technology and the scientific robustness of the solution, especially when the solution is relatively new or designed for another purpose.

2Project Trident is a now open source project, originally set up by Microsoft, it is described as ‘a scientific workflow workbench’. The most readily available information on an implementation of the Trident software came from publications and website for the ‘Hydrologists Workbench’, an implementation developed by CSIRO, Australia. The Hydrologists Workbench was used as a proxy for the Trident software when carrying out feature analysis for the matrix, it is therefore possible that some features identified are not fully developed in the original version of the Trident code available via CodePlex.