Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

WRF v4.1.2 Thompson Aerosol-Aware scheme QNWFA2D

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


Hi, I am using the Thompson aerosol-aware MP scheme (MP option=28) in WRFv4.1.2 and WPS 4.1 for a real-case simulation over southcentral Canada. I have two domains in my simulation and I am using the 12-km NAM analysis as my meteorological forcing dataset. I downloaded the climatological aerosol input dataset from and followed the instructions to set up my namelist.wps and namelist.input files for this scheme option (please see attached). I was able to run geogrid.exe, ungrib.exe, and finally metgrid.exe to get the met_em files in WPS. I could see I_WIF_month*, W_WIF_month*, and P_WIF_month* variables in my met_em files, which should mean that the climatological aerosol dataset was correctly ingested into my met_em files. Then I ran real.exe and was able to get wrfinput files for both domains and wrfbdy_d01. Finally, I ran my simulation with wrf.exe and wrfout_d0* files were produced for both domains.

However, when I checked the QNWFA variable in my wrfout_d01 files some time into my simulation, I noticed something went wrong in the QNWFA field. A box denoting my inner nested domain is clearly visible when visualizing the output from the wrfout_d01 files using ncview (please see attached for example). If working properly, I should see a smooth transition going from d01 to the inner nested domain d02 (i.e, no visible box). Upon further inspection, I found that the QNWFA2D variable (surface aerosol number concentration emission) is the likely source of the problem. For some reason, the magnitude of this variable in the inner nested domain is almost an order of magnitude smaller than that in the surrounding parent domain. Therefore, after some model integration time, the low-level QNWFA over areas covered by d02 is significantly lower (not zero though) than that in the surrounding d01 domain, hence the "box" feature when visualizing my wrfout_d01 files. If I have three domains, the problem would get progressively worse in each successive nested domain. That is, the QNWFA2D variable in d03 is another order of magnitude smaller than that in d02 (therefore, two-orders of magnitude smaller than that in d01). The same problem also exists when I use the use_aero_icbc = .false. option. I have attached a PDF file below that demonstrates this issue. The other variable produced by the Thompson aerosol-aware scheme, QNIFA, looks fine in my output files though, but it may be due to the fact that QNIFA2D is zero at all times.

I updated my WRF version to WRFv4.2.1 and WPS version to WPSv4.2 to see if this problem has been resolved, but it still exists in the newer version. I did, however, modify my GEOGRID.TBL.ARW to make geogrid.exe work better with my application in both versions of WRF and WPS. I wonder if that's what's causing the problem. I thought that METGRID.TBL was the only relevant file for this portion (metgrid.exe) of WPS.

Did I make a mistake during my model set up or there was a bug in the WRF source code? Any suggestions would be greatly appreciated.


  • namelist.wps
    1.8 KB · Views: 97
  • namelist.input
    6 KB · Views: 100
  • QNWFA_wrfout_d01_2007-06-22_010000_1stlev.png
    148.2 KB · Views: 2,013
  • QNWFA_problem.pdf
    708.3 KB · Views: 76
Thanks for reporting this issue. We will take a look and get back to you. It may take some time, and we appreciate your patience.
I found severe problems when using the following options:

mp_physics = 28
use_aero_icbc = .true.

It turns out that the data QNWFA_QNIFA_SIGMA_MONTHLY.dat is not processed correctly. The feedback between parent and child domains are also possibly wrong.

Please avoid using the above options at present.
OK. Thanks for looking into this problem!

As a note, I also found that mp_physics=28 and use_aero_icbc=.false. (with idealized, horizontally-homogenous CCN/IN profiles) also produces the same problem. So I have switched back to using the regular Thompson MP scheme (mp_physics=8) for my simulation for now.
Hi, I have exactly this problem with my wrfouts, does anybody solve this problem with mp option =28 and use_aero_icbc=True?
Hi Stefan,
I found the problem related to ANWFA2D. This is because in dyn_em/module_initialize_real.F, we have the following piece of code:

4330 IF ( config_flags%use_aero_icbc .AND. ( flag_qnwfa .EQ. 1 ) .AND. &
4331 ( config_flags%mp_physics .EQ. THOMPSONAERO ) ) THEN
4332 do j = jts, min(jde-1,jte)
4333 do i = its, min(ide-1,ite)
4334 z1 = (grid%phb(i,2,j)-grid%phb(i,1,j))/g
4335 airmass = 1./grid%alt(i,1,j) * z1 * config_flags%dx*config_flags%dy ! kg
4336 grid%qnwfa2d(i,j) = grid%QNWFA_now(i,1,j) * 0.000196 * (airmass*5.E-11)
4337 enddo
4346 enddo
4347 ENDIF

Note that "airmass" is dependent on dx * dy, while QNWFA_now, alt, z1 etc. have similar magnitude. WIth a nesting ratio of 1:3, we may have the magnitude of qnwfa2d to be different by 1 order ( i.e., D01 value will be around 10 times that of D02)

I will talk to our expert and fix this issue as soon as possible.