https://github.com/csdms/bmi-cxx

Basic Model Interface for C++

https://github.com/csdms/bmi-cxx

Science Score: 33.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    2 of 3 committers (66.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary

Keywords

bmi csdms cxx

Keywords from Contributors

geosciences earth-system-model interface numerical-modeling
Last synced: 5 months ago · JSON representation

Repository

Basic Model Interface for C++

Basic Info
  • Host: GitHub
  • Owner: csdms
  • License: mit
  • Language: C++
  • Default Branch: master
  • Homepage: https://bmi.csdms.io
  • Size: 48.8 KB
Statistics
  • Stars: 0
  • Watchers: 7
  • Forks: 3
  • Open Issues: 1
  • Releases: 0
Topics
bmi csdms cxx
Created about 11 years ago · Last pushed over 1 year ago
Metadata Files
Readme License

README.md

DOI Build and Test Anaconda-Server Badge Anaconda-Server Badge Anaconda-Server Badge

bmi-cxx

C++ bindings for the CSDMS Basic Model Interface.

Build/Install

The C++ BMI bindings can be built on Linux, macOS, and Windows. Instructions are given below.

Prerequisites: * A C++ compiler * CMake

Alternately, conda binaries have been built for Linux, macOS, and Windows. Install the C++ BMI bindings (no build needed) into an Anaconda distribution with

conda install bmi-cxx -c conda-forge

Linux and macOS

To install the C++ BMI bindings from source with cmake, run

mkdir _build && cd _build
cmake .. -DCMAKE_INSTALL_PREFIX=<path-to-installation>
make install

where <path-to-installation> is the base directory in which to install the bindings (/usr/local is the default). When using a conda environment, use the $CONDA_PREFIX environment variable.

The installation will look like:

bash . |-- include | `-- bmi.hxx `-- lib `-- pkgconfig `-- bmicxx.pc

Windows

An additional prerequisite is needed for Windows:

  • Microsoft Visual Studio 2017 or Microsoft Build Tools for Visual Studio 2017

To configure and install the C++ BMI bindings from source with cmake, run the following in a Developer Command Prompt

mkdir _build && cd _build
cmake .. ^
  -G "NMake Makefiles" ^
  -DCMAKE_INSTALL_PREFIX=<path-to-installation> ^
  -DCMAKE_BUILD_TYPE=Release
cmake --build . --target install --config Release

where <path-to-installation> is the base directory in which to install the bindings. The default is "C:\Program Files (x86)". Note that quotes and an absolute path are needed. When using a conda environment, use "%CONDA_PREFIX%\Library".

Use

To write a BMI for a model, include the bmi.hxx header and implement all the BMI functions included in the interface defined therein. BMI functions that aren't used (e.g., get_grid_x for a uniform rectilinear grid) can simply return the BMI_FAILURE status code. A sample implementation is given in the https://github.com/csdms/bmi-example-cxx repository.

Owner

  • Name: Community Surface Dynamics Modeling System
  • Login: csdms
  • Kind: organization
  • Email: csdms@colorado.edu

Cyberinfrastructure for the quantitative modeling of earth and planetary surface processes

GitHub Events

Total
  • Issues event: 2
Last Year
  • Issues event: 2

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 57
  • Total Committers: 3
  • Avg Commits per committer: 19.0
  • Development Distribution Score (DDS): 0.474
Past Year
  • Commits: 3
  • Committers: 1
  • Avg Commits per committer: 3.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
mcflugen m****n@g****m 30
Mark Piper m****r@c****u 25
Richard Barnes r****s@u****u 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 5
  • Total pull requests: 11
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 18 days
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.8
  • Average comments per pull request: 1.73
  • Merged pull requests: 11
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • PhilMiller (4)
Pull Request Authors
  • mdpiper (8)
  • PhilMiller (4)
  • r-barnes (1)
Top Labels
Issue Labels
bug (1)
Pull Request Labels
lazy-consensus (3) work in progress (1)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 2
conda-forge.org: bmi-cxx

C++ mappings for the CSDMS Basic Model Interface (BMI). This package includes a header file with an interface to be implemented by a model developer when they add a BMI to their model.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
Rankings
Dependent repos count: 24.4%
Average: 51.0%
Dependent packages count: 51.6%
Forks count: 62.4%
Stargazers count: 65.5%
Last synced: 6 months ago