You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

See also: OATC Wiki Home

Date: April 8.6 - 11.2, 2009
Venue:Deltares , Rotterdamseweg 185, Delft, The Netherlands

Participants:

Rob Knapen, Alterra, Wageningen UR (Rob.Knapen@wur.nl)
Standa Vanecek, DHI (s.vanecek@dhi.cz)
Adrian Harper, Wallingford Software (adrian.harper@wallingfordsoftware.com)
Stef Hummel, Deltares (stef.hummel@deltares.nl)
~don, Deltares (gennadii.donchyts@deltares.nl)
~jnh@dhigroup.com Johan Hartnack , DHI (jnh@dhigroup.com)
Peter Schade, Bundesanstalt fuer Wasserbau (peter.schade@baw.de)

Apologies:
Jesper Grooss, DHI (jgr@dhigroup.com)
Jan Gregersen, LicTek, (Gregersen@LicTek.dk)

Documents:

http://www.openmi.org/
http://sourceforge.net/projects/openmi
wiki.openmi.org

Table of contents

agenda

1. Minutes from previous OATC meeting

1.1 Status of the Linux test

1.2 Release 1.4.1

1.3 www.OpenMI.org and wiki.OpenMI.org

2. Status of the implementation .NET

2.1 Changest to the standard

2.2 Backbone

2.3 Buffer

2.4 Time interpolation Decorator

2.5 GUI

2.6 SimpleRiver Model - running in GUI

2.7 OpenMIException : Exception - sugestions

2.7 OpenMI 2.0 wrapper around OpenMI 1.4 Components

3 Status of the Java implementation

4 Pending from previous meetings

  1. Question: what does isAvailable() mean in case of multiple consumers. Do all consumers need to have the same time(s)?
    1. Leave in for now, review after more implementation, one suggestion of modification bool isAvailable(whosAsking);
    2. (warning) Will be discussed later during the meeting, Stef will show an example of using isAvailable(whosAsking);
  • We will introduce a boolean argument that indicates whether the component should run in a pull mode (like in OpenMI 1.4) or in loop mode
    : Discuss component operation mode here - comment from Peter Gijsbers need to be discussed
  • "string Validate()" / "bool IsValid(IExchangeItem item)" / "IsAvailable()", etc.
    • (warning) to be reviewed at this meeting
  • When we get loops in the compositions - we have to tell which component will be first! In the new GUI, we will let the user indicate the 'Start up component'.
     
  • IArgument needs a mechanism for identifying the type of argument e.g. File, Path, int double etc Very usful for providing customised GUI functionality
    • (question) Adrian's proposal is below
      • namespace OpenMI.Standard
        {
            public enum EArgType
            {
                String = 0, // default
                Bool,
                Int,
                Double,
                Path, // presummed to exist and accessable
                FilePath, // presummed to exist and accessable
                PathNew,
                FilePathNew,
                XML, // Rob: can be used together with a schema for complex argument data
                MIME, // Rob: might be useful to pass in images, or text documents, etc.
            }
        
            /// <summary>
            /// The IArgument interface defines a key - value pair. If the property ReadOnly is
            /// false the value is editable otherwise it is read-only.
            /// </summary>
            public interface IArgument : IDescribable
            {
                /// <summary>
                /// Type that string value represents and can be converted to
                /// </summary>
                EArgType ValueType { get; }
        
        	/// <summary>
                /// The key (string) in key-value pair.
        	/// </summary>
        	string Key {get;}
        
        	/// <summary>
                /// <para>The value (double) in key-value pair.</para>
                ///
                /// <para>If the ReadOnly property is true and the property is attempted to be changed
                /// from outside an exception must be thrown.</para>
        	/// </summary>
        	string Value { get; set; }
        
        	/// <summary>
                /// Defines whether the Values property may be edited from outside.
        	/// </summary>
        	bool ReadOnly {get;}
            }
        }
        

5. Release 2.0 plan

5.1. Documentation / basic / changes

5.2. Alpha release

5.3. External review and further migration of models

5.4. Migration of commercial models and documentation

5.3. Discusion

6. OATC Procedures

7. Miscellaneous issues

7.1 SourceForge clean up

Recently, I checked out the entire OpenMI source forge repository. This took forever, the size of the whole repository is 4.2GB. From this, 3.8GB is located in directories called "Wrappers", which is mainly code and data from HEC, RAS, CUAHI and MODFLOW. Long time ago we made a folder on the OpenMI source forge called MyOpenSource. The idea behind this directory was to have a place where people could put some code, that did not fit into the SDK, but still could be useful for OpenMI developers. Placing an entire model, data and binary files there is in my opinion too much. It is annoying to have so long download times when checking out and it may also add to some confusion, that the OpenMI repository mainly consists of various wrappers. My suggestion is to ask those responsible for the code in the wrappers directories to make their own repositories on source forge, where after we can remove all these files from the OpenMI repository. In order to make sure that people know about these important wrapper developments we could make a page on the wiki with a short description of the various projects and link to the location of the code.
Kind regards
Jan Gregersen

5.1. September OATC meeting in Hamburg?

  • Do the OATC members agree with a public talk?
  • Aim: Spreading the OpenMI in Germany
  • Target group: Developers
  • Tuesday afternoon, 9th of September

8. Tasks and unresolved issues

All tasks are handled by sourceForge. GOTO: OpenMI Tasks on source forge

9. Any other business

  • No labels