{"id":23832002,"url":"https://github.com/csdms/bmi-java","last_synced_at":"2025-09-07T11:31:24.921Z","repository":{"id":2401512,"uuid":"45644058","full_name":"csdms/bmi-java","owner":"csdms","description":"Basic Model Interface for Java","archived":false,"fork":false,"pushed_at":"2021-12-06T20:43:33.000Z","size":335,"stargazers_count":2,"open_issues_count":1,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-01-27T00:43:31.042Z","etag":null,"topics":["bmi","csdms","java","maven"],"latest_commit_sha":null,"homepage":"https://bmi.readthedocs.io","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/csdms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-11-05T22:40:41.000Z","updated_at":"2022-01-01T18:58:49.000Z","dependencies_parsed_at":"2022-08-06T12:15:17.972Z","dependency_job_id":null,"html_url":"https://github.com/csdms/bmi-java","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fbmi-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fbmi-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fbmi-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csdms%2Fbmi-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csdms","download_url":"https://codeload.github.com/csdms/bmi-java/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232206387,"owners_count":18488512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bmi","csdms","java","maven"],"created_at":"2025-01-02T14:16:55.228Z","updated_at":"2025-01-02T14:16:55.769Z","avatar_url":"https://github.com/csdms.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![DOI](https://zenodo.org/badge/45644058.svg)](https://zenodo.org/badge/latestdoi/45644058)\n[![Build CI](https://github.com/csdms/bmi-java/actions/workflows/build.yml/badge.svg)](https://github.com/csdms/bmi-java/actions/workflows/build.yml)\n\n# bmi-java\n\nJava bindings for the CSDMS [Basic Model Interface](https://bmi.readthedocs.io).\n\n## Build/Install\n\nThe Java BMI bindings can be built on Linux, macOS, and Windows. Instructions are given below.\n\n**Prerequisites:**\n* A Java compiler\n* [Maven](http://maven.apache.org)\n\nTo compile and package the BMI Java bindings, run\n\n    $ mvn clean package\n\nThis will generate files in the directory `target`. The result will look like\n```bash\ntarget\n|-- bmi.jar\n|-- classes\n|   `-- edu\n|       `-- colorado\n|           `-- csdms\n|               `-- bmi\n|                   |-- BMI.class\n|                   |-- BmiControl.class\n|                   |-- BmiGetter.class\n|                   |-- BmiGrid.class\n|                   |-- BmiGridRectilinear.class\n|                   |-- BmiGridStructuredQuad.class\n|                   |-- BmiGridUniformRectilinear.class\n|                   |-- BmiGridUnstructured.class\n|                   |-- BmiInfo.class\n|                   |-- BmiSetter.class\n|                   |-- BmiTime.class\n|                   `-- BmiVars.class\n|-- generated-sources\n|   `-- annotations\n|-- maven-archiver\n|   `-- pom.properties\n`-- maven-status\n    `-- maven-compiler-plugin\n        `-- compile\n            `-- default-compile\n                |-- createdFiles.lst\n                `-- inputFiles.lst\n```\n\nTo install the jar file to your local Maven repository\n(typically `~/.m2/repository`)\nfor use with other packages, run\n\n    $ mvn install\n\nThe result in the local repository will look like\n```bash\nedu\n`-- colorado\n    `-- csdms\n        `-- bmi\n            |-- 2.0\n            |   |-- _remote.repositories\n            |   |-- bmi-2.0.jar\n            |   |-- bmi-2.0.jar.md5\n            |   |-- bmi-2.0.jar.sha1\n            |   |-- bmi-2.0.pom\n            |   |-- bmi-2.0.pom.md5\n            |   `-- bmi-2.0.pom.sha1\n            |-- maven-metadata-local.xml\n            |-- maven-metadata-local.xml.md5\n            `-- maven-metadata-local.xml.sha1\n\n4 directories, 10 files\n```\n\n### Developer note: Deploy\n\nThe `bmi` package is hosted on the [CSDMS Apache Maven Repository](https://csdms.colorado.edu/repository).\nTo deploy the `bmi` package to this site, run\n```\n$ mvn deploy\n```\non a machine where you have provided [server settings and encrypted login credentials](http://maven.apache.org/guides/mini/guide-encryption.html#how-to-encrypt-server-passwords)\nfor the site in your local `settings.xml` file.\n\n\n## Use\n\nTo write a BMI for a model,\ninstall the `bmi.jar` file and implement all the BMI functions\nthat are listed in the BMI Java [source package](https://github.com/csdms/bmi-java/tree/master/src/main/java/edu/colorado/csdms/bmi)\nand described in the [documentation](https://bmi.readthedocs.io).\nBMI functions that aren't used\n(e.g., `getGridX` for a uniform rectilinear grid)\ncan simply return a `null` value.\nA sample implementation is given in the\nhttps://github.com/csdms/bmi-example-java\nrepository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Fbmi-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsdms%2Fbmi-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsdms%2Fbmi-java/lists"}