FarmOS for Aquaculture

Hey Everyone,

I run a fish hatchery in Texas and am curious if anyone else has used FarmOS in a hatchery or aquaculture setting?

I’ve emailed Mike, and he was kind enough to reply:

"Hi Ryan,

There has been some talk of folks using farmOS for aquaculture - although I’m not sure if anyone is yet. It’s certainly something that farmOS can accommodate! There isn’t a dedicated “aquaculture” module right now (perhaps building one in the future would be justified), but you could probably use the “Animal” asset type just fine right now. “Animal” assets can be used to represent individual animals (which would NOT be useful in your case haha), or a “head count” of animals with inventory increment/decrement tracking. I could imagine starting with a map of the fishery, with an “Area” for each pool, and then using an “Animal” asset to represent each “batch” of fish. The asset could be moved from area to area, and input logs can be recorded for feedings, harvest logs for harvests, as well as misc activities and observations."

He also recommended that I post the question here to see if anyone may be doing something similar.


I really think you can do a lot with what farmOS provides already! I’d be happy to help think this through in more detail as you experiment with it.

I don’t know much about aquaculture myself - I wonder if you could describe some of the things you’d ideally like to be able to track? How do you conceptualize your operations? I can make recommendations based on my assumptions but they could be wrong. :slight_smile:

I’m on my way out the door for the weekend. I think I’ll put together a sampling of data that we normally collect for a production pond so I can show everyone and post it Monday.

We typically collect filling dates, stocking dates, stocking data (number, weight, volume, lengths, sources), sample data throughout the growth season, daily water quality readings (twice daily, Dissolved Oxygen, pH, temperature, salinity), feed, zooplankton production,any moralities, and then harvest data (basically same as stocking).

That would be for one pond, and we try to keep data uploaded in (near) real time. We also have what we call tripsheets (essentially invoices with data) for each load that leaves the facility.

Unfortunately, at the moment, we use 4 different databases to track all of this info. I’d like to simplify down to one!

When I get back (heading out of town for the weekend), I’ll lay out our workflow, and some of the data we collect, so it might make more sense. The one thing I know of off the top of my head, is I may have to try and make some custom forms for data? I’m not sure how that works at the moment though…

1 Like

Thanks @Ryan! Very helpful! And I think most of that data collection can be done in farmOS right now. Adding some quick forms, like you said, would be the next step to streamline the process even more. I could see those being built inside a dedicated farmOS Aquaculture module, perhaps.

This is probably how I would do it (based on what you describe):

  1. Create “Areas” for each pool.
  2. Filling dates can be represented as an “Activity” log that references the area.
  3. Create an “Animal” asset for each batch of fish.
  4. Create an “Activity” log to record stocking, which references both the pool area and the fish asset, and use the “Inventory Adjustment” field on the log to set the initial inventory (head count) of fish that were stocked. Use Quantity Measurements on the same log to record quantitative information (weight, volume, lengths), and Notes to record misc info like “Sources”.
  5. Use “Observation” logs with quantity measurements for the “sample data throughout the growth season”, “daily water quality readings”, etc. These can reference the pool (area), and/or the fish (assets), depending on what makes the most sense from your perspective.
  6. “Input” logs can be used to record feedings.
  7. “Observation” logs can be used to record mortality (with inventory adjustments to decrease the total fish count).
  8. Similarly, “Harvest” logs can record harvests (with inv. adj. to decrease counts).

Not sure the best approach for “zooplankton production” (are you farming them yourself, or bringing them in?) and “tripsheets” (might still make sense to keep that outside the system to start).

Hope that helps to get some of your gears turning. :slight_smile:

If you you put various forms of data into the observation logs, is it easy to pull week over week differences, or do you have to do some sort of manual sorting for that field.

Example. Say I enter all of my temperatures and dissolved oxygen every day, and also some length samples. Is it possible to go back at the end of the season and say “I want to look at AM temperatures from April 7th through May 31st” or would I have to manually go extract that data?

(I may just need to pay for a year on farmier and play with it)

There is a “Quantity Report” module, which basically gives you the ability to filter down all your quantity measurements in various ways, and a CSV export. This works with logs that have multiple measurements in them (which the normal log lists don’t). This opens up a lot of possibilities to filter by log type, measurements (measure, value, unit, label), log category, etc.

AM temperatures from April 7th through May 31st

It does have a date range filter… but it doesn’t have a filter for “time of day” like you describe. Although you could perhaps do that outside of farmOS somehow (export the CSV of the rough date range filter, and then do a second round of processing on that).

Some of these could be nice candidates for custom reports too…