Issues with M3DRY "NEGATIVE or UNDEFINED Dry Deposition Velocity"

I am having issues running CMAQ 5.3.1. The program aborts after showing an error message regarding deposition velocity of O3 being NaN (I am attaching the LOG file, the run script and the bldit script). Any insights of what it may be happening?


*** Subroutine: M3DRY
*** NEGATIVE or UNDEFINED Dry Deposition Velocity
*** Point = 14 1
*** Species = O3
*** Vd = NaN

 *** ERROR ABORT in subroutine M3DRY on PE 059           

PM3EXIT: DTBUF 8:01:15 May 2, 2012
Date and time 8:01:15 May 2, 2012 (2012123:080115)

CTM_LOG_059.v531_noisam_mpi_intel_SC_20120502.txt (62.6 KB) run_cctm_df12_all_gid402_CMAQ5.3.1_noisam.txt (35.2 KB) bldit_cctm_saprc07tc_ae6_aq_noisam.csh (28.6 KB)

1 Like

Have you fixed this issure yet?
I have the same issue as you,and I checked the M3DRY subroutine. I found that the issue may be caused by ‘Hg air surface exchange subroutine’ in m3dry.F or improper data in METCRO2D from MCIP.
I’m still trying to figure it out.Please inform me if you have any solutions.


In our case, I think it’s an issue with MCIP. I was trying to run the CMAQ 5.3.1 with input data that we used for our set-up with CMAQ 5.0.2.

We need to reprocess our WRF met fields, and see if that solves the issue. I’ll let you know if that works.




I solved the issue by using WPSv4.0.
A blog in chinese ([]) helped me a lot.
This issue occurs while there are ‘Flerchinger USEd in NEW version. Iterations= 10’ in rsl.out or SMOIS,SH2O=0 in wrfout,lead to zero in WR(canopy moisture content) in METCRO2D.These can be solved by using WPSv4.0.
Another blog explained the resaons([]).

Numerical problems can occur in these algorithms because the WRF model input has LAI=0 for grids located over the ocean or in ice-bound regions. The m3dry.F algorithm includes divide-by-LAI without protection for LAI being zero. This can cause the program to generate Inf or NaN values.

Hope this can help you.

1 Like

Thank you very much. We did not get too far on this, so this is going to help us enormously.



In addition,there’s another solution.I modified the m3dry.F and it works.

Hope this can help you.

The problem seems to come from some problem in the land and soil processing. One comment says that these problems happen when WFC is zero such as for a water or ice cell. However, this part of the code is only executed for vegetated land cells (NINT(GRID_DATA%LWMASK( c,r )) .NE. 0 ) .AND. ( vegcr .GT. 0.0 ). WFC should never be zero in such cells. If it is, that means there is an error upstream such that there is no soil data for the land cell. Should not have vegetation without soil. This should not be allowed because it will also cause errors in the LSM part of WRF. If we do as suggested checking for WFC = 0, then it is just covering up for an error upstream.

1 Like

Hello,I used WRF4.0, but that didn’t solve the problem.

Maybe you can modify the m3dry.F as I said in Apr 7 in this topic.It works successfully and this bug has never occured again.
Hope this can help you.

Hi there,
I modified the m3dry.F routine as C.W.Huang suggested, and it worked for me as well. I modeled Southern California, and we obtained similar model performance as with version 5.0.2.