# A new home for the BMI documentation

**URL:** <https://forum.csdms.io/t/a-new-home-for-the-bmi-documentation/44>\
**Category:** BMI\
**Tags:** bmi, documentation\
**Created:** [November 25, 2024, 7:25pm UTC](https://forum.csdms.io/t/a-new-home-for-the-bmi-documentation/44 "2024-11-25T19:25:38Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![samharrison7](https://yyz2.discourse-cdn.com/flex012/user_avatar/forum.csdms.io/samharrison7/32/9_2.png) [@samharrison7](https://forum.csdms.io/u/samharrison7)\
**Post date:** [December 6, 2024, 9:08am UTC](https://forum.csdms.io/t/a-new-home-for-the-bmi-documentation/44/8 "2024-12-06T09:08:50Z")

</div>

I just started digging into the Fortran mappings and immediatedly came across the issue of how to define types. All of the other languages can be done as a nice tidy one-liner in the function definition, e.g.

```python
def initialize(self, config_file: str) -> None:

```

But Fortran requires multiple lines:

```fortran
function initialize(self, config_file) result(bmi_status)
    class(bmi), intent(out) :: self
    character(len=*), intent(in) :: config_file
    integer :: bmi_status

```

The other approach (which I don’t really like) is use some kind of pseudo-Fortran, like

`function initialize(class(bmi)::self, character(len=*)::config_file) result(integer::bmi_status)`

Also, the [Fortran spec](https://github.com/csdms/bmi-fortran/blob/master/bmi.f90) uses `this` but C/Python uses `self` - any preferences?

Thought I’d throw this out here for comments - @mdpiper and @mcflugen I’m looking at you 😀 - before going down a particular route! We could pop this discussion across to the bmi-map repo if it’s better placed there, but I thought it might be broadly of interest to folks here.

---

_[View the full topic](https://forum.csdms.io/t/a-new-home-for-the-bmi-documentation/44)._
