<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5194173069787901343</id><updated>2011-07-07T16:05:01.878-07:00</updated><category term='ifort WRF OSX Intel-based'/><category term='ifort'/><category term='segfaults'/><category term='WRFV32'/><category term='g95 OSX PPC Linux'/><category term='WRF OSX PPC IBM XLF MPI'/><category term='g95 OSX PPC'/><category term='g95 ifort OSX'/><category term='WRFV300 G5 xlf'/><category term='MM5 ifort Mac OpenMP'/><category term='WRFV311'/><category term='WRFV300'/><category term='SnowLeopard'/><category term='ifort11.1'/><category term='ifort WRF OSX Intel-based 64bit'/><category term='ifort WRF OSX Intel-based 64bit NCAR graphics'/><category term='ifort11'/><category term='ifort OSX Intel-based'/><title type='text'>WRFblog</title><subtitle type='html'>Notes about running the WRF model on the Macintosh and other platforms.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-7909233667790577393</id><published>2010-06-27T11:33:00.000-07:00</published><updated>2010-06-27T11:38:25.710-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='segfaults'/><category scheme='http://www.blogger.com/atom/ns#' term='ifort11.1'/><category scheme='http://www.blogger.com/atom/ns#' term='ifort OSX Intel-based'/><category scheme='http://www.blogger.com/atom/ns#' term='WRFV32'/><title type='text'>Intel 11.1, OS X 10.6.4, Xcode 3.2.2, and WRF seg faults</title><content type='html'>This post was kindly provided by Dr. Lou Wicker of the National Severe Storms Laboratory.  Though I have updated to WRFv3.2, I'm still on ifort 11.0, Xcode 3.0 and Mac OS X 10.5.8.&lt;br /&gt;&lt;br /&gt;===================================&lt;br /&gt;&lt;br /&gt;When compiling WRF 3.2.1 [3.2 ?] using Intel 11.1 (v088) on Mac OS X 10.6.4, we recently kept having segmentation faults during runtime.  I managed to track down the problem to memory allocated in Thompson microphysics, where some arrays were allocated (successfully, I checked the status flag), and then a bad address to memory to the first element in the array in a nested do-loop caused the segmentation fault.  I "fixed" the Thompson code with static allocations of these arrays for a test (they were small), and then the segmentation fault occured in the solver_em routine.&lt;br /&gt;&lt;br /&gt;I then compiled WRF with a beta version of Intel v12 compiler (which I am testing), and this behavior does NOT occur.  &lt;br /&gt;&lt;br /&gt;I posted to Intel Premier, which I have to say is pretty responsive to the 2-3 issues I have ever posted.  The got back to me within a few hours. They pointed me to this 9 May 2010 note:&lt;br /&gt;&lt;br /&gt;http://software.intel.com/en-us/articles/intel-fortran-for-mac-os-x-incompatible-with-xcode-322/&lt;br /&gt;&lt;br /&gt;Which basically says that Apple, in version 3.2.2 of Xcode changed the loader in some way which is incompatible with Intel v11.1 which causes these segmentation faults.  Their simple answer is to either remain at Xcode v 3.2.1, although they say the compiler flag "-use-asm" might fix the problem.  In any event, this might save people a lot of hours of time and frustration. BTW, the WRF code ran 10-20 time steps using WSM5 with no problem using the "bad" Xcode version.&lt;br /&gt;&lt;br /&gt;Hope that is helpful to all the WRF'ers.&lt;br /&gt;&lt;br /&gt;Lou&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-7909233667790577393?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/7909233667790577393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=7909233667790577393' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/7909233667790577393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/7909233667790577393'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2010/06/intel-111-os-x-1064-xcode-322-and-wrf.html' title='Intel 11.1, OS X 10.6.4, Xcode 3.2.2, and WRF seg faults'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-8592000674257191551</id><published>2009-12-21T08:24:00.000-08:00</published><updated>2009-12-21T08:30:48.367-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SnowLeopard'/><category scheme='http://www.blogger.com/atom/ns#' term='ifort11'/><category scheme='http://www.blogger.com/atom/ns#' term='WRFV311'/><category scheme='http://www.blogger.com/atom/ns#' term='ifort'/><title type='text'>WRFV311 on Snow Leopard</title><content type='html'>I tried compiling WRF on a Snow Leopard (SL) Mac, and found I had to make a few adjustments to my configure.wrf files.  First of all, ifort version 11 appears to be needed.  I also needed to revert to the (now) older version of the gcc compiler.  Change "gcc" or "cc" on the SCC and CC_TOOLS lines to "gcc-4.0".  I'm not sure if this is ifort's problem or mine, but at least it appears to be resolved.&lt;br /&gt;&lt;br /&gt;The issue this resolved was a segfault in executing tools/registry for the creation of the module_state_description.F file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-8592000674257191551?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/8592000674257191551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=8592000674257191551' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/8592000674257191551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/8592000674257191551'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2009/12/wrfv311-on-snow-leopard.html' title='WRFV311 on Snow Leopard'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-4461714905896707278</id><published>2008-06-16T19:01:00.000-07:00</published><updated>2008-06-16T19:37:13.205-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WRFV300'/><category scheme='http://www.blogger.com/atom/ns#' term='ifort WRF OSX Intel-based'/><title type='text'>WRFV300 update: two items</title><content type='html'>(1) In WRFV300 on the Mac, using the Intel Fortran 10.1 compiler, the compiler flag &lt;tt&gt;–switch fe_use_rtl_copy_arg_inout&lt;/tt&gt; causes problems that weren't apparent with earlier WRF versions.  Specifically, lateral boundary tendencies for water vapor are zeroed, resulting in problems in this field that grow inward from the boundaries.  In the &lt;tt&gt;wrfbdy_d01&lt;/tt&gt; file, fields like &lt;tt&gt;QVAPOR_BXE&lt;/tt&gt; and related entries possess only zeroes.  This file is, of course, created by &lt;tt&gt;real.exe&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;I added this switch owing to &lt;a href="http://support.intel.com/support/performancetools/sb/CS-028607.htm"&gt;this page&lt;/a&gt;.  Removing it does no harm.  I tried several minor versions of ifort 10.1, explored 32 and 64 bit, etc.; nothing helped fix this issue except removing this switch.  &lt;br /&gt;&lt;br /&gt;(2) In WRFV300, the Lin microphysics scheme (&lt;/tt&gt;mp_physics = 2&lt;/tt&gt;) has issues -- noise issues.  After only a few tens of minutes, the pressure field starts displaying small scale noise.  Decreasing the time step, implementing 6th order smoothing, and upping the small time step smoothing (&lt;tt&gt;epssm&lt;/tt&gt;) do not help.  For the simulations I am examining, the noise does not appear with any other microphysics scheme.  With Lin, the noise appears in higher but not in lower resolution simulations.&lt;br /&gt;&lt;br /&gt;The Lin code was altered between WRFV221 and WRV300.  I have not isolated the code changes that cause this problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-4461714905896707278?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/4461714905896707278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=4461714905896707278' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/4461714905896707278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/4461714905896707278'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2008/06/wrfv300-update-two-items.html' title='WRFV300 update: two items'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-367961654541476999</id><published>2008-05-01T17:20:00.000-07:00</published><updated>2008-06-10T08:48:07.489-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ifort WRF OSX Intel-based 64bit NCAR graphics'/><title type='text'>Playing with WRF3 (WRFV300, WPSV300) - part II</title><content type='html'>Some updates: In the post &lt;a href="http://macwrf.blogspot.com/2008/04/playing-with-wrf3-wrfv300-wpsv300-part.html"&gt;Playing with WRF3 (WRFV300, WPSV300) - part I&lt;/a&gt; below, I mentioned that WRFV300's OpenMP was broken on Mac and Linux, using ifort and pgf.  This problem is solved.  OpenMP isn't working in the stock configuration because the &lt;tt&gt;$(OMP)&lt;/tt&gt; declaration was not defined in &lt;tt&gt;FCFLAGS&lt;/tt&gt;.  It was declared in &lt;tt&gt;LDFLAGS&lt;/tt&gt;, so the model seemed to go through the motions of spawning the requested number of threads.  But, its absence from &lt;tt&gt;FCFLAGS&lt;/tt&gt; means that OpenMP support was not actually complied in the code.&lt;br /&gt;&lt;br /&gt;The remedy for this is to edit &lt;tt&gt;arch/postamble_new&lt;/tt&gt; and insert &lt;tt&gt;$(OMP)&lt;/tt&gt; on the &lt;tt&gt;FCFLAGS&lt;/tt&gt; line.&lt;br /&gt;&lt;br /&gt;I also have WPSV300 working on my Intel Mac, because I did manage to get a 64 bit version of NCAR Graphics compiled and running.  I will update this post to describe how this was done in the future.&lt;br /&gt;&lt;br /&gt;[EDIT 10 June 2008: Some additional information..&lt;br /&gt;* My 64 bit NCAR Graphics binaries built on my MacPro are &lt;br /&gt;&lt;a href="http://www.atmos.ucla.edu/~fovell/ncarg64_macpro_64bit.tar.gz"&gt;here&lt;/a&gt;.  This is an 18MB gzipped tar file.  &lt;b&gt;It does not include all of NCL, just NCAR Graphics.&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;* For this build of NCAR Graphics, you need to include the &lt;b&gt;-ncarbd&lt;/b&gt; flag with ncargf77, ncargf90 or ncargex.  Or, when compiling with ifort, you need to link in &lt;b&gt;/usr/local/ncarg64/lib/ncarg/robj/libncarbd.o&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;* With this NCAR Graphics, I had no trouble building WPSV300 and RIP4 64bit on the MacPro.&lt;br /&gt;&lt;br /&gt;* Here are my build notes for NCAR Graphics 64 bit on the MacPro, using ifort.  Of course, you need to change locations, etc..&lt;br /&gt;&lt;br /&gt;setenv NCARG /case/ncl_ncarg-5.0.0&lt;br /&gt;setenv NCARG_ROOT /case/ncl_ncarg-5.0.0&lt;br /&gt;setenv NCARG_CONFIG /case/ncl_ncarg-5.0.0/config&lt;br /&gt;&lt;br /&gt;cd config&lt;br /&gt;./ymake&lt;br /&gt;./Configure&lt;br /&gt;..then, as root&lt;br /&gt;mkdir /usr/local/ncarg64&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;edited config/Darwin_Intel and ran Configure again&lt;br /&gt;&lt;br /&gt;ulimit -s 65530&lt;br /&gt;compile as root, so source ifortvars.sh&lt;br /&gt;&lt;br /&gt;had been getting segfaults with fontcap.  Resolved by editing yMakefile in /case/ncl_ncarg-5.0.0/common/src/libncarg_c/yMakefile for Darwin section to make it like Linux x86_64 section.  That is,&lt;br /&gt;&lt;br /&gt;#elif defined(Darwin) &amp;&amp; defined(i386)&lt;br /&gt;EXCSRCS = bcopyswap.c logic32.c&lt;br /&gt;EXFSRCS = gbytes.f sbytes.f&lt;br /&gt;EXOBJS  = sbytes.o gbytes.o bcopyswap.o logic32.o&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-367961654541476999?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/367961654541476999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=367961654541476999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/367961654541476999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/367961654541476999'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2008/05/playing-with-wrf3-wrfv300-wpsv300-part.html' title='Playing with WRF3 (WRFV300, WPSV300) - part II'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-4462485086895042483</id><published>2008-04-16T19:39:00.000-07:00</published><updated>2008-06-03T06:19:10.807-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WRFV300 G5 xlf'/><title type='text'>WRFV300 on Mac G5 (XLF compiler)</title><content type='html'>Here are alterations to the stock WRF version 3.0.0 release I had to get it working on Mac/G5 equipment.  This was tested on Macs using Tiger.  Everything is 32 bit.  The diffwrf program does not compile, but can probably be made to work fairly easily.&lt;br /&gt;&lt;br /&gt;(1) Here are replacement files for the &lt;tt&gt;arch&lt;/tt&gt; directory: &lt;a href="http://homepage.mac.com/parody/WRFV300XLF/configure_new.defaults"&gt;configure_new.defaults&lt;/a&gt;, &lt;a href="http://homepage.mac.com/parody/WRFV300XLF/noopt_exceptions_f"&gt;noopt_exceptions_f&lt;/a&gt;, and &lt;a href="http://homepage.mac.com/parody/WRFV300XLF/postamble_new"&gt;postamble_new&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(2) Replacement file for the &lt;tt&gt;external/RSL_LITE&lt;/tt&gt; directory:  &lt;a href="http://homepage.mac.com/parody/WRFV300XLF/makefile"&gt;makefile&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;(3) Replacement file for the &lt;tt&gt;frame&lt;/tt&gt; directory:  &lt;a href="http://homepage.mac.com/parody/WRFV300XLF/frame.Makefile"&gt;frame.Makefile&lt;/a&gt; (rename as Makefile)&lt;br /&gt;&lt;br /&gt;(4)  Replacement file for the &lt;tt&gt;dyn_em&lt;/tt&gt; directory:  &lt;a href="http://homepage.mac.com/parody/WRFV300XLF/module_first_rk_step_part1.F"&gt;module_first_rk_step_part1.F&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The file module_first_rk_step_part1.F is altered to remove unnecessary whitespace in the subroutine call to surface_driver.  As it is, the number of characters in that call exceeds the allowable maximum for xlf on the Mac.&lt;br /&gt;&lt;br /&gt;This image shows performance for the two-domain June 2001 test case on a G5 cluster (mpich1, no fancy interconnects whatsoever), a 12 hour run on the number of cpus indicated.  The real times are the relevant numbers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://homepage.mac.com/parody/wrfv300_xlf_timing.png" width=400&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-4462485086895042483?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/4462485086895042483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=4462485086895042483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/4462485086895042483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/4462485086895042483'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2008/04/wrfv300-on-mac-g5-xlf-compiler.html' title='WRFV300 on Mac G5 (XLF compiler)'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-3123814478904037585</id><published>2008-04-16T19:24:00.000-07:00</published><updated>2008-04-17T18:57:22.160-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MM5 ifort Mac OpenMP'/><title type='text'>MM5 on Mac Intel (OpenMP)</title><content type='html'>Although this is my WRF on Mac blog, I'm also still using MM5 for some projects, and need to run it on my Macs.  Recently, I tried to use it on my 8 core Mac Pro, using Intel Fortran 10 and OpenMP.  &lt;i&gt;All this is done on a HFSX (case-sensitive) volume&lt;/i&gt;.  So far, it appears to be running well, with some caveats.  One is that the build is 32 bit.  My attempts at 64 bit builds, even after invoking flags like &lt;tt&gt;-DDEC_ALPHA&lt;/tt&gt; and &lt;tt&gt;-DSGI_IA64&lt;/tt&gt;, found referenced on the web, were successful but segfault immediately on execution.&lt;br /&gt;&lt;br /&gt;Another is that the model actually takes or requires one more thread than is requested using the &lt;tt&gt;OMP_NUM_THREADS&lt;/tt&gt; specification.  Thus, if I request 6 threads, it actually spawns and apparently uses 7.  Additionally, despite having 8 cores, I cannot request more than 6 and have the model run successfully.  It should not need more than 7 in that instance, and thus should run.  I'm not sure why it does not.&lt;br /&gt;&lt;br /&gt;Getting MM5 compiled on the Mac Pro was easy once a change was made to the way suffixes are handled in &lt;tt&gt;configure.user&lt;/tt&gt;.  Intel Fortran complained about #define type statements in the code that also had comments attached beyond column 72.  The workaround was to force each Fortran program file through the CPP preprocessor.  That was done by &lt;b&gt;removing&lt;/b&gt; the rule at the bottom of &lt;tt&gt;configure.user&lt;/tt&gt; that looks like this:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;.F.o:&lt;br /&gt;        $(RM) $@&lt;br /&gt;        $(FC) -c $(FCFLAGS) $*.F&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;This rule compiles files ending with .F without involving the CPP preprocessor.  Removing it causes other rules already in place to first push .F files through the preprocessor, and then compile the .f files that result from that operation.  Remember, this has to be done on a case-sensitive volume.&lt;br /&gt;&lt;br /&gt;I also had to manually add &lt;tt&gt;#include &lt;stdlib.h&gt;&lt;/tt&gt; to &lt;tt&gt;Util/parseconfig.c&lt;/tt&gt; to avoid a compilation error.  The portion of &lt;tt&gt;configure.user&lt;/tt&gt; that concerns compilation looks like this:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;RUNTIME_SYSTEM = "macintel"&lt;br /&gt;FC = ifort&lt;br /&gt;FCFLAGS = -I$(LIBINCLUDE) -pc32 -O3 -convert big_endian -fp-model precise -openmp -fpp -allow fpp-comments  -auto -traceback #-DDEC_ALPHA&lt;br /&gt;CPP = /usr/bin/cpp&lt;br /&gt;CFLAGS = -O #-DSGI_IA64&lt;br /&gt;CPPFLAGS = -I$(LIBINCLUDE) -I. -C -P  -traditional -xassembler-with-cpp&lt;br /&gt;LDOPTIONS = $(FCFLAGS) -Wl,-stack_size -Wl,0x20000000 -Wl,-stack_addr -Wl,0xd0000000&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Here is a sample timing plot for a triply nested 24 hour simulation, revealing results I am not unhappy with:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://homepage.mac.com/parody/mm5_macpro_timing.png" width=400&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-3123814478904037585?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/3123814478904037585/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=3123814478904037585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/3123814478904037585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/3123814478904037585'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2008/04/mm5-on-mac-intel-openmp.html' title='MM5 on Mac Intel (OpenMP)'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-3405497185236448191</id><published>2008-04-05T22:55:00.001-07:00</published><updated>2008-04-05T23:13:29.131-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WRFV300'/><title type='text'>Playing with WRF3 (WRFV300, WPSV300) - part I</title><content type='html'>WRF v.3.0.0 was released yesterday, and I decided to see if it would be any easier to get it to run well on my Intel-based Mac Pro, with the latest ifort 10 compiler.  I also tested it on two Linux machines, one with the same chip type and ifort version, the other with older 32 bit hardware and software (ifort 9).   I also built WRF with PGI Fortran on the older machine, for a total of four different combinations of hardware and software (one Mac, three Linux; three ifort, one PGI).&lt;br /&gt;&lt;br /&gt;The good news is the configuration system is a lot more slick.  The bad news for the Mac Pro is the executables would not build with the stock configure.wrf obtained for ifort and OMP.  A few alterations were necessary on my Mac:&lt;br /&gt;&lt;br /&gt;(1) I'm using 64 bit compilers, so I needed to add "-m64" to &lt;tt&gt;CFLAGS_LOCAL&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;(2) To get rid of missing symbols (that didn't draw complaints on either Intel Linux build), I had to add "$(WRF_SRC_ROOT_DIR)/frame/module_domain_type.o  $(WRF_SRC_ROOT_DIR)/external/io_grib2/grib2tbls_types.o" to &lt;tt&gt;LDFLAGS_LOCAL&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;Then, the weirdness started.  On the two Core Quad machines (Mac and Linux), the OMP ifort build doesn't spawn more than one thread or capture more than 100% according to top and Activity Monitor, despite the setting for OMP_NUM_THREADS.  It seems OMP is broken, and it's not platform-specific.&lt;br /&gt;&lt;br /&gt;WRF3 is not backward compatible with respect to input files, and this makes upgrading WPS a must.  But the new version of WPS' geogrid program isn't working anywhere.  It spits out a segfault (at the same place) even when trying to build the example domain.  Same experience with ifort and PGI, on the two Linux machines.  I verified that the WPS_GEOG data have not changed, so it's not that.  &lt;br /&gt;&lt;br /&gt;No Mac WPS yet since I don't have, and have been unable as of yet to successfully build, NCL for 64 bit on the Mac.  I tried to create parallel 64 and 32 bit versions of WRF and WPS (and all other necessary software) to circumvent this, but decided not to continue since the new WPS is not working yet on the Linux boxes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-3405497185236448191?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/3405497185236448191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=3405497185236448191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/3405497185236448191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/3405497185236448191'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2008/04/playing-with-wrf3-wrfv300-wpsv300-part.html' title='Playing with WRF3 (WRFV300, WPSV300) - part I'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-6792359863322159396</id><published>2008-03-26T11:10:00.000-07:00</published><updated>2008-04-01T14:39:19.768-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ifort WRF OSX Intel-based 64bit'/><title type='text'>WRFV221 on dual quad Mac Pro</title><content type='html'>Here are my recent trials of WRF v.2.2.1 on a dual-quad Mac Pro with Intel Fortran (10.1.012) and gcc.  &lt;b&gt;The 64 bit version of the compilers are used&lt;/b&gt;.  The machine has 8 GB of memory.  Trials include OMP and MPI versions, the latter based on mpich2.  &lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;netcdf compilation for 64 bit (based on netcdf-3.6.0-p1)&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;export CC=/usr/bin/gcc&lt;br /&gt;export CPPFLAGS="-O -DNDEBUG -DpgiFortran"&lt;br /&gt;export CFLAGS="-O -m64"&lt;br /&gt;export CXX=/usr/bin/c++&lt;br /&gt;export CXXFLAGS="-O -m64"&lt;br /&gt;&lt;br /&gt;export FC=ifort&lt;br /&gt;export F77=ifort&lt;br /&gt;export F90=ifort&lt;br /&gt;export FFLAGS="-O3 -mp"&lt;br /&gt;export F90FLAGS="-O3 -mp"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;./configure --prefix=/usr/local/netcdf&lt;br /&gt;make&lt;br /&gt;make test&lt;br /&gt;sudo mkdir /usr/local/netcdf&lt;br /&gt;sudo make install&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;jasper compilation for 64 bit (based on jasper-1.701.0)&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;setenv CC /usr/bin/gcc&lt;br /&gt;setenv CFLAGS "-O -m64"&lt;br /&gt;setenv CXX /usr/bin/c++&lt;br /&gt;setenv CXXFLAGS "-O -m64"&lt;br /&gt;&lt;br /&gt;./configure --prefix=/usr/local/jasper&lt;br /&gt;make&lt;br /&gt;sudo make install&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;mpich2 compilation for 64 bit (based on mpich2-1.0.5)&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;setenv FC ifort&lt;br /&gt;setenv F90 ifort&lt;br /&gt;setenv CC "gcc -m64"&lt;br /&gt;setenv RSHCOMMAND "/usr/bin/ssh"&lt;br /&gt;setenv CXX "/usr/bin/c++ -m64"&lt;br /&gt;setenv FFLAGS "-xP -vec- -fp-model precise"&lt;br /&gt;setenv F90FLAGS "-xP -vec- -fp-model precise"&lt;br /&gt;./configure --with-comm=shared&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;test run&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;The test run is a short simulation with three telescoping, two-way domains (142x100, 100x100 and 100x100, with 35 vertical levels).  Flags were chosen to reproduce output file cksums of a completely unoptimized simulation requesting strict arithmetic.  The OMP version occasionally produces different results, apparently randomly.&lt;br /&gt;&lt;br /&gt;Timing plot:&lt;br /&gt;&lt;img src="http://homepage.mac.com/parody/wrfv221_timing.png" width=400&gt;&lt;br /&gt;&lt;br /&gt;The plot below adds results from a single 2.4GHz quad-core machine, running Mandriva Linux, for OMP runs built using the same configuration file as linked below (save Mac-specific references removed).  For the four thread run, the 2.4 GHz run is 33% slower, though the clock speed difference is only 17%.  Checksums were the same for all the runs.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://homepage.mac.com/parody/wrfv221_timing2.png" width=400&gt;&lt;br /&gt;&lt;br /&gt;Configuration files are here: &lt;a href="http://homepage.mac.com/parody/configure.wrf.try25" target="new"&gt;OMP version&lt;/a&gt;,&lt;a href="http://homepage.mac.com/parody/configure.wrf.mpi07" target="new"&gt; MPI version&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;[edited 1  April 2008 to include the compilation for netcdf, jasper and mpich2 and to clarify this is for 64 bit compilers.]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-6792359863322159396?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/6792359863322159396/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=6792359863322159396' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/6792359863322159396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/6792359863322159396'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2008/03/wrfv221-on-dual-quad-mac-pro.html' title='WRFV221 on dual quad Mac Pro'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-3108932167872467856</id><published>2007-12-20T23:51:00.000-08:00</published><updated>2007-12-21T00:00:07.407-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WRF OSX PPC IBM XLF MPI'/><title type='text'>WRFV221 Mac PowerPC w/ IBM xlf and MPI</title><content type='html'>My recent tests using the presently latest WRF version, v.2.2.1, on a PowerPC-based Mac using XLF and MPI appears to be all good, even with nesting.  Two files are needed for this:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://homepage.mac.com/parody/configure.defaults.macxlfmpi_additions"&gt;Additions for &lt;tt&gt;arch/configure.defaults&lt;/tt&gt;.&lt;/a&gt; &lt;br&gt;&lt;br /&gt;&lt;a href="http://homepage.mac.com/parody/rsl_malloc.c.mac"&gt;Replacement for &lt;tt&gt;external/RSL_LITE/rsl_malloc.c&lt;/tt&gt;.&lt;/a&gt;  Rename file after downloading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-3108932167872467856?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/3108932167872467856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=3108932167872467856' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/3108932167872467856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/3108932167872467856'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2007/12/wrfv221-mac-powerpc-w-ibm-xlf-and-mpi.html' title='WRFV221 Mac PowerPC w/ IBM xlf and MPI'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-5960749814443498830</id><published>2007-09-16T15:57:00.000-07:00</published><updated>2007-09-16T16:19:48.870-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ifort WRF OSX Intel-based'/><title type='text'>WRFV22 on a dual quad-core Intel Mac</title><content type='html'>Here are some notes on a recent attempt to run WRF on a dual quad-core Intel Mac, which I received as a loaner from Apple.  In the two weeks I had the machine, I made progress, but it's clear from my notes below I didn't pass the finish line.  For one thing, I was unable to get even medium-sized jobs to run in the 64 bit environment -- and the tricks for accessing memory that worked with 32 bits fail.  In 32 bit land, there is still a limit on the job size, which is apparently due to Apple's internal memory allocation restrictions.&lt;br /&gt;&lt;br /&gt;Executive summary: I was able to get all 8 cpus working for me, tho the scaling wasn't the best, and the key turned out to be: (a) moving to mpich-2; AND (b) using --with-comm=shared.  An important goal for me is getting results that do not vary with the number of processors used.  With OMP, that required the ifort flag '-fp-model precise'.  I also used this flag in the WRF code and when compiling mpich-2.&lt;br /&gt;&lt;br /&gt;** These notes assume the 32 bit ifort compiler.  I used ifort 10.0.017.  These notes presume WRF model changes documented on previous posts.  Compilation and execution took place on an HFSX-formatted disk.&lt;br /&gt;&lt;br /&gt;(1) netcdf-3.6.2&lt;br /&gt;&lt;br /&gt;export CC=/usr/bin/gcc&lt;br /&gt;export CPPFLAGS="-O -DNDEBUG -DpgiFortran"&lt;br /&gt;export CFLAGS="-O"&lt;br /&gt;export CXX=/usr/bin/c++&lt;br /&gt;export CXXFLAGS="-O"&lt;br /&gt;&lt;br /&gt;export FC=ifort&lt;br /&gt;export F77=ifort&lt;br /&gt;export F90=ifort&lt;br /&gt;export FFLAGS="-O3"&lt;br /&gt;export F90FLAGS=&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;./configure --prefix=/usr/local/netcdf&lt;br /&gt;make&lt;br /&gt;make test&lt;br /&gt;make check&lt;br /&gt;sudo mkdir /usr/local/netcdf&lt;br /&gt;sudo make install&lt;br /&gt;&lt;br /&gt;(2) MPICH-2 (mpich2-1.0.5p4)&lt;br /&gt;&lt;br /&gt;setenv FC ifort&lt;br /&gt;setenv F90 ifort&lt;br /&gt;setenv CC "gcc"&lt;br /&gt;setenv RSHCOMMAND "/usr/bin/ssh"&lt;br /&gt;setenv CXX "/usr/bin/c++"&lt;br /&gt;setenv FFLAGS "-xP -vec- -fp-model precise"&lt;br /&gt;setenv F90FLAGS "-xP -vec-  -fp-model precise"&lt;br /&gt;./configure --with-comm=shared&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;(3) Modify external/RSL_LITE/buf_for_proc.c to add "extern" before "char mess" (resolves a problem that crops up specifically with mpich-2)&lt;br /&gt;&lt;br /&gt;(4) configure.wrf files I used for these tests: &lt;a href="http://homepage.mac.com/parody/APPLE_LOANER_WRF.zip"&gt;APPLE_LOANER_WRF.zip&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-5960749814443498830?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/5960749814443498830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=5960749814443498830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/5960749814443498830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/5960749814443498830'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2007/09/wrfv22-on-dual-quad-core-intel-mac.html' title='WRFV22 on a dual quad-core Intel Mac'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-6081256457790676419</id><published>2007-07-05T16:09:00.001-07:00</published><updated>2007-07-05T23:27:48.926-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='g95 ifort OSX'/><title type='text'>WRFV22 on Mac Intel update... ifort and g95</title><content type='html'>The ZIP file linked below has been updated to reflect further progress made in getting WRFV22 to work on a Core Duo MacBook using Intel ifort and g95.  As before, I am using mpich-1.2.5 for the MPI builds.  My latest tests have employed ifort 10.0 and the most recent g95 at this writing.  The g95 sections also are usable on PPC Macs.&lt;br /&gt;&lt;br /&gt;For the most part, these configurations pass my "consistency tests", with some reservations.  Consistency means that the MPI executables generate bitwise identical output, irrespective of the number of processors selected.  However, if the domain is too finely subdivided, the results will start varying.  I also encountered a test case in which identical results were generated for between 2-24 CPUs, inclusive, but results using only 1 CPU were different, which I cannot yet explain.&lt;br /&gt;&lt;br /&gt;Results are not bitwise identical among compilers, or for the g95 versions when built on Intel and PPC architectures.  However, I have not noted anything particularly amiss in the output.  g95 executables from the PPC architecture can be executed on Intel (albeit slowly), and I've found this yields the same results obtained on PPC.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://homepage.mac.com/parody/WRFV22_MacIntel_mods.zip"&gt;WRFV22_MacIntel_mods.zip&lt;/a&gt; (as of July 5, 2007).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-6081256457790676419?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/6081256457790676419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=6081256457790676419' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/6081256457790676419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/6081256457790676419'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2007/07/wrfv22-on-mac-intel-update-ifort-and.html' title='WRFV22 on Mac Intel update... ifort and g95'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-2194736001494954582</id><published>2007-04-19T19:34:00.000-07:00</published><updated>2007-04-19T19:39:33.114-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ifort OSX Intel-based'/><title type='text'>WRFV22 on Mac Intel w/ ifort</title><content type='html'>The zip archive below contains WRFV22 code modifications for an Intel-based Mac with the Intel Fortran compiler (ifort).  I have been able to run the single-threaded and OMP versions without problem, but my tests with the MPI version (RSL and RSL_LITE) with mpich-1.2.5 have not produced results that are the same when one and two processors are requested.  This has only been tested on a MacBook with a Core Duo processor.  So, use at your own risk.  Feedback appreciated.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://homepage.mac.com/parody/WRFV22_MacIntel_mods.zip"&gt;WRFV22_MacIntel_mods.zip&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-2194736001494954582?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/2194736001494954582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=2194736001494954582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/2194736001494954582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/2194736001494954582'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2007/04/wrfv22-on-mac-intel-w-ifort.html' title='WRFV22 on Mac Intel w/ ifort'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-4777656703544757939</id><published>2007-04-15T22:50:00.000-07:00</published><updated>2007-04-15T23:04:17.531-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='g95 OSX PPC'/><title type='text'>WRFV22 g95 on Mac supporting programs</title><content type='html'>Previously, I reported that I had to use tcsh to run WRFV22.  Turns out I can run in bash if I specifically set the stacksize and datasize as follows&lt;br /&gt;&lt;br /&gt;ulimit -s 65536 &lt;br /&gt;ulimit -d unlimited&lt;br /&gt;&lt;br /&gt;To go along with the &lt;a href="http://homepage.mac.com/parody/configure_g95_ppc_1.txt"&gt;configure.defaults&lt;/a&gt; additions for g95 on Mac PPC, here are the flags I used for NetCDF and MPICH to get everything working.  Specific versions of these programs I used were 3.6.0-p1 for NetCDF and 1.2.5 for MPICH.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;netcdf-3.6.0-p1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;* I used tcsh for the compilation&lt;br /&gt;&lt;br /&gt;setenv CC /usr/bin/gcc&lt;br /&gt;setenv CPPFLAGS "-O -DNDEBUG -DpgiFortran"&lt;br /&gt;setenv CFLAGS "-O"&lt;br /&gt;setenv CXX /usr/bin/c++&lt;br /&gt;setenv CXXFLAGS "-O"&lt;br /&gt;&lt;br /&gt;setenv FC g95&lt;br /&gt;setenv F77 g95&lt;br /&gt;setenv F90 g95&lt;br /&gt;setenv FFLAGS "-O3 -fno-second-underscore"&lt;br /&gt;setenv FCFLAGS "-O3 -fno-second-underscore"&lt;br /&gt;setenv F90FLAGS "-O3 -fno-second-underscore"&lt;br /&gt;&lt;br /&gt;./configure&lt;br /&gt;* I then edited "macros.make", adding:&lt;br /&gt;FLIBS           = -lSystemStubs&lt;br /&gt;F90LIBS         = -lSystemStubs&lt;br /&gt;&lt;br /&gt;./make&lt;br /&gt;./make test&lt;br /&gt;[all tests were found to work]&lt;br /&gt;make install&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;mpich-1.2.5&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;* I used tcsh for the compilation&lt;br /&gt;&lt;br /&gt;setenv FC g95&lt;br /&gt;setenv F90 g95&lt;br /&gt;setenv RSHCOMMAND "/usr/bin/ssh"&lt;br /&gt;setenv CC gcc&lt;br /&gt;setenv CXX gcc&lt;br /&gt;setenv LIBS "-lSystemStubs"&lt;br /&gt;setenv FFLAGS "-fno-second-underscore"&lt;br /&gt;setenv F90FLAGS "-fno-second-underscore"&lt;br /&gt;setenv CFLAGS "-fno-common -DFORTRANUNDERSCORE"&lt;br /&gt;&lt;br /&gt;./configure --with-device=ch_p4 --without-romio&lt;br /&gt;./make&lt;br /&gt;&lt;br /&gt;* On one Mac PPC machine, I had to add -lstdc++ to LIBS, but another failed to work if that was done&lt;br /&gt;&lt;br /&gt;* Although mpich compiles fine, the example programs would not compile without manually adding the "-fno-second-underscore" flag.  Example:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;mpif77 -fno-second-underscore -c fpi.f&lt;br /&gt;mpif77 -o fpi fpi.o&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-4777656703544757939?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/4777656703544757939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=4777656703544757939' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/4777656703544757939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/4777656703544757939'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2007/04/wrfv22-g95-on-mac-supporting-programs.html' title='WRFV22 g95 on Mac supporting programs'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-6245467494421639002</id><published>2007-02-21T07:31:00.000-08:00</published><updated>2007-02-21T08:08:18.913-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='g95 OSX PPC Linux'/><title type='text'>WRFV22 g95 update 2/21/07</title><content type='html'>Here is an update on g95 with WRF version 2.2 on Mac OS X (PPC G5) and a Linux (Athlon) box.  As noted below, WRFV22 produces usable (but not yet verified correct) runs with nesting on PPC with g95, whereas xlf still does not.  This is likely an xlf compiler bug specific to OS X.  The test case for this particular experiment consists of a single 150 x 150 grid point domain.  Model configurations, independent of compiler, are: RSL_LITE, mpich-1.2.5, allows nesting.  The executables represent&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; g95 on OS X/PPC (donar_g95)&lt;br /&gt;&lt;li&gt; xlf on OSX/PPC (donar_xlf)&lt;br /&gt;&lt;li&gt; g95 on Mandriva Linux/Athlon (cascade_g95)&lt;br /&gt;&lt;li&gt; ifort on Mandriva Linux/Athlon (cascade_ifort)&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The first thing I check is to see if the model produces the same results, as verified by checksums and visual inspection of plotted fields, independent of the number of cpus -- at least until the domain becomes too finely subdivided.  So far in this experiment, &lt;b&gt;only g95 on OS X/PPC is passing that test&lt;/b&gt;.  (It is likely that ifort will also pass, but that portion of the experiment is not yet finished.)  The checksums are the same for runs with 1 to 24 cpus.  For xlf on OS X/PPC, runs with 1, 2, 12 and 18 cpus produce one particular checksum while 4, 6, 8, 10 and 14 cpus result in another.  16 and 20 cpus result in a third checksum, and 24 cpus produces a fourth sum.  The 12 hour forecast fields differ in some respects, with patterns that suggest roundoff errors.&lt;br /&gt;&lt;br /&gt;Unsurprisingly, g95 is slower than a commercial compiler on the same hardware.  The plot below presents timing results obtained thusfar.  There are gaps in the data, and some degree of inconsistency regarding how the time function works on OS X and Linux.  I will redo these statistics using &lt;a href="http://cyclone.atmos.uiuc.edu/~bjewett/wrf/optim.html"&gt;Brian Jewett's scripts&lt;/a&gt; for extracting timings from the rsl.out.0000 files.  Also, for g95 on OS X/PPC, I/O is a bottleneck.  Running with nio_tasks_per_group &gt; 0 appears to help a lot.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://homepage.mac.com/parody/wrfv22_tests_1.jpg" target="new"&gt;&lt;img src="http://homepage.mac.com/parody/wrfv22_tests_1.jpg" width=400&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Click the image to open a larger version in a new window.&lt;br /&gt;&lt;br /&gt;Here is the latest &lt;a href="http://homepage.mac.com/parody/configure_g95_ppc_1.txt"&gt;configure.wrf segment&lt;/a&gt; for my g95 OS X PPC runs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-6245467494421639002?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/6245467494421639002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=6245467494421639002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/6245467494421639002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/6245467494421639002'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2007/02/wrfv22-g95-update-22107.html' title='WRFV22 g95 update 2/21/07'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5194173069787901343.post-762256405302666055</id><published>2007-02-11T10:33:00.000-08:00</published><updated>2007-02-11T11:28:26.892-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='g95 OSX PPC Linux'/><title type='text'>Experiments with g95 on OSX/PPC and Linux/x86</title><content type='html'>I have been trying to get WRF nesting working properly on a Mac PPC cluster.  Eventually, this will expand to a Mac Intel machine/cluster.  This effort will be successful when the nesting/MPI code produces: (1) the same results on a given machine, independent of the number of nodes requested; and (2) results that do not diverge significantly from those obtained on other platforms.  The first efforts involved the IBM xlf compiler.  I have been able to get WRFV212 and WRFV22 to compile and run, but the results vary with the number of modes requested -- at least for runs involving more than one domain.  Single domain runs have been fine, independent of the number of processors employed.&lt;br /&gt;&lt;br /&gt;Frustration with this led me to consider the &lt;a href="www.g95.org"&gt;g95&lt;/a&gt; compiler.  For comparison and context, I'm running WRFV22 with g95 on the Mac PPC cluster ("donar") as well as on an Athlon cluster ("cascade") running Mandriva Linux.  Both g95 compilers are version 0.91, the most recent at this writing.  The latter also has Intel Fortran (version 9.1.036).  Builds of WRF with g95 use netcdf (version 3.6.0-p1) and mpich (version 1.2.5) compiled using g95; ifort builds use ifort-made versions of the same software.&lt;br /&gt;&lt;br /&gt;Test case is a two domain run (D1 is 40x40 at 60 km resolution; D2 is 28x28 at 20 km; 31 vertical grid levels), run for 12 hours over the midwest US.  &lt;br /&gt;&lt;br /&gt;Status as of 11 February 2007: Results vary with the number of cpus requested for all combinations tested thusfar, but the point of divergence depends on the compiler and optimization level.  At some extreme, it is possible that dividing up a small domain too finely might provoke rounding errors; this is speculation.  Divergence is determined by two criteria, &lt;b&gt;both&lt;/b&gt; of which must be present: difference in cksum on the wrfout_d02 files, and differences in fields visualized using GrADS, created using wrf_to_grads.  In some cases, wrfout_d02 files have differed only in a few apparently unimportant lines (ascertained by examining dumps with ncdump) for a variable called snow density.&lt;br /&gt;&lt;br /&gt;Summary:&lt;br /&gt;&lt;br /&gt;cascade/ifort -- results diverge after 6 cpus (results for 1-6 cpus identical)&lt;br /&gt;cascade/g95 standard - results diverge after 4 cpus (results for 1-4 cpus identical)&lt;br /&gt;cascade/g95 debug -- results diverge after 3 cpus (results for 1-3 cpus identical)&lt;br /&gt;donar/g95 debug -- results diverge after 2 cpus (results for 1 and 2 cpus identical)&lt;br /&gt;donar/g95 standard -- results diverge after 6 cpus (results for 1-6 cpus identical)&lt;br /&gt;&lt;br /&gt;Results differ for g95 runs between the two platforms even at the same optimization level.&lt;br /&gt;&lt;br /&gt;One next step may be to work with a larger domain, to see if it delays divergence as the number of processors requested increases.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5194173069787901343-762256405302666055?l=macwrf.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://macwrf.blogspot.com/feeds/762256405302666055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5194173069787901343&amp;postID=762256405302666055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/762256405302666055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5194173069787901343/posts/default/762256405302666055'/><link rel='alternate' type='text/html' href='http://macwrf.blogspot.com/2007/02/experiments-with-g95-on-osxppc-and.html' title='Experiments with g95 on OSX/PPC and Linux/x86'/><author><name>Robert Fovell</name><uri>http://www.blogger.com/profile/04642428934975211347</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://homepage.mac.com/parody/cereus_blog/rgf_dv.jpg'/></author><thr:total>0</thr:total></entry></feed>
