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

From MediaWiki
Jump to navigation Jump to search
Dbk (talk | contribs)
Dbk (talk | contribs)
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
__notoc__
__notoc__
{{OR/14/022}}
{{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.
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)<ref name="Dunlap">DUNLAP, R, RUGABER, S and LEO, M. 2013. A feature model of coupling technologies for Earth System Models. ''Computers and Geosciences, ''53, 13–20. </ref> 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.
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 ==


{| class="wikitable" style="vertical-align:top;"
{| class="wikitable" style="vertical-align:top;"
Line 40: Line 38:
| Climate
| Climate
| Climate
| Climate
|-
|- style="vertical-align:top;"
| Central model repository
| Central model repository
| Yes<br>CSDMS portal
| Yes<br>CSDMS portal
Line 50: Line 48:
| No
| No
| ?
| ?
|-
|- style="vertical-align:top;"
| rowspan="2" | Functionality and implementation details
| rowspan="2" | Functionality and implementation details
| Visual workflow<br>configuration interface
| Visual workflow<br>configuration interface
Line 61: Line 59:
| Yes<br>(GUI)
| Yes<br>(GUI)
| Yes<br>(GUI)
| Yes<br>(GUI)
|-
|- style="vertical-align:top;"
| 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''
| 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''
| ?<br>None identified
| ?<br>None identified
Line 71: Line 69:
| ?<br>None identified
| ?<br>None identified
| ?<br>None identified
| ?<br>None identified
|-
|- style="vertical-align:top;"
| rowspan="3" |
| rowspan="3" |
| Programming  language for<br>the framework SDK/wrapper code
| Programming  language for<br>the framework SDK/wrapper code
Line 82: Line 80:
| Fortran 77,<br>Fortran 90 and C
| Fortran 77,<br>Fortran 90 and C
| ?
| ?
|-
|- style="vertical-align:top;"
| Model Languages supported<br>This is a list of  languages<br>that pre-compiled models/components<br>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),<br>C++, Java, Python
| C, Fortran (77, 95, 2003),<br>C++, Java, Python
Line 92: Line 90:
| Fortran 77,<br>Fortran 90 and C
| Fortran 77,<br>Fortran 90 and C
| ?
| ?
|-
|- style="vertical-align:top;"
| 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)
| Invasiveness<br>How much a model needs to be altered<br>before it can be used in the<br>framework (Jagers, 2010<ref name="Jagers">JAGERS, H R A. Linking Data, Models and Tools: An Overview. International Congress on Environmental Modelling and Software Modelling for Environment's Sake, Fifth Biennial Meeting 2010 Ottawa, Canada. </ref>; Lloyd et al., 2011<ref name="Lloyd">LLOYD, W, DAVID, O, ASCOUGH II, J C, ROJAS, K W, CARLSON, J R, LEAVESLEY, G H, KRAUSE, P, GREEN, T R and AHUJA, L R. 2011. Environmental modeling framework invasiveness: Analysis and implications. ''Environmental Modelling & Software 2'' 6, 1240–1250. </ref>)
| colspan="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.
| colspan="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.
| ?
| ?
| High, this framework is<br>designed for a set  of<br>fixed models representing the  key<br>earth systems
| High, this framework is<br>designed for a set  of<br>fixed models representing the  key<br>earth systems
| Low- intrusiveness,<br>portability and flexibility<br>are key design concepts
| Low- intrusiveness,<br>portability and flexibility<br>are key design concepts
| Low
| Low
|-
|- style="vertical-align:top;"
| rowspan="5" |  
| rowspan="5" |  
| Time stepping
| Time stepping
Line 110: Line 108:
| Yes
| Yes
| Yes
| Yes
|-
|- style="vertical-align:top;"
| Two way model communication
| Two way model communication
| ?
| ?
Line 120: Line 118:
| Yes
| Yes
| Yes
| Yes
|-
|- style="vertical-align:top;"
| “Non-temporal data source”<br>e.g. 3D model files or database
| “Non-temporal data source”<br>e.g. 3D model files or database
| Yes<br>68 datasets available on<br>the CSDMS portal 25/10/2013
| Yes<br>68 datasets available on<br>the CSDMS portal 25/10/2013
Line 130: Line 128:
| Yes
| Yes
| Yes
| Yes
|-
|- style="vertical-align:top;"
| Model metadata<br>The framework supports the capture<br>of metadata, ideally at least<br>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
Line 138: Line 136:
| Yes
| Yes
| Yes
| Yes
|-
|- style="vertical-align:top;"
| Qualitative model exchange items
| Qualitative model exchange items
| ?
| ?
Line 148: Line 146:
| ?<br>None identified
| ?<br>None identified
| ?<br>None identified
| ?<br>None identified
|-
|- style="vertical-align:top;"
| rowspan="3" | Utilities
| rowspan="3" | Utilities
| Spatial conversion
| Spatial conversion
Line 157: Line 155:
| Yes<br>Grid based
| Yes<br>Grid based
| Yes
| Yes
|-
|- style="vertical-align:top;"
| Temporal scale conversion
| Temporal scale conversion
| colspan="2" | Yes
| colspan="2" | Yes
Line 165: Line 163:
| Yes
| Yes
| Yes
| Yes
|-
|- style="vertical-align:top;"
| Unit conversions
| Unit conversions
| Yes
| Yes
Line 175: Line 173:
| Via external<br>libraries?
| Via external<br>libraries?
| Yes
| Yes
|-
|- style="vertical-align:top;"
| rowspan="2" |  
| rowspan="2" |  
|
|
Line 186: Line 184:
|
|
|
|
|-
|- style="vertical-align:top;"
| Semantic model attribution
| Semantic model attribution
| ?
| ?
Line 196: Line 194:
| ?
| ?
| ?
| ?
|-
|- style="vertical-align:top;"
|
|
| Scientific performance<sup>1</sup>
| Scientific performance<sup>1</sup>
Line 207: Line 205:
| ?
| ?
| ?
| ?
|-
|- style="vertical-align:top;"
|
|
| Implementation ready?<br>(Eg. SDK available)
| Implementation ready?<br>(Eg. SDK available)
Line 223: Line 221:


<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.
<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.
==References==


[[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]]

Latest revision as of 14:50, 7 August 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)[1] 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
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
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[2]; Lloyd et al., 2011[3])
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.

References

  1. DUNLAP, R, RUGABER, S and LEO, M. 2013. A feature model of coupling technologies for Earth System Models. Computers and Geosciences, 53, 13–20.
  2. JAGERS, H R A. Linking Data, Models and Tools: An Overview. International Congress on Environmental Modelling and Software Modelling for Environment's Sake, Fifth Biennial Meeting 2010 Ottawa, Canada.
  3. LLOYD, W, DAVID, O, ASCOUGH II, J C, ROJAS, K W, CARLSON, J R, LEAVESLEY, G H, KRAUSE, P, GREEN, T R and AHUJA, L R. 2011. Environmental modeling framework invasiveness: Analysis and implications. Environmental Modelling & Software 2 6, 1240–1250.