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

Error in running real.exe for simulating dust emissions


Hello everyone,
I am giving 6-hour run (from 06 to 12 hrs) using WRF-Chem for only dust emissions over Indian region on 2 May 2018 by following the instructions given in the tutorial exercise 1 on the official webpage of WRF-Chem (Tutorial Exercises For WRF-Chem Version 4.0). I have slightly modified the namelist file (the sample namelist.input given in that webpage is according to my study domain and period. I have successfully completed the run of WPS. But, when I am running real.exe, I am getting the following error:
taskid: 0 hostname: localhost.localdomain
module_io_quilt_old.F 2931 T
------ ERROR while reading namelist chem ------
-------------- FATAL CALLED ---------------
ERRORS while reading one or more namelists from namelist.input.
Can anyone tell me why the error occurred? By looking at the error, I am guessing that maybe something is wrong in 'chem' section of the 'namelist.input' file. If this is the case, where and how should it be resolved? Can anyone guide me in this regard? For your convenience, I am attaching the figure of my study domain (in pdf), the namelist.wps file, the namelist.input file, and the rsl.error file. I am very new to this model, and any help on this would be greatly appreciated. Thank you.


  • rsl.error.0000.txt
    338 bytes · Views: 5
  • wps_show_dom.pdf
    65.6 KB · Views: 9
  • wps_namelist_dustsimulation.txt
    1.6 KB · Views: 12
  • wrfchemrun_namelist_dustsimulation.txt
    8.9 KB · Views: 11
Hi Ankan,

I don't immediately see any issues, but yes you are right that something is wrong. The quickest solution is probably to just cut off the bottom half of the &chem namelist - if there are no errors, then the problem is with one of those options - then just keep narrowing it down until you find the problem.

Thank you @jordanschnell for your quick response. Again, I ran the real.exe and wrf.exe by completely removing the 'chem' section of the namelist, and it worked. That makes me sure that the problem is definitely in the 'chem' section. Now, as you suggested, I have to cut off the bottom half of the "&chem" namelist, can you tell me specifically in which part of this you think there are some mistakes? Are you suggesting that the lines after 'vertmix_onoff' be removed? I tried what you suggested by removing them one by one from the bottom half of the "&chem" namelist, but it didn't work. I think I need an understanding of the "&chem" namelist. Can you guide me on this? As per the WRF-Chem user guide (section 4.3.1, "Running with only dust aerosols"), the model can be run using the dust only namelist settings (chem_opt = 401 and dust_opt = 1) while the other chemistry namelist settings (e.g., gaschem_onoff, phot_opt, gas_drydep_opt, etc.) are turned off. And I've already done these things. So, my guess is that the issue is caused by other lines in the "&chem" namelist? Now, my question is, what are the mandatory lines in the "&chem" namelist I should give if I want to simulate only dust aerosols? Another difference is that I am running two domains (one parent and one nested domain), whereas the sample namleist.input on the tutorial page is for a single domain. So, is there anything I should take care off?
Thanks and regards,
Last edited:
Hi Ankan,

There are no "requirements" for the namelist for the model to run. I am suggesting that one of your namelist options has an error, but rather than try and search for it, you can just remove lines from the chem section of the namelist one at a time until the model doesn't throw that error. Then fix that line in your normal, complete namelist. And yes, it's mostly likely a problem with specifying two values (one for each domain) as some namelist options only require one value for the whole simulation. You can check Registry/registry.chem for the namelist options: there, look at the fifth column for each of your options - see the difference between these two:

rconfig logical do_pvozone namelist,chem 1 .false. rh "do_pvozone" "" ""

rconfig integer chem_conv_tr namelist,chem max_domains 1 rh "chem_conv_opt" "" ""

"do_pvozone" is only specified once for the whole simulation (one value in the namelist), while chem_conv_tr needs a value for each domain (i.e., max_domains)

Thanks again @jordanschnell for your response. Now I understand what you meant. I checked Registry/registry.chem for the namelist options and just found the following line:
rconfig integer dust_opt namelist,chem 1 0 rh "dust_opt" "" ""
rconfig integer aer_ra_feedback namelist,chem max_domains 0 rh "aer_ra_feedback" "" ""
rconfig integer aer_op_opt namelist,chem max_domains 1 rh "aer_op_opt" "" ""
rconfig integer opt_pars_out namelist,chem 1 0 h "opt_pars_out" "" ""
What I have understood so far by going through the user's guide is that the user should give the namelist values for both parent and nested domains only for those options with which "max_dom" is written in brackets. That means, here for "aer_rad_feedback" and "aer_op_opt" options, I have to give two values, whereas for "dust_opt," I have to give a single value (here dust_opt=1 for dust-only simulation) only for the parent domain. But, what about the "opt_pars_out" option as it is written "1 0"? What does it mean? Does it mean that I have to set the "opt_pars_out" option for only the parent domain with the value of "0," i.e., opt_pars_out=0? opt_pars_out=0? or opt_pars_out=1, 0, by setting the values for both domains? I am having some confusion. I also don't clearly understand the "have_bcs_chem" option. What does it signify? What should be the value for both domains in my case? Is it false for both? or anything else? Can you guide me on this? Thanking you
Hi @jordanschnell,
I am pleased to inform you that the dust-only simulations using the WRF-Chem model have been completed successfully. You were right. I made some mistakes earlier by giving the value for two domains in the namelist options, which should have had one value for parent domain. As you suggested that I just checked Registry/registry.chem and corrected my namelist accordingly. And, I have set "opt_pars_out =0". Thanks again for your advice.