OR/14/022 Comparison of approaches: Difference between revisions
No edit summary |
|||
(9 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 15: | Line 13: | ||
| '''OpenMI 1.4''' | | '''OpenMI 1.4''' | ||
| '''OpenMI 2.0''' | | '''OpenMI 2.0''' | ||
| '''Trident | | '''Trident<sup>2</sup>''' | ||
| '''CESM-CPL 7''' | | '''CESM-CPL 7''' | ||
| '''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 26: | Line 24: | ||
| 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 | | Yes<br>Subject to the IPR rules of embedded software | ||
| Yes (LGPL) | | Yes<br>(LGPL) | ||
| No | | No | ||
|- | |- style="vertical-align:top;" | ||
| Primary research community | | Primary research community | ||
| Surface dynamics | | Surface dynamics | ||
| Surface | | Surface dynamics + ? | ||
| Water | | Water | ||
| Water + extra env. disciplines | | Water<br>+ extra env. disciplines | ||
| Oceanography | | Oceanography | ||
| Climate | | Climate | ||
| Climate | | Climate | ||
| Climate | | Climate | ||
|- | |- style="vertical-align:top;" | ||
| 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 | | Some models held on a site called my<br>Experiment and CSIRO have their own repository | ||
| No | | No | ||
| No | | No | ||
| ? | | ? | ||
|- | |- style="vertical-align:top;" | ||
| 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) | ||
|- | |- style="vertical-align:top;" | ||
| Visual ‘programming’ interface Tools for creating model components that require relatively low level of programming | | 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 | | Partially 3rd party<br>tools e.g. Visual Studio | ||
| Partially | | 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 | ||
| | |- style="vertical-align:top;" | ||
| rowspan="3" | | |||
| Programming language for<br>the framework SDK/wrapper code | |||
| 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<br>the documentation no longer<br>mentions Fortran and Java<br>wrapping tool not available yet | |||
| C# Java?<br>And supported by XML | |||
| C# Java?<br>And supported by XML | |||
| 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) | | .NET (C# & VB.NET) | ||
| Fortran | | Fortran | ||
| Fortran 77, Fortran 90 and C | | Fortran 77,<br>Fortran 90 and C | ||
| ? | | ? | ||
|- | |- style="vertical-align:top;" | ||
| 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 | | C, Fortran (77, 95, 2003),<br>C++, Java, Python | ||
| C# | | C# Java, C, C++ Fortran,<br>Pascal (And via 3rd party SSW: MATLAB. Scilab Python) | ||
| C# | | C# Java, C, C++ Fortran,<br>Pascal (SSW for 2.0 planned) | ||
| R, Python, TIME | | 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 | ||
| ? | | ? | ||
|- | |- style="vertical-align:top;" | ||
| 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<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 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 | | 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 | ||
|- | |- style="vertical-align:top;" | ||
| rowspan="5" | | rowspan="5" | | ||
| Time stepping | | Time stepping | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
Line 125: | Line 108: | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
|- | |- style="vertical-align:top;" | ||
| Two way model communication | | Two way model communication | ||
| ? | | ? | ||
Line 131: | Line 114: | ||
| 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 | ||
|- | |- style="vertical-align:top;" | ||
| “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 | | Yes<br>68 datasets available on<br>the CSDMS portal 25/10/2013 | ||
| Yes | | Yes | ||
| No | | No | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
| Yes Typically | | Yes<br>Typically two dimensional<br>gridded datasets are passed | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
|- | |- style="vertical-align:top;" | ||
| 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 | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
|- | |- style="vertical-align:top;" | ||
| Qualitative model exchange items | | Qualitative model exchange items | ||
| ? | | ? | ||
Line 160: | Line 143: | ||
| Yes | | Yes | ||
| ? | | ? | ||
| ? None identified | | ?<br>None identified | ||
| ? None identified | | ?<br>None identified | ||
| ? None identified | | ?<br>None identified | ||
|- | |- style="vertical-align:top;" | ||
| 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 | ||
|- | |- style="vertical-align:top;" | ||
| Temporal scale conversion | | Temporal scale conversion | ||
| colspan="2" | Yes | | colspan="2" | Yes | ||
Line 180: | Line 163: | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
|- | |- style="vertical-align:top;" | ||
| Unit conversions | | Unit conversions | ||
| Yes | | Yes | ||
Line 187: | Line 170: | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
| No, models need to use | | No, models<br>need to use | ||
| Via external libraries? | | Via external<br>libraries? | ||
| Yes | | Yes | ||
|- | |- style="vertical-align:top;" | ||
| | | rowspan="2" | | ||
| | | | ||
| | | | ||
Line 201: | Line 184: | ||
| | | | ||
| | | | ||
|- | |- style="vertical-align:top;" | ||
| Semantic model attribution | | Semantic model attribution | ||
| ? | | ? | ||
Line 212: | Line 194: | ||
| ? | | ? | ||
| ? | | ? | ||
|- | |- style="vertical-align:top;" | ||
| | | | ||
| Scientific | | Scientific performance<sup>1</sup> | ||
| ? | | ? | ||
| ? | | ? | ||
Line 223: | Line 205: | ||
| ? | | ? | ||
| ? | | ? | ||
|- | |- style="vertical-align:top;" | ||
| | | | ||
| Implementation ready? (Eg. SDK available) | | Implementation ready?<br>(Eg. SDK available) | ||
| Yes | | Yes | ||
| No? | | No? | ||
| Yes | | Yes | ||
| Yes | | Yes | ||
| | | 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. | |||
<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.