Re: ESMF Regridding

From: Mary Haley <haley_at_nyahnyahspammersnyahnyah>
Date: Thu Feb 21 2013 - 12:00:04 MST

Katie,

In the NetCDF file you gave me, the lats and lons are all 0.

--Mary

On Feb 21, 2013, at 9:58 AM, Travis, Katherine wrote:

> Mary,
> Im sorry, it worked with the file you sent me. (I have ncl 6.1.2) However, I tried to replace the original input file with a second input file with a finer grid, and it crashed using the conserve method.
> The files are: ESMF_regrid_15_MHtestKT.ncl, and NEI08_2006_459x299_Jan_wkday_rw.nc
> Thanks
> Katie
>
>
> From: Mary Haley <haley@ucar.edu>
> Date: Thursday, February 21, 2013 11:22 AM
> To: Katherine Travis <ktravis@fas.harvard.edu>
> Cc: ncl-talk USERS <ncl-talk@ucar.edu>
> Subject: Re: ESMF Regridding
>
> What version of NCL do you have? Are you running the ESMF_regrid_15.ncl script that I sent you ?
>
> I just ran this with V6.1.2 and it works fine. I uncommented "Opt@Debug = True" and here's what the output gives me when it reaches the "conserve" regridding part:
>
> . . .
>
> (0) ESMF_regrid_gen_weights: the following command is about to be executed on the system:
> (0) 'ESMF_RegridWeightGen --source SrcSCRIP.nc --destination DstSCRIP.nc --weight Curv_2_1x1_conserve.nc --method conserve --src_regional --dst_regional -i --64bit_offset'
> (0) --------------------------------------------------
> (0) ESMF_regrid_gen_weights: output from 'ESMF_RegridWeightGen':
> (0) Starting weight generation with these inputs:
> (1) Source File: SrcSCRIP.nc
> (2) Destination File: DstSCRIP.nc
> (3) Weight File: Curv_2_1x1_conserve.nc
> (4) Source File is in SCRIP format
> (5) Source Grid is a regional grid
> (6) Source Grid is a logically rectangular grid
> (7) Destination File is in SCRIP format
> (8) Destination Grid is a regional grid
> (9) Destination Grid is a logically rectangular grid
> (10) Regrid Method: conserve
> (11) Pole option: NONE
> (12) Ignore unmapped destination points
> (13) Output weight file in 64bit offset NetCDF file format
> (14)
> (15) Completed weight generation successfully.
> (16)
> (0) --------------------------------------------------
> (0) ESMF_regrid_gen_weights: 'ESMF_RegridWeightGen' was successful.
> (0) ESMF_regrid_with_weights: regridding using interpolation weights ...
> (0) ESMF_regrid_with_weights: Source Grid:
> (0) rank: 2
> (0) dimensions: 277 349
> (0) original source rank: 3
> (0) latitude min/max: 0.897945/85.3326
> (0) longitude min/max:148.642/357.43
> (0) ESMF_regrid_with_weights: Destination Grid:
> (0) dimensions: 85 209
> (0) latitude min/max: 1/85
> (0) longitude min/max:149/357
> (0) ESMF_regrid_with_weights: retrieving interpolation weights ...
> (0) ESMF_regrid_with_weights: calling sparse_matrix_mult to apply weights...
> (0) ESMF_regrid_with_weights: dividing results by frac_b...
> (0) (currently for conserve interpolation only)
> (0) ESMF_regrid_with_weights: dstData
> (0) Dimensions: 402 85 209
> (0) minSrcData: 229.758
> (0) maxSrcData: 400.008
> (0) minDstData: 231.09
> (0) maxDstData: 400.008
> (0) ESMF_copy_varcoords: detected a rectilinear grid.
> (0) If you know your grid is rectilinear, then set
> (0) opt@DstGridType = "rectilinear" to
> (0) prevent this potentially slow test.
>
> --Mary
>
>
>
> On Feb 21, 2013, at 9:01 AM, Travis, Katherine wrote:
>
>> Mary
>> Thank you,
>> When I run the "conserve" regridding again, I still get this error:
>> PET0 ESMCI_Regrid_F.C:119 c_esmc_regrid_create() Invalid argument - Src contains a concave cell
>>
>> Can you help with this?
>> Thanks
>> Katie
>>
>> From: Mary Haley <haley@ucar.edu>
>> Date: Thursday, February 21, 2013 10:34 AM
>> To: Katherine Travis <ktravis@fas.harvard.edu>
>> Cc: ncl-talk USERS <ncl-talk@ucar.edu>
>> Subject: Re: ESMF Regridding
>>
>> Hi Katie,
>>
>> You have a few issues with the code.
>>
>> First, there's an error with:
>>
>> Opt@DstLLCorner = (/round(minlat,0),round(minlat,0)/)
>>
>> it should be:
>>
>> Opt@DstLLCorner = (/round(minlat,0),round(minlon,0)/)
>>
>> The SrcGridCornerLat/DstGridCornerLat options are not being used correctly. You need to provide the corners of *each* lat/lon center point, and not just the corners of your domain. You don't appear to have an n x 4 array on your file that defines lat/lon grid corners, so comment those two lines and let ESMF_regrid try to guess at the corners.
>>
>> Lastly, for ESMF_regrid to guess at the corners, it seems to prefer the longitudes to go from 0 to 360, so you need to do this:
>>
>> lon2d = where(lon2d.lt.0,lon2d+360,lon2d)
>> datAir@lon2d=lon2d
>>
>> See attached.
>>
>> --Mary
>>
>>
>> On Feb 20, 2013, at 8:51 AM, Travis, Katherine wrote:
>>
>> > Dennis,
>> > Thank you.
>> > The script is loaded: ESMF_regrid_15.ncl.
>> > For some reason air.2m.mon.mean.nc forced me to rename it to send, so it
>> > is called test.nc.
>> > Thanks
>> > Katie
>> >
>> > On 2/20/13 9:37 AM, "Dennis Shea" <shea@ucar.edu> wrote:
>> >
>> >> Hello
>> >>
>> >> offline here .......
>> >>
>> >> Can you please send your file and script to
>> >>
>> >> ftp ftp.cgd.ucar.edu
>> >> anonymous
>> >> <use your email address for the password>
>> >> cd incoming
>> >> put ...
>> >> put ...
>> >> quit
>> >>
>> >> Send email to me (shea@ucar.edu) and/or Mary (haley@ucar.edu)
>> >> after you have successfully completed the transfer.
>> >>
>> >> Note that for security reasons, you cannot list the contents of this
>> >> directory, and neither can we. We need to know the *exact* names of the
>> >> files in order to retrieve them.
>> >>
>> >> Thx
>> >> D
>> >>
>> >> On 2/20/13 7:16 AM, Travis, Katherine wrote:
>> >>> Dennis,
>> >>> Thanks. This variable was short, so I unpacked to float. However
>> >>> conserve regridding still crashes on the destination corners of the
>> >>> grid.
>> >>> You can see below I have the source corners, but not the destination.
>> >>> When
>> >>> I try to provide corners, the program gives me this:
>> >>>
>> >>> 20130220 091610.975 ERROR PET0 ESMF_Grid.F90:5238
>> >>> ESMF_GridCreateFrmScripDistGrd Wrong argument specified - - Bad corner
>> >>> array in SCRIP file
>> >>>
>> >>> netcdf air.2m.mon.mean {
>> >>> dimensions:
>> >>> time = UNLIMITED ; // (402 currently)
>> >>> y = 277 ;
>> >>> x = 349 ;
>> >>> nbnds = 2 ;
>> >>> variables:
>> >>> int Lambert_Conformal ;
>> >>> Lambert_Conformal:grid_mapping_name =
>> >>> "lambert_conformal_conic" ;
>> >>> Lambert_Conformal:standard_parallel = 50., 50. ;
>> >>> Lambert_Conformal:longitude_of_central_meridian =
>> >>> -107. ;
>> >>> Lambert_Conformal:latitude_of_projection_origin = 50. ;
>> >>> Lambert_Conformal:false_easting = 5632642.22547 ;
>> >>> Lambert_Conformal:false_northing = 4612545.65137 ;
>> >>> short air(time, y, x) ;
>> >>> air:units = "K" ;
>> >>> air:long_name = "Monthly Air Temperature at 2 m" ;
>> >>> air:scale_factor = 0.003799786f ;
>> >>> air:add_offset = 275.5f ;
>> >>> air:unpacked_valid_range = 151.f, 400.f ;
>> >>> air:precision = 0.003799786f ;
>> >>> air:actual_range = 229.7579f, 310.9593f ;
>> >>> Š
>> >>> // global attributes:
>> >>> :standardpar1 = 50. ;
>> >>> :standardpar2 = 50.000001 ;
>> >>> :centerlon = -107. ;
>> >>> :centerlat = 50. ;
>> >>> :latcorners = 1.000001f, 0.897945f, 46.3544f,
>> >>> 46.63433f ;
>> >>> :loncorners = -145.5f, -68.32005f, -2.569891f,
>> >>> 148.6418f ;
>> >>> :stream = "s1" ;
>> >>> :title = "Monthly NARR" ;
>> >>> :Conventions = "CF-1.0" ;
>> >>> :history = "created 2005 by Jeff Whitaker" ;
>> >>> :institution = "National Centers for Environmental
>> >>> Prediction" ;
>> >>> :platform = "Model" ;
>> >>> :references =
>> >>> "http://wwwt.emc.ncep.noaa.gov/mmb/rreanl/index.html\n",
>> >>>
>> >>> "http://www.esrl.noaa.gov/psd/data/gridded/data.narr.html" ;
>> >>> :NCO = "4.0.0" ;
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> On 2/20/13 12:57 AM, "Dennis Shea" <shea@ucar.edu> wrote:
>> >>>
>> >>>> Before proceeding, could you please do a
>> >>>>
>> >>>> %> ncdump -h air.2m.mon.mean.nc | less
>> >>>>
>> >>>> What numeric type is the variable "air" ?
>> >>>>
>> >>>> If it is type 'short', then you *must* unpack prior to use.
>> >>>> Use 'short2flt' located in 'contributed.ncl'
>> >>>> http://www.ncl.ucar.edu/Document/Functions/Contributed/short2flt.shtml
>> >>>>
>> >>>> datAir = short2flt( sfile->air )
>> >>>> printVarSummary(datAir)
>> >>>> print("datAir: min="+min(datAir)+" max="+max(datAir))
>> >>>>
>> >>>> Perhaps you were getting the "large errors" cuz you did not unpack.
>> >>>>
>> >>>>
>> >>>>
>> >>>> On 2/19/13 5:20 PM, Travis, Katherine wrote:
>> >>>>> Hi,
>> >>>>> Could anyone who uses the ESMF_regridding.ncl routine tell me how to
>> >>>>> properly set the following options?
>> >>>>> I am trying to regrid sparse emissions data on a regional (US) 12km by
>> >>>>> 12km curvilinear grid to a 1x1degree grid, and the bilinear and path
>> >>>>> methods give me large errors.
>> >>>>> I am trying to use the conserve method, but I get the error that my
>> >>>>> grid corners are bad. Here is how I am currently trying to set them
>> >>>>> up:
>> >>>>>
>> >>>>> srcFile = "air.2m.mon.mean.nc"
>> >>>>> sfile = addfile(srcFile,"r")
>> >>>>> datAir = sfile->air
>> >>>>> lat = sfile->lat
>> >>>>> lon = sfile->lon
>> >>>>>
>> >>>>> Opt@SrcGridCornerLat = (/min(lat(0,:)),min(lat(:,0)),
>> >>>>> max(lat(0,:)),max(lat(:,0))/)
>> >>>>> Opt@SrcGridCornerLon = (/min(lon(0,:)),min(lon(:,0)),
>> >>>>> max(lon(0,:)),max(lon(:,0))/)
>> >>>>> Opt@DstGridCornerLat = (/1,1,11,47/)
>> >>>>> Opt@DstGridCornerLon = (/-144,-179,-68, 179/)
>> >>>>>
>> >>>>> Thank you,
>> >>>>> --
>> >>>>> Katherine R. Travis
>> >>>>> PhD Student
>> >>>>> Harvard University
>> >>>>> SEAS
>> >>>>> ktravis@fas.harvard.edu
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>> _______________________________________________
>> >>>>> ncl-talk mailing list
>> >>>>> List instructions, subscriber options, unsubscribe:
>> >>>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>> >>>>>
>> >>>
>> >
>>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Feb 21 12:00:43 2013

This archive was generated by hypermail 2.1.8 : Fri Feb 22 2013 - 17:42:16 MST