Huge rsl files due to "refi is larger than lookup table" warnings

ramousta

New member
Hi everybody!
When using WRF-Chem with aerosol optical properties aer_op_opt= 1 (volume) option , huge rsl files (exceeds 20 Gb in size) are generated due to the fact that the model is writing repeatedly the following messages:
....
Warning: refi is larger than lookup table range and reset to maximum bound at SW band 1
Warning: refi is larger than lookup table range and reset to maximum bound at SW band 2
....
Warning: refi is larger than lookup table range and reset to maximum bound at LW band 1
Warning: refi is larger than lookup table range and reset to maximum bound at LW band 2
....
If I use aer_op_opt=3 (complex volume-mixin), I don't get these warning.

In the module_optical_averaging.F file, I can see that there is a check for refr and refi outside of lookup table range to prevent unstable extrapolation 'binterp'.

My question: is it safe to use aer_op_opt= 1, even if I have these warnings since the simulation never stops? Do these warnings affect the simulation results.
In this case, I can make the followings changes in module_optical_averaging.F file, so the warning printings should only be showed for debugging.:
!! Disable printing
IF ( 100 .LE. debug_level ) THEN
....
if (refi > refitabsw(prefi,ns)) then
refi = refitabsw(prefi,ns)
write(*,*), 'Warning: refi is larger than lookup table range and reset to maximum bound at SW band ', ns
endif
ENDIF
...
IF ( 100 .LE. debug_level ) THEN
....
if (refi > refitablw(prefi,ns)) then
refi = refitablw(prefi,ns)
write(*,*), 'Warning: refi is larger than lookup table range and reset to maximum bound at LW band ', ns
endif

ENDIF
...
Thank you so much for your help.
Rachid
 
Last edited:
Hi Rachid,

I agree these warnings should be suppressed and your suggestion is good. As for your question, it's hard to say exactly, but I would assume that aer_op_opt=1 will be fine if aer_op_opt=3.

Jordan
 
Thank you Jordan, I will disable the warnings and see if aer_op_opt=1 gives different results with respect to aer_op_opt=3.
 
Last edited:
I will recommend to modify like this in order to reset the refi and refr vars
add in line 4328:
INTEGER :: debug_level=0


CALL set_wrf_debug_level (debug_level)

...
if (refr < refrtabsw(1,ns)) then
refr = refrtabsw(1,ns)
IF ( 100 .LE. debug_level ) write(*,*), 'Warning: refr is smaller than lookup table range and reset to minimum bound at SW band ', ns
endif
if (refr > refrtabsw(prefr,ns)) then
refr = refrtabsw(prefr,ns)
IF ( 100 .LE. debug_level ) write(*,*), 'Warning: refr is larger than lookup table range and reset to maximum bound at SW band ', ns
endif
if (refi < refitabsw(1,ns)) then
refi = refitabsw(1,ns)
IF ( 100 .LE. debug_level ) write(*,*), 'Warning: refi is smaller than lookup table range and reset to minimum bound at SW band ', ns
endif
if (refi > refitabsw(prefi,ns)) then
refi = refitabsw(prefi,ns)
IF ( 100 .LE. debug_level ) write(*,*), 'Warning: refi is larger than lookup table range and reset to maximum bound at SW band ', ns
endif
...

! check for refr and refi outside of lookup table range to prevent unstable extrapolation 'binterp' below
if (refr < refrtablw(1,ns)) then
refr = refrtablw(1,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refr is smaller than lookup table range and reset to minimum bound at LW band ', ns
endif
if (refr > refrtablw(prefr,ns)) then
refr = refrtablw(prefr,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refr is larger than lookup table range and reset to maximum bound at LW band ', ns
endif
if (refi < refitablw(1,ns)) then
refi = refitablw(1,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refi is smaller than lookup table range and reset to minimum bound at LW band ', ns
endif
if (refi > refitablw(prefi,ns)) then
refi = refitablw(prefi,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refi is larger than lookup table range and reset to maximum bound at LW band ', ns
endif
 
Hi Jose,
I have got the same problem, ( receiving this warning :Warning: refi is larger than lookup table range and reset to maximum bound at SW band and this one: Warning: refi is larger than lookup table range and reset to maximum bound at LW band). But I did not use "aer_op_opt". I just wonder why this happened. Would you please kindly help me in this regard? I tried to modify the module_optical_averaging.F according to your suggestion, but it did not work. So how can I modify it, please? (my name list has been attached)
Many thanks in advance.
Kind regards,
 

Attachments

Hi Jose,
I have got the same problem, ( receiving this warning :Warning: refi is larger than lookup table range and reset to maximum bound at SW band and this one: Warning: refi is larger than lookup table range and reset to maximum bound at LW band). But I did not use "aer_op_opt". I just wonder why this happened. Would you please kindly help me in this regard? I tried to modify the module_optical_averaging.F according to your suggestion, but it did not work. So how can I modify it, please? (my name list has been attached)
Many thanks in advance.
Kind regards,
Hello Seti,

Could you solve this issue modifying the module_optical_averaging.F and recompiling the model?
I'm currently having the same problem.

Thank you in advance.

-Stephanie
 
Hi
I modified the module_optical_averaging.F, but still receiving the same warning.
Which chem_opt are you using?
 
Hi,

I am looking back at your modifcation, and I don't think it is appropriate to reset the debug level within module_optical_averaging.F (If this is not what you've done, please attach a differenced file). Why don't you just reduce your debug level in your namelist to < 100. Or just comment out those lines altogether.

Jordan
 
Hi,

I am looking back at your modifcation, and I don't think it is appropriate to reset the debug level within module_optical_averaging.F (If this is not what you've done, please attach a differenced file). Why don't you just reduce your debug level in your namelist to < 100. Or just comment out those lines altogether.

Jordan
Hi Jordan,
debug level was set to zero, but recived the error. Do you mean to comment of these lines in the Registry:
! check for refr and refi outside of lookup table range to prevent unstable extrapolation 'binterp' below
if (refr < refrtablw(1,ns)) then
refr = refrtablw(1,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refr is smaller than lookup table range and reset to minimum bound at LW band ', ns
endif
if (refr > refrtablw(prefr,ns)) then
refr = refrtablw(prefr,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refr is larger than lookup table range and reset to maximum bound at LW band ', ns
endif
if (refi < refitablw(1,ns)) then
refi = refitablw(1,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refi is smaller than lookup table range and reset to minimum bound at LW band ', ns
endif
if (refi > refitablw(prefi,ns)) then
refi = refitablw(prefi,ns)
IF (100.le.debug_level) write(*,*), 'Warning: refi is larger than lookup table range and reset to maximum bound at LW band ', ns
endif

Like Quote Reply
 
Back
Top