<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252"><title>Minor bug found in Grell-Devenyi cumulus scheme (WRF 3.2.1 and WRF 3.3)</title>
</head>
<body>
<font face="Lucida Grande"><span style="font-size:11pt"><br>
All:<br>
<br>
I’ve found a minor bug in the Grell-Devenyi cumulus scheme while running a test domain including the Himalayas and with run time checking turned on. &nbsp;The relevant code is in lines 261-276 of module_cu_gd.F:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do k= &nbsp;kts&#43;1,ktf-1<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DO I = its,itf<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((p2d(i,1)-p2d(i,k)).gt.150.and.p2d(i,k).gt.300)then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dp=-.5*(p2d(i,k&#43;1)-p2d(i,k-1))<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;umean(i)=umean(i)&#43;us(i,k)*dp<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vmean(i)=vmean(i)&#43;vs(i,k)*dp<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pmean(i)=pmean(i)&#43;dp<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enddo<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;enddo<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DO I = its,itf<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;umean(i)=umean(i)/pmean(i)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vmean(i)=vmean(i)/pmean(i)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;direction(i)=(atan2(umean(i),vmean(i))&#43;3.1415926)*57.29578<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(direction(i).gt.360.)direction(i)=direction(i)-360.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDDO<br>
<br>
<br>
p2d is the 2D slab of pressure in mb. &nbsp;Pmean is an average pressure thickness of model levels below the 300 mb level and 150 mb above the model level closest to the ground. &nbsp;Pmean is initialized to zero earlier in the routine. &nbsp;In my test run, I encountered a situation in the Himalayas where the pmean value is not updated, triggering a division-by-zero error in the umean, vmean, and direction calculations. &nbsp;My suggested bug fix is:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DO I = its,itf<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!EMK Bug fix<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (pmean(i) &gt; 0) then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;umean(i)=umean(i)/pmean(i)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vmean(i)=vmean(i)/pmean(i)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;direction(i)=(atan2(umean(i),vmean(i))&#43;3.1415926)*57.29578<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(direction(i).gt.360.)direction(i)=direction(i)-360.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end if<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;!EMK END Bug fix<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ENDDO<br>
<br>
Note that umean and vmean are only used to calculate direction, and direction is initialized as zero. &nbsp;It does not appear that this direction variable is actually used anywhere else in the code (code fragments that did use it are all commented out), so this is a minor bug and bug fix that shouldn’t change simulation results. &nbsp;Nonetheless I suggest fixing it, since it can interfere with run-time checks for other errors (as it did in my test case!) and it could slow down the simulation by producing NaNs.<br>
<br>
-Eric<br>
<br>
</span></font><span style="font-size:11pt"><font face="Courier, Courier New">--------------------------------------------------------------------<br>
Eric M. Kemp &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Northrop Grumman Corporation<br>
Meteorologist &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Information Systems<br>
Civil Enterprise Solutions &nbsp;&nbsp;&nbsp;&nbsp;Civil Systems Division<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Goddard Space Flight Center<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Mailstop 610.3<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Greenbelt, MD 20771<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Telephone &nbsp;&nbsp;301-286-9768<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fax &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;301-286-1775<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail: &nbsp;&nbsp;&nbsp;&nbsp;<a href="eric.kemp@nasa.gov">eric.kemp@nasa.gov</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E-mail: &nbsp;&nbsp;&nbsp;&nbsp;<a href="eric.kemp@ngc.com">eric.kemp@ngc.com</a><br>
--------------------------------------------------------------------<br>
<br>
</font><font face="Lucida Grande"><br>
</font></span>
</body>
</html>