IBM — Individual Based Module

An IBM (Individual Based Model) for biological behaviour or similar can be added to LADiM. As they may be very different, it is difficult to be general enough.

The IBM variables are named by the configuration. Initial values may be provided by the particle release file. Alternatively values may given or derived from the IBM forcing fields. If none of the above, the values are initially set to zero. [Check if correct, may change to error if uninitialized]

The IBM module has the responsibility for updating the required extra forcing (besides velocity) by calling the forcing.field method.

A repository of IBM modules are maintained by Pål N. Sævik on github.

Requirements for an IBM module:

class IBM.IBM(config)
update_ibm(self, grid, state, forcing)

This method is supposed be called from the State.update() method.

IBM support utilities

A light module is available as ladim1.ibms.light, that can be used to compute the surface light (without clouds). This is useful for modelling diel vertical migration for many species. The module is based on the paper by A. Skartveit & J.A. Olseth (1988). It is given as a function:

IBM.surface_light(dtime, lon, lat)
Parameters:
  • dtime (numpy.datetime64) – Time
  • lon (float) – Longitude [degrees]
  • lat (float) – Latitude [degrees]