OpenDrift / opendrift

Open source framework for ocean trajectory modelling
https://opendrift.github.io
GNU General Public License v2.0
231 stars 113 forks source link

erroneous skipping of evaporation for slow rising sub-sea releases? #1277

Open GilesFearon opened 2 months ago

GilesFearon commented 2 months ago

Hi there,

In the evaporation_noaa() function, lines 822 - 825, there is this check: if self.elements.age_seconds[surface].min() > 3600 * 24: logger.debug('All surface oil elements older than 24 hours, ' + 'skipping further evaporation.') return

So evaporation is switched off when particles are more than a day old. I am modelling subsea blow-outs, and and particles can take some time to reach the surface. If they take longer than a day to do so then evaporation is not taken into account, which I think is a mistake?

The attached mass balances illustrate the effect - these are stochastic mass balances from a 15 day blowout, based on 200 simulations each. DSD1 is a faster rising scenario and DSD2 is a slower rising one. It is clear that evaporation is switched off from day 16 in both cases. stochastic_mass_balance.

I would like to ask how you think I should proceed? I am planning on just commenting out the if statement, but I am not too familiar with the weathering theory, and maybe I would be introducing another mistake?

Thanks Giles

knutfrode commented 2 months ago

This check was added a long time ago, and I cannot remember details. It seems to be simply a way to save time by skipping evaporation after it has normally "saturated". But I agree that is probably made with a surface spill in mind, and not correct for seafloor spills.

I will check and come back to this, but in the meantime you can comment out that check. I think this will give more correct results, and hopefully not a significant increase of runtime. It would be interesting to hear if it is much slower in your case when skipping these lines.

GilesFearon commented 2 months ago

Thanks for the confirmation. I re-ran the simulations with these lines commented, and it did increase the run time by about 25%. It is however quite important in my case, especially for my slower rising droplet scenario: fig_S3 Thanks