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

From MediaWiki
Jump to navigation Jump to search
Dbk (talk | contribs)
No edit summary
Dbk (talk | contribs)
Line 73: Line 73:
|}
|}


{| cellpadding="0" cellspacing="0"
{| class="wikitable"
| !--[endif]--> <div>
|+ Table 1 Comparison of coupling approaches
{| border="0" cellspacing="0" cellpadding="0"
| rowspan="2" |
| '''CSDMS'''''' ''''''1.0'''
| '''CSDMS'''''' ''''''2.0'''
|
|
|
| '''CSDMS 1.0'''
| '''CSDMS 2.0'''
| '''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 '''[[file:///W:/PP/GraphicCommunications/Graphic%20Design/Live_Jobs/2014%20Reports/2014/14022/OR14022.docx#_bookmark0 '''2''']]
|
| '''CESM-CPL 7'''
|
| '''OASIS3-MCT_2.0'''
| '''CESM-CPL'''''' ''''''7'''
| '''OASIS3-'''
|
| '''FLUME'''
| '''FLUME'''
|-
|-
|
| 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
| '''MCT_2.0'''
| ?
|
|
|-
|-
| Programming language  for  the
| Model Languages supported This is a list of languages that pre-compiled models/components can be written in.
| BMI functions
| C, Fortran (77, 95, 2003), C++, Java, Python
| Same      as
| C, Fortran  (77, 95, 2003), C++, Java, Python
| 1.0
| C# Fortran, C, C++ Fortran, Pascal (And via 3rd party SSW: MATLAB. Scilab Python)
| C#,
| C# Fortran, C, C++ Fortran, Pascal (SSW for 2.0 planned)
| C#,
| R, Python, TIME R, Python, TIME Also includes support for ArcGIS and related spatial functions
| .NET
| (C#
| &
| Fortran
| Fortran
| Fortran
| Fortran 77, Fortran 90 and C
| 77,
| ?
| ?
|-
|-
| framework SDK/wrapper code
| Invasiveness How much a model needs to be altered before it can be used in the framework (Jagers, 2010; Lloyd et al., 2011)
| can                be
| 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.
| except      for
| ?
| the
| 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
| VB.NET)
|
|
|
| Fortran
| 90
|
|}
</div> !--[if !mso]-->
|}
!--[if !vml]-->
|}
!--[if gte vml 1]>      !--[if !vml]--> !--[endif]-->Java?
 
 
 
 
 
 
 
 
 
 
 
And supported  by XML
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
C#,
 
 
 
Java, C, C++,
 
 
 
Fortran,
 
 
 
Pascal
 
 
 
 
 
 
 
 
 
 
 
(''And via 3rd party SSW: ''MATLAB,
 
 
 
Scilab, Python)
 
<br clear="all">
 
 
 
Java?
 
 
 
 
 
 
 
 
 
 
 
And supported  by XML
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
C#,
 
 
 
Java, C, C++,
 
 
 
Fortran,
 
 
 
Pascal
 
 
 
 
 
 
 
 
 
 
 
(SSW  for  2.0 planned)
 
<br clear="all">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
R, Python, TIME
 
 
 
 
 
 
 
 
 
 
 
Also          includes support                              for
 
 
 
ArcGIS              and
 
 
 
related          spatial functions
 
<br clear="all">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fortran
 
<br clear="all">
 
 
 
and C
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fortran      77,    ?
 
 
 
Fortran        90 and C
</div> <br clear="all">  <div>
!--[if gte vml 1]>                                                        !--[if !vml]-->[[File:clip_image001.gif|1026px]]!--[endif]-->Invasiveness
 
 
 
How much a model needs to be altered before it can be used in the framework
 
 
 
''(Jagers,'''' ''''2010; Lloyd et al., 2011)''
 
<br clear="all">
 
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.
 
<br clear="all">
 
?                                    High,           this
 
 
 
framework  is designed for a set  of  fixed models representing the  key  earth systems
 
<br clear="all">
 
Low- intrusiveness, portability and flexibility are     key
 
 
 
design concepts
 
<br clear="all">
 
Low
</div> <br clear="all">  <div>
{| border="0" cellspacing="0" cellpadding="0"
|
|
| '''CSDMS'''''' ''''''1.0'''
| '''CSDMS'''''' ''''''2.0'''
| '''OpenMI 1.4'''
| '''OpenMI 2.0'''
| '''Trident'''''' '''[file:///W:/PP/GraphicCommunications/Graphic%20Design/Live_Jobs/2014%20Reports/2014/14022/OR14022.docx#_bookmark0 '''2''']
| '''CESM-CPL'''''' ''''''7'''
| '''OASIS3-'''''' ''''''MCT_2.0'''
| '''FLUME'''
|-
|-
| rowspan="5" |
| rowspan="5"  
| Time stepping
| Time stepping
| Yes
| Yes
| Yes
| Yes
Line 459: Line 131:
| Yes
| Yes
| Yes
| Yes
| ?
| ? Most descriptions involve linear one direction workflows
 
 
 
Most descriptions involve linear one direction workflows
| Yes
| Yes
| Yes
| Yes
Line 469: Line 137:
|-
|-
| “Non-temporal data source” e.g. 3D model files or database
| “Non-temporal data source” e.g. 3D model files or database
| Yes
| Yes 68      datasets available      on the        CSDMS portal 25/10/2013
 
 
 
68      datasets available      on the        CSDMS portal 25/10/2013
| Yes
| Yes
| No
| No
| Yes
| Yes
| Yes
| Yes
| Yes
| Yes Typically  two dimensional gridded datasets      are passed
 
 
 
Typically  two dimensional gridded datasets      are passed
| Yes
| Yes
| Yes
| Yes
|-
|-
| Model metadata
| Model metadata The framework supports the capture of metadata, ideally at least partially automated
 
| 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
 
The framework supports the capture of metadata, ideally at least partially automated
| 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
| ?
| ?
| Yes
| Yes
Line 506: Line 154:
| Yes
| Yes
|-
|-
| Qualitative                         model                         exchange items
| Qualitative model exchange items
| ?
| ?
| ?
| ?
Line 512: Line 160:
| Yes
| Yes
| ?
| ?
| ?
| ? None identified
 
| ? None identified
 
| ? None identified
 
None identified
| ?
 
 
 
None identified
| ?
 
 
 
None identified
|-
|-
| rowspan="3" | Utilities
| rowspan="3" | Utilities
| Spatial conversion
| Spatial conversion
| colspan="2" | Yes
| colspan="2" | Yes Grid based
 
 
 
Grid based
| colspan="2" | Yes
| colspan="2" | Yes
| Yes
| Yes
| Yes
| Yes Grid based
 
| Yes Grid based
 
 
Grid based
| Yes
 
 
 
Grid based
| Yes
| Yes
|-
|-
Line 563: Line 187:
| Yes
| Yes
| Yes
| Yes
| No,       models need  to  use
| No, models need  to  use
| Via   external libraries?
| Via external libraries?
| Yes
| Yes
|}
</div> <br clear="all">  <div>
{| border="0" cellspacing="0" cellpadding="0"
|
|
| '''CSDMS'''''' ''''''1.0'''
| '''CSDMS'''''' ''''''2.0'''
| '''OpenMI 1.4'''
| '''OpenMI 2.0'''
| '''Trident'''''' '''[file:///W:/PP/GraphicCommunications/Graphic%20Design/Live_Jobs/2014%20Reports/2014/14022/OR14022.docx#_bookmark0 '''2''']
| '''CESM-CPL'''''' ''''''7'''
| '''OASIS3-'''''' ''''''MCT_2.0'''
| '''FLUME'''
|-
|-
|
|
Line 624: Line 235:
| No
| No
|}
|}
!--[if mso & !supportInlineShapes & supportFields]> SHAPE  \* MERGEFORMAT ![endif]-->!--[if gte vml 1]>      !--[if !vml]-->[[File:clip_image002.gif|194px]]!--[if gte vml 1]>                  ![endif]-->!--[if mso & !supportInlineShapes & supportFields]>  ![endif]-->




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


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.


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.
</div>
[[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:23, 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 Trident [file:///W:/PP/GraphicCommunications/Graphic%20Design/Live_Jobs/2014%20Reports/2014/14022/OR14022.docx#_bookmark0 2] 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 myExperiment 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
Table 1 Comparison of coupling approaches
CSDMS 1.0 CSDMS 2.0 OpenMI 1.4 OpenMI 2.0 Trident File:///W:/PP/GraphicCommunications/Graphic Design/Live Jobs/2014 Reports/2014/14022/OR14022.docx CESM-CPL 7 OASIS3-MCT_2.0 FLUME
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# Fortran, C, C++ Fortran, Pascal (And via 3rd party SSW: MATLAB. Scilab Python) C# Fortran, C, C++ Fortran, Pascal (SSW for 2.0 planned) R, Python, TIME 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
rowspan="5" 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 Ye name="_bookmark0"s2 Yes although limited scope for the work we undertake Yes No


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.

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.