Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ Contributors
* Richard Barnes
* Michael Galloy
* Julian Hofer
* Rolf Hut
* Eric Hutton
* Allen Lee
* Eric Morway
Expand Down
9 changes: 6 additions & 3 deletions bmi.sidl
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
//
// The Basic Model Interface (BMI)
//
package csdms version 2.0 {
package csdms version 2.1-dev.0 {
interface bmi {

// Initialize, run, finalize (IRF)
// Model and BMI metadata
int get_bmi_version(out string version);

// Model control: initialize, run, finalize (IRF)
int initialize(in string config_file);
int update();
int update_until(in double time);
int finalize();

// Exchange items
// Model information
int get_component_name(out string name);
int get_input_item_count(out int count);
int get_output_item_count(out int count);
Expand Down
30 changes: 30 additions & 0 deletions docs/source/bmi.metadata_funcs.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
.. _metadata_funcs:

Model and BMI metadata functions
--------------------------------

These functions supply metadata about a model and its BMI.

.. _get_bmi_version:

*get_bmi_version*
.................

.. code-block:: java

/* SIDL */
int get_bmi_version(out string version);

.. versionadded:: 2.1

This function supplies the version of BMI implemented as a string.

**Implementation notes**

* The version must be >=2.1.
* In C and Fortran, the *version* argument is a a character array, and an integer
status code indicating success (zero) or failure (nonzero) is returned.
* In C++, Java, and Python, this argument is omitted, and a string -- a basic type
in these languages -- is returned from the function.

[:ref:`metadata_funcs` | :ref:`basic_model_interface`]
3 changes: 3 additions & 0 deletions docs/source/bmi.spec.rst
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ The Basic Model Interface
The functions that comprise the Basic Model Interface
can be grouped into categories:

* :ref:`metadata_funcs`
* :ref:`control_funcs`
* :ref:`info_funcs`
* :ref:`var_funcs`
Expand All @@ -92,6 +93,7 @@ grouped by functional category.
============================== =========================================
Function Description
============================== =========================================
:ref:`get_bmi_version` Version of the BMI implemented.
:ref:`initialize` Perform startup tasks for the model.
:ref:`update` Advance model state by one time step.
:ref:`update_until` Advance model state until the given time.
Expand Down Expand Up @@ -135,6 +137,7 @@ grouped by functional category.
:ref:`get_grid_nodes_per_face` Get the number of nodes for each face.
============================== =========================================

.. include:: bmi.metadata_funcs.rst
.. include:: bmi.control_funcs.rst
.. include:: bmi.info_funcs.rst
.. include:: bmi.var_funcs.rst
Expand Down