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

Tracer concentrations become negative


New member
I have added tracers to an idealized run and have found that the concentrations can become negative, which is unphysical. According to the User's Guide there are options to make the advection positive definite. These are listed in the main body of the text as:
moist_adv_opt = 1,
scalar_adv_opt = 1,
chem_adv_opt = 1,
tke_adv_opt = 1,

Even though I have them set as above in my namelist, my runs still produce negative tracer concentrations. There is another option in the tables at the end of the guide that is also positive definite.

tracer_adv_opt = 1,

I did not set that one explicitly in my namelist file, but it is listed as =1 by default in the User's Guide, so I'm not sure that is the issue.

Is there anything else to consider for ensuring non-negative tracer concentrations?

Thank you for your help.

Hi Jen,
Can you attach your namelist.input file and let me know which version of WRF you're using? Are you running WRF-chem, or just standard WRF? Thanks!
I have attached my latest namelist.input. For this run I also set tracer_adv_opt=1 and diff_6th_opt=2 as suggested in the WRF USER's Guide. I am using standard WRF Version 4.3.3.



  • namelist.input
    5.1 KB · Views: 6
Hi Jen,
I apologize for the delay in response. I wanted to ask a colleague who may know more about tracers. Unfortunately they aren't sure why there would be negative values with the positive definite option. They asked are they small or near boundaries?
Hi K Werner,

Many of them are near the boundaries, but not always. Some are near the center of the domain and are associated with some fine scale features noticeable on plots. They can be significantly large in magnitude. I have noticed that the largest magnitude values can range from -0.05 to -0.15.

We are considering trying some higher order positive definite options like the 5th order WENO ( adv_opt = 4).

Hi Jen,
My colleague isn't very familiar with WENO, but you could give it a try. They also suggested that if you aren't already using monotonic, you could try that, but that it primarily helps with peak values and costs more. Or, if you're already using monotonic, try positive definite only.
The results using WENO ( adv_opt =4) were better, though the negative tracer values did not completely disappear. The largest negative values were ~ -0.08 for a tracer initialized near the model top and these large negatives were near the domain boundaries. At interior points the largest negative values were ~ -0.04 for this tracer. For tracers initialized at lower levels the largest negative values were ~ -0.004 and these were also near the domain boundaries. For interior points (at least 5 points in from the boundaries) the largest negative values were ~ -10^-6. These values seem acceptably small and so we have decided to use the WENO advection option.
I'm glad you've found a solution to improve the issue and thank you for updating the post with that information. Hopefully it will be able to help someone else in the future.