The past few weeks, I’ve been doing a lot of experimentation with water devices. I’ve found ways to filter out puddles while preserving larger and deeper automatic lakes using Composite Type devices or Taps. I’ll share some of my results and many of the macros I created in the process. Through it all, I found myself wishing that the Create Water device (and to some degree the Flow Restructure device) had evaporation parameters. I tried to apply the idea using the Precipitation Map but I can never tell if it’s doing anything, and it never seems to affect the formation of puddles.
To me, it seems logical that all bodies of water require steady inflows to sustain them, and small, isolated depressions typically lack that even if the Headwater Area is enough for them to form when water is flowing, either because of precipitation or snowmelt. If neither is present, then puddles ought to dry up fairly rapidly, while streams and rivers with more established channels drink up most of what water remains.
I don’t know how difficult this concept would be to implement, but something similar is going on with snowmelt. If this is already factored into Precipitation, I’d be satisfied to just learn how to use it more effectively. For now, I’ll keep doing the extra work to filter out puddles by their depth, but my best results require at least two Create Waters, each devoted to either Rivers or Lakes.
I’m not sure if an actual evaporation model is possible, but what I do think is maybe easier (but also slow I suppose) to implement, is a “minimal volume” parameter. This would calculate the volume of each water body, and then filter out those that are below a certain threshold, effectively removing shallow ponds.
Another option would be to only retain water bodies that are connected to a headwater, this would remove a lot of the small ponds but not the bigger lakes “intersecting” the river.
Offering an alternate approach: It might be helpful to express evaporation as essentially “erosion but for water”. Doing it in such a way could even roll some other devices’ functionality into it, where various time-based alterations to a water system would occur, such as river meander (possibly even including the formation of oxbow lakes), coastal erosion (though that may be better served remaining only as its own device), and the like. The evaporation aspect could be considered a time-based alteration, as bodies of water without sufficient inflow of water would dry up over time. This might also allow for the creation of large, shallow wetlands (where @davidroberson your current method of filtering by depth would likely filter those out)
That being said, I think the most likely process for such a device would be someone creating a custom one when/if either the C API or scripting language support discussed here is available.