OR/14/022 Comparison of approaches: Difference between revisions
No edit summary |
|||
(6 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. | ||
{| class="wikitable" style="vertical-align:top;" | |||
{| class="wikitable" | |||
|+ Table 1 Comparison of coupling approaches | |+ Table 1 Comparison of coupling approaches | ||
| | | | ||
Line 19: | Line 17: | ||
| '''OASIS3-MCT_2.0''' | | '''OASIS3-MCT_2.0''' | ||
| '''FLUME''' | | '''FLUME''' | ||
|- | |- style="vertical-align:top;" | ||
| rowspan="3" | Background | | rowspan="3" | Background | ||
| Open Source | | Open Source | ||
Line 30: | Line 28: | ||
| Yes<br>(LGPL) | | Yes<br>(LGPL) | ||
| No | | No | ||
|- | |- style="vertical-align:top;" | ||
| Primary research community | | Primary research community | ||
| Surface dynamics | | Surface dynamics | ||
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 | | 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.
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
- ↑ DUNLAP, R, RUGABER, S and LEO, M. 2013. A feature model of coupling technologies for Earth System Models. Computers and Geosciences, 53, 13–20.
- ↑ 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.
- ↑ 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.