BMI: Difference between revisions
From CSDMS
m (Remove comment) |
m (Add brief description of get_var_type) |
||
Line 28: | Line 28: | ||
double get_end_time() | double get_end_time() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''GET_VAR_TYPE''': Return data type of a variable as a string. Some possible values are given in the following table. | |||
{| | |||
! align=left width=250 | BMI datatype | |||
! align=left width=150 | C datatype | |||
|- | |||
| BMI_CHAR | |||
| <tt>char</tt> | |||
|- | |||
| BMI_UNSIGNED_CHAR | |||
| <tt>unsigned char</tt> | |||
|- | |||
| BMI_INT | |||
| <tt>signed int</tt> | |||
|- | |||
| BMI_LONG | |||
| <tt>signed long int</tt> | |||
|- | |||
| BMI_UNSIGNED | |||
| <tt>unsigned int</tt> | |||
|- | |||
| BMI_UNSIGNED_LONG | |||
| <tt>unsigned long int</tt> | |||
|- | |||
| BMI_FLOAT | |||
| <tt>float</tt> | |||
|- | |||
| BMI_DOUBLE | |||
| <tt>double</tt> | |||
|- | |||
|} | |||
== Variable getters and setters == | == Variable getters and setters == |
Revision as of 19:32, 29 December 2011
CSDMS Basic Modeling Interface (version 1.0)
IRF Functions
void initialize (in string config_file)
void update (in double dt) // Advance model variables by time interval, dt (dt=-1 means use model time step)
void finalize ()
void run_model (in string config_file) // Do a complete model run. Not needed for CMI.
Model description
array<string> get_input_var_names()
array<string> get_output_var_names()
string get_attribute( in string att_name ) // (for model_name, mesh_type, time_step_type, etc.)
Variable description
string get_var_type( in string long_var_name ) // ( returns type_string, e.g. ‘double’)
string get_var_units( in string long_var_name ) // ( returns unit_string, e.g. ‘meters’ )
int get_var_rank( in string long_var_name ) // ( returns array rank or 0 for scalar)
string get_var_name( in string long_var_name ) // ( returns model’s internal, short name )
double get_time_step() // (returns the model’s current timestep; adaptive or fixed.)
string get_time_units() // (returns unit string for model time, e.g. ‘seconds’, ‘years’)
double get_start_time()
double get_current_time()
double get_end_time()
GET_VAR_TYPE: Return data type of a variable as a string. Some possible values are given in the following table.
BMI datatype | C datatype |
---|---|
BMI_CHAR | char |
BMI_UNSIGNED_CHAR | unsigned char |
BMI_INT | signed int |
BMI_LONG | signed long int |
BMI_UNSIGNED | unsigned int |
BMI_UNSIGNED_LONG | unsigned long int |
BMI_FLOAT | float |
BMI_DOUBLE | double |
Variable getters and setters
double get_0d_double( in string long_var_name )
array<double> get_1d_double( in string long_var_name )
array<double,2> get_2d_double( in string long_var_name )
array<double> get_2d_double_at_indices( in string long_var_name, array<int> indices )
void set_0d_double( in string long_var_name, in double scalar )
void set_1d_double( in string long_var_name, in array<double> array)
void set_2d_double( in string long_var_name, in array<double,2> array)
void set_2d_double_at_indices( in string long_var_name, in array<int> indices, in array<double,2> array)
Grid description
Uniform Rectilinear
array<double, 1> get_grid_spacing (in string long_var_name)
array<double, 1> get_grid_lower_left_corner (in string long_var_name)
array<int, 1> get_grid_shape (in string long_var_name)
Rectilinear
array<double, 1> get_grid_x (in string long_var_name)
array<double, 1> get_grid_y (in string long_var_name)
array<double, 1> get_grid_z (in string long_var_name)
array<int, 1> get_grid_shape (in string long_var_name)
Structured Mesh
array<double, 1> get_grid_x (in string long_var_name)
array<double, 1> get_grid_y (in string long_var_name)
array<int, 1> get_grid_shape (in string long_var_name)
Unstructured Mesh
array<double, 1> get_grid_x (in string long_var_name)
array<double, 1> get_grid_y (in string long_var_name)
array<int, 1> get_grid_connectivity (in string long_var_name)
array<int, 1> get_grid_offset (in string long_var_name)