Bug report and fix from Do, Jong-Gwan, Cray Korea Inc.:
1. external/io_int/diffwrf.F and external/io_netcdf/diffwrf.F90 In the end of code near 393 line is as follows. IF ( rms2 .NE. 0 ) THEN tmp1 = 1.0d0/( ( abs( rms1 - rms2 ) ) / rms2 ) IF ( tmp1 .NE. 0 ) THEN digits = log10(tmp1) ENDIF ENDIF This will produce "divide by zero" if rms1 and rms2 is equal. So I tried the below change since digits are set 15 if rms1 and rms2 is equal. IF ( rms2 .NE. 0 .AND. digits .NE. 15 ) THEN tmp1 = 1.0d0/( ( abs( rms1 - rms2 ) ) / rms2 ) IF ( tmp1 .NE. 0 ) THEN digits = log10(tmp1) ENDIF ENDIF --------------------------------------------------------- Do, Jong-Gwan Cray Korea Inc. Application Analyst Phone : +82-2-834-0956 / (KMA Internal : 464) Mobile : +82-16-288-1855 E-mail : jgdo@cray.com ---------------------------------------------------------
Additional note. Once you have made the changes to the two files listed above, remove the .o, .f (lower-case f only), and .a files in the external/io_int and external/io_netcdf directories, then recompile the code. It is not be necessary to completely clean and recompile WRF to effect these changes.