When I got my boat it had been abandoned and filled with 18" of water for 5 years. After
much renovation I still couldn't get the odor out. It was that wonderful blend of mold, sanitary hoses leaking, diesel and everything imaginable that could stink. The real stink to me was that I am 50 years designing, applying, installing and servicing home and building HVAC systems and all the tricks I tried weren't working to my satisfaction. Then my daughter bought me one of these:
https://www.amazon.com/Enerzen-Commercial-Industrial-Deodorizer-Sterilizer/dp/B00JAP7388/ref=sr_1_4?crid=65SNSQMIK2KP&keywords=enerzen+ozone+generator&qid=1580905974&s=home-garden&sprefix=enerzen,garden,163&sr=1-4
How on earth could my graphic designer child come up with a solution???
Now after an outing I turn this little gizmo on and lock up the boat returning a few days later and it is remarkable how well it works. I even kills mold. I have since found out big hotel chains use these things to clear odors from their rooms when they have problems. For me it has been very successful and inexpensive. We are on our 4th year of using it. During the winter when the boat is "sleeping" I bring it home to get rid of the funky odors in the basement of my 110 year old home. Works there also!
Now if I could just get the lingering odor out of the cushions all would be wonderful.