Digital filter simulating hydroacoustic signal distortion Preambule:
I'm designing a sound model for my small submarine game. Model is running on the server, and I want to present the client with a mono-channel wav-stream from his hydrophone (20kHz discretization should suffice, I target 20Hz-10kHz band). I want that signal to be relatively-realistic. Specifically, I need to account for the fact that water dissipates high frequencies much faster.  

Sound model:
I plan to pre-generate (with help of some RNG and IFFT) raw propeller time-domain sound sample from it's intensity spectrum. Then I plan to amplitude-modulate it with shifted shaft rpm x propeller blade count sine wave to get that propeller beat. At this point i need to materialize that signal on the player's sensor. It will probably involve two filters:  


Some filter (wich is the filter in question) wich will account for water dissipating signal energy.
Bandpass filter, wich corresponds to this particular sensor's sensitivity band.
Simple amplitude multiplication to account for range, sensor directivity etc.


According to R.J. Urik "Principles of Underwater Sound", on the distance of r meters from the target, band level (dB) in frequency bin f of such sound can be approximated using following formula:

[1]: ResultBL = SourceBL - 10 * log10(r * r) - r * F(f)
or without wave front expansion term (wich is trivial):
[2]: ResultBL = SourceBL - r * F(f)

where F(f) is some smooth monotonic function (big radical with multiple squared frequencies and constants) of frequency.

The questions (all about this one filter, or lack thereof):


Is it possible to design a time-domain digital filter for given range r, that implements\approximates the signal distortion [2]?  
What type of filter would you recommend? Problem is not realtime, but calculations should be fast. I'm not limited to causal filters, so I'm sensing something like non-causal IIR?  
What algorithms are applicable to this problem.  
If such algorithm involves transfer function, how should I transform\approximate F(f) term in it?  
Will it be fast? What factors affect it's speed?
Will such filter work good in the whole band (20Hz-10kHz)?
Will such filter work well on large intensity level variances, e.g. on both very weak and very strong signals?  
Is such synthesis computationally-expensive?  


Thank you.
I wouldn’t bother much with the precise shape of the filter because any real passive sonar will boost the higher frequencies at the receiver and any realistic source levels are going to around 70 years old and most likely a double screw, and aspect dependent. Cavitation is depth dependent. A single pole low pass filter with a corner around 10 Hz is probably ok.

Fidelity is one of those things that can become an obsession. There is ambient noise and self noise associated with hydro acoustic flow.  Higher frequencies exhibit hull shading.  No one band covers all the signal types of interest. 

If you want to be obsessive, look at Mike Porter's Ocean Acoustics web site.

http://oalib.hlsresearch.com/

I'm partial to RAM PE and there at least was a broad band (decomposition of narrow band) demo for the MATLAB version.   

There was a video game that came out around 20 years ago that collaborated with a company named SONOLYST.  They actually got an Oscar for sound effects for the Hunt for Red October movie. 

I like Urick.  I actaully meet him a few times and took a week long class from him but you might find Ross a bit more helpful.

Mechanics of Underwater Noise, Ross, D. isbn={9781483160467},
  url={https://books.google.com/books?id=sdwgBQAAQBAJ, 2013, Elsevier Science