1. Note on undefined reference to rsl_internal_microclock when configuring WRF "serial" or "sm" with GPU version of WSM5. Added: 20090924. The dmpar and sm+dm configurations of WRF include the rsl_internal_microclock routine automatically. The serial and sm configurations do not. The routine is normally defined in external/RSL_LITE/c_code.c , near the bottom. Cut and paste the code below into the bottom of frame/pack_utils.c (any C source file will do, actually, as long as it's compiled with the serial code): #ifndef DM_PARALLEL # ifndef CRAY # ifdef NOUNDERSCORE # define RSL_INTERNAL_MICROCLOCK rsl_internal_microclock # else # ifdef F2CSTYLE # define RSL_INTERNAL_MICROCLOCK rsl_internal_microclock__ # else # define RSL_INTERNAL_MICROCLOCK rsl_internal_microclock_ # endif # endif # endif # if !defined(MS_SUA) && !defined(_WIN32) # include RSL_INTERNAL_MICROCLOCK () { struct timeval tb ; struct timezone tzp ; int isec ; /* seconds */ int usec ; /* microseconds */ int msecs ; gettimeofday( &tb, &tzp ) ; isec = tb.tv_sec ; usec = tb.tv_usec ; msecs = 1000000 * isec + usec ; return(msecs) ; } # endif #endif ------------------------- 2. Change needed in main/module_wrf_top.F (WRFV3.2) for serial and smpar compiles Around line 211 of main/module_wrf_top.F move the call to wrf_get_hostid inside the #ifdef so it reads like this: 211 # ifdef DM_PARALLEL 212 CALL wrf_get_hostid ( hostid )