Marine Organismal Body Size Data
Marine Organismal Body Size Data
A recent dashboard deep-dive [pun intended] was on the MOBS_OPEN dataset. This is a fun dataset about how big things in the ocean are - but the raw data is more fun if you can visualize it, so for the public dataset we've also included some aggregated wikipedia data [image credit creative commons] to provide context.
Credit
Info
McClain, C. R., Heim, N. A., Knope, M. L., Monarrez, P. M., Payne, J. L., Santos, I. T., & Webb, T. J. (2025). MOBS 1.0: A database of interspecific variation in marine organismal body sizes. Global Ecology and Biogeography, 34: e70062. https://doi.org/10.1111/geb.70062
Overview
The MOBS dataset has a lot of depth - turns out the ocean has fun characters, and the adjacent species like birds help spice it up. Lots of character in this angler fish.
Try It
We'd recommend first clicking around a bit to see what's out there; then if you want to see some specific things - Whales, dolphins, crabs? either set up an LLM and let it do the family mapping for you, or look up the genus/family/class mapping you want.
Filtering on the description or species name can be fun to look for specific traits/words.
Design Features
This dashboard mixes dynamic (data-driven) markdown components and charts.
It also makes use of features to disable cross-filtering to preserve the summary/genera slide.
The hero image rendering is clearly a main point, as well as inline image rendering in the table through the ::url_image
type.
Tips
The std.<x>
libraries are a great way to get dynamic client side handling by using the predefined core types. Studio leverages these to do context aware rendering for links, images, geographic fields, money, and more! Standard libraries are always importable.
import std.net; # brings in the url_image type; can be bound to strings.
A more subtle highlight is the behavior when drilling down from class to genera; it's quite common to click back to a class after having filtered to a specific sub-genera. Intelligent cross-filtering clears out the genera cross-filter when it detects that the applied genera is no longer in the returned dataset, removing an extra click for a common path.