<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:DengXian;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@DengXian";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> I’m trying to run the ESMF regridding function to regrid land use and land cover information from a rectilinear Albers equal area projection to a WRF lambert conformal projection. I’ve used a version of this script many times to regrid
between different projections and it has worked perfectly but this time I get an error indicating that the weights cannot be generated. Any ideas as to why this might be occurring? Could it have something to do with the Albers projection?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">My script is as follows:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<o:p></o:p></p>
<p class="MsoNormal">load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<o:p></o:p></p>
<p class="MsoNormal">load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"<o:p></o:p></p>
<p class="MsoNormal">load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl"<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">begin<o:p></o:p></p>
<p class="MsoNormal">vars = (/"2006_2001_Loss","2006_2001_Gain","2006_2001_Shift"/)<o:p></o:p></p>
<p class="MsoNormal">outfile = "MODIS.2006-2001.Africa.nc"<o:p></o:p></p>
<p class="MsoNormal">fon = addfile(outfile,"c")<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">do v=0,dimsizes(vars)-1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">;---Data file containing source grid<o:p></o:p></p>
<p class="MsoNormal"> src_file = "Change.2001_2006.nc" ;;---Change (likely)<o:p></o:p></p>
<p class="MsoNormal"> src_map = "MODIS_2001.nc"<o:p></o:p></p>
<p class="MsoNormal"> sfile = addfile(src_file,"r")<o:p></o:p></p>
<p class="MsoNormal"> smfile = addfile(src_map,"r")<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">;---Get variable to regrid<o:p></o:p></p>
<p class="MsoNormal"> var_name = vars(v) ;;---Change (likely)<o:p></o:p></p>
<p class="MsoNormal"> var = sfile->$var_name$ ;;---Change (likely)<o:p></o:p></p>
<p class="MsoNormal"> src_lat = smfile->latitude ;;---Change (maybe)<o:p></o:p></p>
<p class="MsoNormal"> src_lon = smfile->longitude ;;---Change (maybe)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">;---Data file containing destination grid<o:p></o:p></p>
<p class="MsoNormal"> dst_file = "map.Africa.nc" ;;---Change (likely)<o:p></o:p></p>
<p class="MsoNormal"> dfile = addfile(dst_file,"r")<o:p></o:p></p>
<p class="MsoNormal"> dst_lat = dfile->XLAT(0,:,:) ;;---Change (likely)<o:p></o:p></p>
<p class="MsoNormal"> dst_lon = dfile->XLONG(0,:,:) ;;---Change (likely)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">;---Set up regridding options<o:p></o:p></p>
<p class="MsoNormal"> Opt = True<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">;---"bilinear" is the default. "patch" and "conserve" are other options.<o:p></o:p></p>
<p class="MsoNormal"> Opt@InterpMethod = "neareststod" ;;---Change (maybe)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Opt@WgtFileName = "rec_to_curv.nc" ; optional<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Opt@SrcGridLat = src_lat ; source grid<o:p></o:p></p>
<p class="MsoNormal"> Opt@SrcGridLon = src_lon<o:p></o:p></p>
<p class="MsoNormal"> Opt@SrcRegional = True ;;--Change (maybe)<o:p></o:p></p>
<p class="MsoNormal"> Opt@SrcInputFileName = src_file ; optional, but good idea<o:p></o:p></p>
<p class="MsoNormal"> ; missing values.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Opt@DstGridLat = dst_lat ; destination grid<o:p></o:p></p>
<p class="MsoNormal"> Opt@DstGridLon = dst_lon<o:p></o:p></p>
<p class="MsoNormal"> Opt@DstRegional = True ;;--Change (maybe)<o:p></o:p></p>
<p class="MsoNormal"> Opt@DstMask2D = where(.not.ismissing(dst_lat).and.\<o:p></o:p></p>
<p class="MsoNormal"> .not.ismissing(dst_lon),1,0) ; Necessary if lat/lon<o:p></o:p></p>
<p class="MsoNormal"> ; has missing values.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Opt@ForceOverwrite = True<o:p></o:p></p>
<p class="MsoNormal"> Opt@PrintTimings = True<o:p></o:p></p>
<p class="MsoNormal"> Opt@Debug = True<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> var_regrid = ESMF_regrid(var,Opt) ; Do the regridding<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> fon->$var_name$ = var_regrid<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> printVarSummary(var_regrid)<o:p></o:p></p>
<p class="MsoNormal"> delete(var_name)<o:p></o:p></p>
<p class="MsoNormal"> delete(var)<o:p></o:p></p>
<p class="MsoNormal"> delete(var_regrid)<o:p></o:p></p>
<p class="MsoNormal"> delete(dst_lat)<o:p></o:p></p>
<p class="MsoNormal"> delete(dst_lon)<o:p></o:p></p>
<p class="MsoNormal"> delete(src_lat)<o:p></o:p></p>
<p class="MsoNormal"> delete(src_lon)<o:p></o:p></p>
<p class="MsoNormal"> delete(Opt)<o:p></o:p></p>
<p class="MsoNormal">end do<o:p></o:p></p>
<p class="MsoNormal">end<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The script output with the error message is as follows<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">(0) get_src_grid_info: source lat dims = (7770)<o:p></o:p></p>
<p class="MsoNormal">(0) get_src_grid_info: source lon dims = (7563)<o:p></o:p></p>
<p class="MsoNormal">(0) get_src_grid_info: source grid type is 'rectilinear'<o:p></o:p></p>
<p class="MsoNormal">(0) curvilinear_to_SCRIP: calculating grid corners...<o:p></o:p></p>
<p class="MsoNormal">(0) curvilinear_to_SCRIP: no lat values are at the poles, so<o:p></o:p></p>
<p class="MsoNormal">(0) calculating grid corners using<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries...<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries<o:p></o:p></p>
<p class="MsoNormal">(0) min/max original lat: -35.23254905085637/37.99549894885637<o:p></o:p></p>
<p class="MsoNormal">(0) min/max original lon: -18.96852865285641/52.3084051828564<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries<o:p></o:p></p>
<p class="MsoNormal">(0) min/max Extlat2d: -35.24197472314363/38.00492462114362<o:p></o:p></p>
<p class="MsoNormal">(0) min/max Extlon2d: -18.9779543251436/52.3178308551436<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries<o:p></o:p></p>
<p class="MsoNormal">(0) min/max ExtGridCenter_lat: -35.237261887/38.00021178499999<o:p></o:p></p>
<p class="MsoNormal">(0) min/max ExtGridCenter_lon: -18.973241489/52.313118019<o:p></o:p></p>
<p class="MsoNormal">(0) =====> CPU Elapsed Time: rectilinear_to_SCRIP: 49.0142 seconds <=====<o:p></o:p></p>
<p class="MsoNormal">(0) get_dst_grid_info: destination lat dims = (169,252)<o:p></o:p></p>
<p class="MsoNormal">(0) get_dst_grid_info: destination lon dims = (169,252)<o:p></o:p></p>
<p class="MsoNormal">(0) curvilinear_to_SCRIP: calculating grid corners...<o:p></o:p></p>
<p class="MsoNormal">(0) curvilinear_to_SCRIP: no lat values are at the poles, so<o:p></o:p></p>
<p class="MsoNormal">(0) calculating grid corners using<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries...<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries<o:p></o:p></p>
<p class="MsoNormal">(0) min/max original lat: -35.2259/19.128<o:p></o:p></p>
<p class="MsoNormal">(0) min/max original lon: -24.1202/64.4362<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries<o:p></o:p></p>
<p class="MsoNormal">(0) min/max Extlat2d: -35.5159/19.4431<o:p></o:p></p>
<p class="MsoNormal">(0) min/max Extlon2d: -24.5117/64.8278<o:p></o:p></p>
<p class="MsoNormal">(0) calc_SCRIP_corners_noboundaries<o:p></o:p></p>
<p class="MsoNormal">(0) min/max ExtGridCenter_lat: -35.3709/19.2855<o:p></o:p></p>
<p class="MsoNormal">(0) min/max ExtGridCenter_lon: -24.3161/64.6321<o:p></o:p></p>
<p class="MsoNormal">(0) =====> CPU Elapsed Time: curvilinear_to_SCRIP: 0.0331116 seconds <=====<o:p></o:p></p>
<p class="MsoNormal">(0) ESMF_regrid_gen_weights: number of processors used: 1<o:p></o:p></p>
<p class="MsoNormal">(0) --------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">(0) ESMF_regrid_gen_weights: the following command is about to be executed on the system:<o:p></o:p></p>
<p class="MsoNormal">(0) 'ESMF_RegridWeightGen --source source_grid_file.nc --destination destination_grid_file.nc --weight rec_to_curv.nc --method neareststod --src_regional --dst_regional -i'<o:p></o:p></p>
<p class="MsoNormal">(0) --------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">(0) ESMF_regrid_gen_weights: output from 'ESMF_RegridWeightGen':<o:p></o:p></p>
<p class="MsoNormal">(0) Starting weight generation with these inputs:<o:p></o:p></p>
<p class="MsoNormal">(1) Source File: source_grid_file.nc<o:p></o:p></p>
<p class="MsoNormal">(2) Destination File: destination_grid_file.nc<o:p></o:p></p>
<p class="MsoNormal">(3) Weight File: rec_to_curv.nc<o:p></o:p></p>
<p class="MsoNormal">(4) Source File is in SCRIP format<o:p></o:p></p>
<p class="MsoNormal">(5) Source Grid is a regional grid<o:p></o:p></p>
<p class="MsoNormal">(6) Source Grid is a logically rectangular grid<o:p></o:p></p>
<p class="MsoNormal">(7) Destination File is in SCRIP format<o:p></o:p></p>
<p class="MsoNormal">(8) Destination Grid is a regional grid<o:p></o:p></p>
<p class="MsoNormal">(9) Destination Grid is a logically rectangular grid<o:p></o:p></p>
<p class="MsoNormal">(10) Regrid Method: nearest source to destination<o:p></o:p></p>
<p class="MsoNormal">(11) Pole option: NONE<o:p></o:p></p>
<p class="MsoNormal">(12) Ignore unmapped destination points<o:p></o:p></p>
<p class="MsoNormal">(13) Norm Type: dstarea<o:p></o:p></p>
<p class="MsoNormal">(14)<o:p></o:p></p>
<p class="MsoNormal">(0) --------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">(0) ESMF_regrid_gen_weights: 'ESMF_RegridWeightGen' was not successful.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I checked the weights log file and the only information it has is the following<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">20180323 140041.361 INFO PET0 Running with ESMF Version 6.3.0rp1<o:p></o:p></p>
<p class="MsoNormal">20180323 140041.376 INFO PET0 Running with ESMF Version 6.3.0rp1<o:p></o:p></p>
<p class="MsoNormal">20180323 140041.408 INFO PET0 Running with ESMF Version 6.3.0rp1<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Tim Glotfelty<o:p></o:p></p>
<p class="MsoNormal">Postdoctoral Research Associate<o:p></o:p></p>
<p class="MsoNormal">Department of Environmental Science and Engineering<o:p></o:p></p>
<p class="MsoNormal">University of North Carolina at Chapel Hill<o:p></o:p></p>
</div>
</body>
</html>