[ncl-talk] Problem with ESMF_regrid

Tomoko Koyama Tomoko.Koyama at Colorado.EDU
Tue Nov 14 20:52:38 MST 2017


Hi Mary,

I added the two lines before ESMF_regrid, but the script still doesn’t work.

Here’s a message I got:
(0)     get_src_grid_info: can't determine what type of source grid you have.

Thank you,
Tomoko

> On Nov 14, 2017, at 9:11 AM, Mary Haley <haley at ucar.edu> wrote:
> 
> Tomoko,
> 
> I think what's happening is that your data has coordinate arrays called i and j, which are NOT latitude  / longitude values.  The regridding function is trying to use these as lat / lon values, because coordinate arrays take precedence.  (Maybe this is something I need to reconsider).
> 
> Before you do the regridding, delete the i and j coordinate arrays:
> 
> delete(var&i)
> delete(var&j)
> 
> --Mary
> 
> 
> 
> On Mon, Nov 13, 2017 at 4:44 PM, Tomoko Koyama <Tomoko.Koyama at colorado.edu <mailto:Tomoko.Koyama at colorado.edu>> wrote:
> Thank you very much, Dennis.
> 
> I modified the script following your suggestion and it worked except for IPSL-CM5A-LR output.
> 
> The error message is the same:
> “Assignment type mismatch, right hand side can't be coerced to type of left hand side” occurring at
> var_regrid = ESMF_regrid(var,Opt)
> 
> Could you tell me what I miss?
> 
> Tomoko
> 
> +++++++++++++++++
> + Error message +
> +++++++++++++++++
> 
>  Copyright (C) 1995-2015 - All Rights Reserved
>  University Corporation for Atmospheric Research
>  NCAR Command Language Version 6.3.0
>  The use of this software is governed by a License Agreement.
>  See http://www.ncl.ucar.edu/ <http://www.ncl.ucar.edu/> for more details.
> 
> Variable: var
> Type: float
> Total Size: 6176395680 <tel:(617)%20639-5680> bytes
>             1544098920 values
> Number of Dimensions: 3
> Dimensions and sizes:	[time | 56940] x [j | 149] x [i | 182]
> Coordinates: 
>             time: [ 0.5..56939.5]
>             j: [1..149]
>             i: [1..182]
> Number Of Attributes: 13
>   standard_name :	sea_ice_area_fraction
>   long_name :	Sea Ice Area Fraction
>   comment :	fraction of grid cell covered by sea ice.
>   units :	%
>   original_name :	ileadfra
>   original_units :	1
>   history :	2011-07-03T20:18:11Z altered by CMOR: Converted units from '1' to '%'. 2011-07-03T20:18:11Z altered by CMOR: replaced missing value flag (9.96921e+36) with standard missing value (1e+20).
>   cell_methods :	time: mean (interval: 30 minutes)
>   cell_measures :	area: areacello
>   missing_value :	1e+20
>   _FillValue :	1e+20
>   associated_files :	baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation <http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation> gridspecFile: gridspec_seaIce_fx_IPSL-CM5A-LR_historical_r0i0p0.nc areacello: areacello_fx_IPSL-CM5A-LR_historical_r0i0p0.nc <http://secure-web.cisco.com/1s5XYYsvRdEfhkNu6v0MOEdQHWvf4UUCfPjKpCIrtfOwk5dyqPkSVckD8DXk4zILmyaCpbijsydVKniHIgsAxVxanUyWP_rosjTCL7lkQ54tlcSi7czNL0NThpqc2h3plcXHmpSNzkx9Mr4IgvGns6dlcJigMLLr4uYeEUkgK7Ds26td7tsajZVF3uc3nidWOZokep2sc1fa7i0YqpwTf5n8acTSTMDn6qqKxMDF3mrBfybuxJXjYcrRUKbUKqV2SCqYyCce1GRihgd3plHFajhii8Zv12jVkoaLfITmIZGds9uUevPr8pPrO8_MKsjU8-nLODIrO8R2lmDNXk7AwPcO8O_VwlG6x3Wwc69t1PZF5n2cct3D9OF8OT75dXffqAs1ysuwLhtTYzmHaXGxH-X6M-oMiPgveIkyD_jpLbasEaMc58Xvgp1maEzohRPUU/http%3A%2F%2Fhistorical_r0i0p0.nc>
>   coordinates :	lat lon
> (0)	get_src_grid_info: source lat dims = (149)
> (0)	get_src_grid_info: source lon dims = (182)
> (0)	get_src_grid_info: source grid type is 'rectilinear'
> (0)	curvilinear_to_SCRIP: calculating grid corners...
> (0)	curvilinear_to_SCRIP: one or more lat values are at the
> (0)	       poles, so calculating grid corners using
> (0)	       calc_SCRIP_corners_boundaries...
> (0)	calc_SCRIP_corners_boundaries
> (0)	     min/max original lat: 1/149
> (0)	     min/max original lon: 1/182
> fatal:Assignment type mismatch, right hand side can't be coerced to type of left hand side
> 
> fatal:["Execute.c":8575]:Execute: Error occurred at or near line 770 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
> 
> 
> fatal:["Execute.c":8575]:Execute: Error occurred at or near line 1744 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
> 
> 
> fatal:["Execute.c":8575]:Execute: Error occurred at or near line 1822 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
> 
> 
> fatal:["Execute.c":8575]:Execute: Error occurred at or near line 3851 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
> 
> 
> fatal:["Execute.c":8575]:Execute: Error occurred at or near line 3983 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
> 
> 
> fatal:["Execute.c":8573]:Execute: Error occurred at or near line 88
> 
> 
> ++++++++++
> + Script +
> ++++++++++
> 
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl"
> 
> method      = "bilinear"
> model       = "IPSL-CM5A-LR"
> 
> rdiri       = "/work/koyama_sice"
> in_diri     = "/home/koyama/CMIP5/data/input"
> esmf_diri   = in_diri + "/" + model
> 
> begin
>   ; Source grid
>   srcGridDiri = rdiri + "/" + model
>   fili        = systemfunc("cd " + srcGridDiri + " ; ls sic*.nc")
>   nfil        = dimsizes(fili)
> 
>   ; Destination grid
>   dstGridDiri ="/home/koyama/CMIP5/data/grid_coord"
>   dstFileName = "NRims180x180.nc"
>   dstGridFili = dstGridDiri + "/" + dstFileName
>   dfile       = addfile(dstGridDiri + "/" + dstFileName, "r")
>   lat2d = dfile->latitude
>   lon2d = dfile->longitude
> 
>   do ifil = 0, nfil-1
>     srcGridFili = fili(ifil) 
>     sfile       = addfile(srcGridDiri + "/" + srcGridFili, "r")
>     dSizes      = getfiledimsizes(sfile)
>     
>     var         = sfile->sic
>     if (model.eq."CCSM4" .or. model.eq."NorESM1-M") then	; See "get_src_grid_info"
>       var at lat2d	= sfile->lat					; when lat dims is 2D,
>       var at lon2d	= sfile->lon					; this if close is necessary
>     end if							; ref. ESFM regrid - example 24
> 
>     printVarSummary( var )
> 
>     lat1d = ndtooned(lat2d)
>     lon1d = ndtooned(lon2d)
>     lon1d = where(lon1d.lt.0,360.0+lon1d,lon1d)
>     latlon_dims = dimsizes(lat2d)                 ; 180x180
>   
>     Opt                 = True
> 
>     Opt at ForceOverwrite  = True
> 
>     Opt at SrcFileName     = esmf_diri + "/" + model +"_SCRIP.nc"      ; output file names
>     Opt at DstFileName     = esmf_diri + "/" + "EASE_ESMF.nc"
>     Opt at WgtFileName     = esmf_diri + "/" + model +"_2_EASE_"+method+".nc"
> 
>     Opt at SrcInputFileName    = srcGridFili          ; optional, but good idea
>     Opt at DstInputFileName    = dstGridFili
> 
>     Opt at SkipSrcGrid    = False
>     Opt at SkipDstGrid    = False
>     Opt at SkipWgtGen     = False
>     Opt at DstESMF        = True
> 
>     Indexes = ind(.not.ismissing(lon1d))     
>     Opt at DstGridType    = "unstructured"         ; Destination grid
>     Opt at DstGridLat     = lat1d(Indexes)         ; Strip off missing data
>     Opt at DstGridLon     = lon1d(Indexes)
> 
>     Opt at RemapIndexes   = True                   ; This is necessary to remap
>     Opt at Indexes        = Indexes                ; regridded values back to 
>     Opt at IndexesDims    = latlon_dims            ; locations on destination grid
> 
>     Opt at InterpMethod   = method
> 
>     Opt at Debug          = True
>     Opt at PrintTimings   = True
> 
>     Opt at CopyVarCoords  = False                  ; we can't copy the coords because
>                                                 ; the weights on the file are only
>                                                 ; for the non-missing lat/lon values.
> 
>     Opt at SrcGridMask      = where(ismissing(var(0,:,:)),0,1)
> 
>     var_regrid = ESMF_regrid(var,Opt)   ; Regrid var
> 
>     copy_VarAtts(var,var_regrid)
>     var_regrid at _FillValue = 1.e+20
>     var_regrid at missing_value = 1.e+20
>     var_regrid at _FillValue = var at _FillValue
> 
>     var_regrid!0 = "time"
>     var_regrid!1 = "i"
>     var_regrid!2 = "j"
> 
>     if (model.eq."CCSM4") then
>       time    = ispan(1,dSizes(3),1)
>     else
>       time    = ispan(1,dSizes(0),1)
>     end if
>     time!0  = "time"
>     time at long_name  = "time"
>     time at units      = "month"
>     time&time       = time
> 
>     var_regrid&time = time
>     var_regrid&i    = lat2d&i
>     var_regrid&j    = lat2d&j
> 
>     ;delete( var_regrid at lat1d )
>     ;delete( var_regrid at lon1d )
>     if ( isatt( var_regrid, "lat2d" ) ) then
>       delete( var_regrid at lat2d )
>     end if
>     if ( isatt( var_regrid, "lon2d" ) ) then
>       delete( var_regrid at lon2d )
>     end if
> 
> ;;----------------------------------------------------------------------
> ;; Write regridded data to file
> ;;----------------------------------------------------------------------
>     str     = str_split(srcGridFili, ".")
>     filo    = str(0) + ".rgrd.nc <http://secure-web.cisco.com/1te86b6kOQxN_-AsuqxlCKi23vvZP-PnmhQAOHCEY_fuE45FUbKYy5vKEWMrsfXL6mCakR8x-eX-P4PzlBU9pro6eLKDfCe_VkTTEXI2cER8iRRXjhSUdl7v1S3bs0jcj-DFwno8ygtI4mFSADaWYEbQN1pKNaYGQF6B-kub9Jwvpt3EOpk99T5F3TjL9EBYzeLgLiGeUGULAwx_BoJUWNmHuSPWJE6hhGppGX72t3n5_oVoAUHMlfqkSK-x0j1AzUbJMHAJVHi_AW0evz-T9V4tF5GQ5OJyOqnuXTI7sWBVbI4JZSgO0Pi-qHautkT4VWFAyyI2DrV-ZkD-IiSXoWO2h9XP1grzvkODBchmNIW6C9bAoa1QZyKI2-0IInI7Iw85_l6aLk-_yzt1Yju8jfO1Vj1-73ExsyMT5SrUQekiHa4xfHMjISqTB52s97cCo/http%3A%2F%2Frgrd.nc>"
> 
>     if ( isfilepresent(srcGridDiri+"/"+filo) .eq. True ) then
>       system( "rm " + filo )
>     end if
> 
>     setfileoption("nc","Format","LargeFile")
>     fo = addfile( srcGridDiri + "/" + filo,"c")
>     fo->sic = var_regrid
>     fo->lat = lat2d
>     fo->lon = lon2d
> 
>     ;; Clean up
>     delete( var )
>     delete( time )
>     delete( sfile )
>     delete( Opt )
>     delete( filo )
>     delete( fo )
>     delete( var_regrid )
> 
>   end do
> 
>   delete( dfile )
>   delete( lat2d )
>   delete( lon2d )
> 
> end
> 
> 
>> On Nov 13, 2017, at 8:26 AM, Dennis Shea <shea at ucar.edu <mailto:shea at ucar.edu>> wrote:
>> 
>> See: 
>> https://www.ncl.ucar.edu/Applications/ESMF.shtml <https://www.ncl.ucar.edu/Applications/ESMF.shtml>
>> Example 24
>> 
>> Make appropriate changes: use 'bilinear' only
>> 
>> Your source file has
>>         coordinates : lat lon
>> 
>> replace
>>     x at lat2d        = sfile->TLAT
>>     x at lon2d        = sfile->TLONG
>> 
>> with 
>> 
>>     x at lat2d        = sfile->lat
>>     x at lon2d        = sfile->lon
>> Good luck
>> 
>> On Sun, Nov 12, 2017 at 2:13 PM, Tomoko Koyama <Tomoko.Koyama at colorado.edu <mailto:Tomoko.Koyama at colorado.edu>> wrote:
>> Here’s what I can get with printVarSummary(var);
>> 
>> Variable: var
>> Type: float
>> Total Size: 3588096000 bytes
>>             897024000 values
>> Number of Dimensions: 3
>> Dimensions and sizes:   [time | 7300] x [j | 384] x [i | 320]
>> Coordinates:
>>             time: [719050.5..726349.5]
>>             j: [1..384]
>>             i: [1..320]
>> Number Of Attributes: 12
>>   standard_name :       sea_ice_area_fraction
>>   long_name :   Sea Ice Area Fraction
>>   comment :     aice_d no change, CMIP5_table_comment: fraction of grid cell covered by sea ice.
>>   units :       %
>>   original_name :       aice_d
>>   cell_methods :        time: mean (interval: 30 days)
>>   cell_measures :       area: areacello
>>   history :     2014-09-29T18:12:07Z altered by CMOR: replaced missing value flag (1e+30) with standard missing value (1e+20).
>>   missing_value :       1e+20
>>   _FillValue :  1e+20
>>   associated_files :    baseURL: http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation <http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation> gridspecFile: gridspec_seaIce_fx_CCSM4_historical_r0i0p0.nc <http://secure-web.cisco.com/1yCwSrw2YG46U8ckJsCmEFAmOAIgvR9BcggFxjdaRI5vRMFbCqGU2zNh0Xia-YOHgWeEUBwnsdMPrDBBYdSVo3nzBfkl4QIQmyK0niwjRIg3zpnluAI5PK4lIbhMVFHrj7zUA_xSp1SSDuiJTdQYhH6Fgc8TsdfnjWNQ8fpLfa-AU8Avh6nXboPIO7m_0XYJj1aV15QK_o5JAVI5LoDWvqbNiJersJuWFOxpCYQMjeLRLxcwrGmGWTB47dOYhdcJxkgNjKzL3Wqkk9XK2FnklJX0nxPXQf8Trv0HJu0hktwWUK8JKqpHROboONkDKzFv0MmFfIwzCT8_xGXglOlgrx8BeOZ7D-nwKjF10lh7Semd1XWsARasZ3xai1BIKDl-lFl1KV0tM5LHBgqYeihAze7TvWCrujoV5-bYWq5EehnMRFZ-9L3piibDzcBzeYafR/http%3A%2F%2Fhistorical_r0i0p0.nc> areacello: areacello_fx_CCSM4_historical_r0i0p0.nc <http://secure-web.cisco.com/14ZCWlRncW_i1YOy3Yp1Q9P7Hqe9PfKa2yT6_03GLOp4VsLue11kVzLwOsYRyxQR0g0VHuI8Zf9RaQgt5_34knBeHVIZYD_P2M8NjAp8Z_TbE8kF0vDeSE7NNN6AyNJvMgs1YXEBfaugiKrdLbqZA6gjcl4UM3NWR19H98dOvUnG0QMJIXabYQTGEMEZ4rHBGzSje0oCZ719lTBnDY7yhEb9fDLtlMSOQgnNPdFHYGpaw6JyPlo7t-u7eJ-hR7cloVlGsMka_8ZIkegX7vF_VHBL55HtiX-IA5QxV2e2gjqcg57LY6j4J5104TsrzmFwFp7R7BcZqVDrAndaF5sUKPaF6LpR3bYIAlpWGkgOhsIfKfYmrrYhwBsgdXF2jMgrAjTq3ZPti8Y_9dq8LYPdve1yOOiTPDEY_c3qj8bUnI0FqZqptTU9te9RF4NZAY48m/http%3A%2F%2Fr0i0p0.nc>
>>   coordinates : lat lon
>> 
>> Thank you,
>> Tomoko
>> 
>> 
>>> On Nov 12, 2017, at 9:02 AM, music piano <musicpianoljy at gmail.com <mailto:musicpianoljy at gmail.com>> wrote:
>>> 
>>> Hi, Tomoko
>>> 
>>> Would you try to use printVarSummary(var) to see what type of the data is ? 
>>> 
>>> On Sat, Nov 11, 2017 at 10:50 PM, Tomoko Koyama <Tomoko.Koyama at colorado.edu <mailto:Tomoko.Koyama at colorado.edu>> wrote:
>>> Hello,
>>> 
>>> I am trying to regrid Sea Ice Area Fraction and Sea Ice Thickness data from some CMIP5 daily data to EASE 100km grid.
>>> The following script works for Sea Level Pressure, Near-Surface Temperature, Geopotential Height etc. but not for those ice parameters.
>>> 
>>> The error message is “Assignment type mismatch, right hand side can't be coerced to type of left hand side” occurring at regridding;
>>> var_regrid = ESMF_regrid(var,Opt)
>>> 
>>> Does anyone see why this might be???
>>> 
>>> Thank you in advance,
>>> Tomoko
>>> 
>>> 
>>> +++++++++++++++++
>>> + Error message +
>>> +++++++++++++++++
>>> 
>>> Copyright (C) 1995-2015 - All Rights Reserved
>>>  University Corporation for Atmospheric Research
>>>  NCAR Command Language Version 6.3.0
>>>  The use of this software is governed by a License Agreement.
>>>  See http://www.ncl.ucar.edu/ <http://www.ncl.ucar.edu/> for more details.
>>> (0)     get_src_grid_info: source lat dims = (384)
>>> (0)     get_src_grid_info: source lon dims = (320)
>>> (0)     get_src_grid_info: source grid type is 'rectilinear'
>>> (0)     curvilinear_to_SCRIP: calculating grid corners...
>>> (0)     curvilinear_to_SCRIP: one or more lat values are at the
>>> (0)            poles, so calculating grid corners using
>>> (0)            calc_SCRIP_corners_boundaries...
>>> (0)     calc_SCRIP_corners_boundaries
>>> (0)          min/max original lat: 1/384
>>> (0)          min/max original lon: 1/320
>>> fatal:Assignment type mismatch, right hand side can't be coerced to type of left hand side
>>> ^Mfatal:["Execute.c":8575]:Execute: Error occurred at or near line 770 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
>>> 
>>> ^Mfatal:["Execute.c":8575]:Execute: Error occurred at or near line 1744 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
>>> 
>>> ^Mfatal:["Execute.c":8575]:Execute: Error occurred at or near line 1822 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
>>> 
>>> ^Mfatal:["Execute.c":8575]:Execute: Error occurred at or near line 3851 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
>>> 
>>> ^Mfatal:["Execute.c":8575]:Execute: Error occurred at or near line 3983 in file $NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl
>>> 
>>> ^Mfatal:["Execute.c":8573]:Execute: Error occurred at or near line 86
>>> 
>>> ++++++++++
>>> + Script +
>>> ++++++++++
>>> 
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
>>> load "$NCARG_ROOT/lib/ncarg/nclscripts/esmf/ESMF_regridding.ncl"
>>> 
>>> method      = "bilinear"
>>> model       = "CCSM4"
>>> gridtype    = "latlon"
>>> 
>>> rdiri       = "/work/koyama_sice"
>>> in_diri     = "/home/koyama/CMIP5/data/input"
>>> esmf_diri   = in_diri + "/" + model
>>> 
>>> begin
>>>   ; Source grid
>>>   srcGridDiri = rdiri + "/" + model
>>>   fili        = systemfunc("cd " + srcGridDiri + " ; ls sic*.nc")
>>>   nfil        = dimsizes(fili)
>>> 
>>>   ; Destination grid
>>>   dstGridDiri ="/home/koyama/CMIP5/data/grid_coord"
>>>   dstFileName = "NRims180x180.nc"
>>>   dstGridFili = dstGridDiri + "/" + dstFileName
>>>   dfile       = addfile(dstGridDiri + "/" + dstFileName, "r")
>>>   lat2d = dfile->latitude
>>>   lon2d = dfile->longitude
>>> 
>>>   do ifil = 0, nfil-1
>>>     srcGridFili = fili(ifil)
>>>     sfile       = addfile(srcGridDiri + "/" + srcGridFili, "r")
>>>     dSizes      = getfiledimsizes(sfile)
>>>     var         = sfile->sic
>>> 
>>>     lat1d = ndtooned(lat2d)
>>>     lon1d = ndtooned(lon2d)
>>>     lon1d = where(lon1d.lt.0,360.0+lon1d,lon1d)
>>>     latlon_dims = dimsizes(lat2d)                 ; 180x180
>>> 
>>>     Opt                 = True
>>> 
>>>     Opt at ForceOverwrite  = True
>>> 
>>>     Opt at SrcFileName     = esmf_diri + "/" + model +"_SCRIP.nc"      ; output file names
>>>     Opt at DstFileName     = esmf_diri + "/" + "EASE_ESMF.nc"
>>>     Opt at WgtFileName     = esmf_diri + "/" + model +"_2_EASE_"+method+".nc"
>>> 
>>>     Opt at SrcInputFileName    = srcGridFili          ; optional, but good idea
>>>     Opt at DstInputFileName    = dstGridFili
>>> 
>>>     Opt at SkipSrcGrid    = False
>>>     Opt at SkipDstGrid    = False
>>>     Opt at SkipWgtGen     = False
>>>     Opt at DstESMF        = True
>>> 
>>>     Indexes = ind(.not.ismissing(lon1d))
>>>     Opt at DstGridType    = "unstructured"         ; Destination grid
>>>     Opt at DstGridLat     = lat1d(Indexes)         ; Strip off missing data
>>>     Opt at DstGridLon     = lon1d(Indexes)
>>> 
>>>     Opt at RemapIndexes   = True                   ; This is necessary to remap
>>>     Opt at Indexes        = Indexes                ; regridded values back to
>>>     Opt at IndexesDims    = latlon_dims            ; locations on destination grid
>>> 
>>>     Opt at InterpMethod   = method
>>> 
>>>     Opt at Debug          = True
>>>     Opt at PrintTimings   = True
>>> 
>>>     Opt at CopyVarCoords  = False                  ; we can't copy the coords because
>>>                                                 ; the weights on the file are only
>>>                                                 ; for the non-missing lat/lon values.
>>> 
>>>     Opt at SrcGridMask      = where(ismissing(var(0,:,:)),0,1)
>>> 
>>>     var_regrid = ESMF_regrid(var,Opt)   ; Regrid var
>>> 
>>>     copy_VarAtts(var,var_regrid)
>>>     var_regrid at _FillValue = 1.e+20
>>>     var_regrid at missing_value = 1.e+20
>>>     var_regrid at _FillValue = var at _FillValue
>>> 
>>>     var_regrid!0 = "time"
>>>     var_regrid!1 = "i"
>>>     var_regrid!2 = "j"
>>> 
>>>     time    = ispan(1,dSizes(3),1)      ; CCSM4
>>>     time!0  = "time"
>>>     time at long_name  = "time"
>>>     time at units      = "month"
>>>     time&time       = time
>>> 
>>>     var_regrid&time = time
>>>     var_regrid&i    = lat2d&i
>>>     var_regrid&j    = lat2d&j
>>> 
>>>     delete( var_regrid at lat1d )
>>>     delete( var_regrid at lon1d )
>>>     if ( isatt( var_regrid, "lat2d" ) ) then
>>>       delete( var_regrid at lat2d )
>>>     end if
>>>     if ( isatt( var_regrid, "lon2d" ) ) then
>>>       delete( var_regrid at lon2d )
>>>     end if
>>> 
>>> ;;----------------------------------------------------------------------
>>> ;; Write regridded data to file
>>> ;;----------------------------------------------------------------------
>>>     str     = str_split(srcGridFili, ".")
>>>     filo    = str(0) + ".rgrd.nc <http://secure-web.cisco.com/1qp3lTKKuGOiRenNSV2mBVPtaoJvr4FX79fNvr1SHNiH45LiiRgo791rBK5WvVJ328_9O9negnRBCXH87H-TT4hFZFC1Jx2Gv7S--nVCvs6J0xREDrJzfEWPXiFW0ZsKtPsAQY3KT5kCR2tSWv9ApyU_7pLbFlMoQoVPcHXKt28S2KbzbcZLHQW2uwsMY_9X1pYYswOB1CkCT8ykYCmwxrzjA3upf-XiQssRxyO-Hcq3GROvwl6HS6cRm8ADD85jf4dqfHXti59WTN27GCubmYXCahfUApc1vwD37weD2iAORkRo21fwXdt2L5agRiKwr_942CeBi4j5MClyorMHhE3J-G1fR5XRcSN3wOaf09LYw2mDSo2Lv64Q-tgRyuNz5JQkuXP8nMW1nYnEeI56nyx4oAO94r5Pl1Wt9GdAME62yUUhdRJKL9xMorz0xxBS1/http%3A%2F%2Frgrd.nc>"
>>> 
>>>     if ( isfilepresent(srcGridDiri+"/"+filo) .eq. True ) then
>>>       system( "rm " + filo )
>>>     end if
>>> 
>>>     setfileoption("nc","Format","LargeFile")
>>>     fo = addfile( srcGridDiri + "/" + filo,"c")
>>>     fo->var = var_regrid
>>>     fo->lat = lat2d
>>>     fo->lon = lon2d
>>> 
>>>     ;; Clean up
>>>     delete( var )
>>>     delete( sfile )
>>>     delete( Opt )
>>>     delete( filo )
>>>     delete( fo )
>>>     delete( var_regrid )
>>> 
>>>   end do
>>> 
>>>   delete( dfile )
>>>   delete( lat2d )
>>>   delete( lon2d )
>>> 
>>> end
>>> 
>>> 
>>> _______________________________________________
>>> ncl-talk mailing list
>>> ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>>> 
>> 
>> 
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
>> 
>> 
> 
> 
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu <mailto:ncl-talk at ucar.edu>
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk <http://mailman.ucar.edu/mailman/listinfo/ncl-talk>
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20171114/462401a2/attachment.html>


More information about the ncl-talk mailing list