Generally speaking, Reverse Osmosis is a final step purification and is designed to concentrate up dissolved solids, especially metals (Sodium, potassium etc). With that in mind, anything OTHER than those metals (often abbreviated Total Dissolved Solids) requires upfront filtration. Below is a size occlusion filtration chart showing the relative particle sizes and the traditional filtration media provided, found on freedrinkingwater.com
First, if you have Oils/fats/greases, they will need to be separated. This is almost always done via something similar to a skimmer or cyclone in extreme cases.
Next, if you have large particulates, such as "fibrous matter", or "floaties", you'll need a sediment filter. for larger scale, this would be something like a multi-media filter, or for smaller scale a coarse sediment filter, similar to what one would find at a home or hardware store. These are usually ~5+ μm.
After Oils/greases & larger particulates, there can be an assortment of contaminants depending on your application. Common are BOD/COD, slight residual grease, proteins, bacteria etc. These are best handled by Ultrafiltration filters, which are usually Hollow Fiber UltraFiltration membranes (HFUF) or in larger industrial setups, ceramic membranes. These are often followed by a 1 μm "sediment filter" for "just in case" scenarios as RO membranes can get pretty expensive, and replacing a plugged pre-filter is cheaper than the RO membranes.
Lastly - while Reverse Osmosis is designed to remove dissolved solids & especially metals, when you filter the water out from the mixture, you concentrate said solids up. When this happens, scaling can occur. In order to determine if scaling will occur, you will need a metals analysis of whatever water you plan to run through the RO (UF or sediment filtered) and you will need to know the recovery % that the RO will be running at. Using this you can calculate the concentration of each solute in the RO reject. If any of these solute concentrations are above the solubility limit, they will precipitate and scale the RO membrane over time. The most common foulant(s) are usually Iron, Calcium &/or Magnesium, but this varies dramatically by water source.
In industrial water treatment, it's commonly accepted that the best RO feedwater is:
- Free from sediment
- has a Silt Density Index less than 5, preferably less than 3
- Is free from specific foulants in concentrations that will be harmful at the design recovery % (I.E. Iron, Barium, Silicon, Calcium etc)
Some waters (deep well water w/ the right qualities) needs almost no pretreatment and can be run straight into an RO with no issues. Other waters need an arrangement of filtration technologies. Outlined above is what sounds like what you may need for your application, but the larger your system the more important it would be to quantify the contaminants and the ability of the above filtration technology to remove them. In addition, you will need to consider what you're doing with all of the waste generated; it will either need to be recovered or disposed of.