[Thread Prev][Thread Next][Index]

Re: weird regridding behavior

Hi Denise,

Mark Verschell's explanation of your "method 1" is right on. If the limits of the desired result are *not supplied*, the default behavior of Ferret V4.91 is to use the portion of the destination grid that is obtainable from the raw (un-moduloed) source grid points. (In V5 this default behavior has been changed, so Ferret will deliver the full domain of the destination grid -- filling in missing values on the output and/or moduloing the input a needed.)

"Method 1" is the right solution for your problem. In your "method 2" the behavior you describe is explaned is in the Users Guide under "modulo regridding" (http://ferret.wrc.noaa.gov/Ferret/Documentation/Users_Guide/v50/chapter4.html#modulo$regridding)

Unlike other transformations and regridding, modulo regridding is performed as an unweighted axerage: each non-missing source point contributes 100% of its weight to the destination grid box within which it falls.
Hope this helps!

    - steve


Denise Worthen wrote:

I'm using Ferret 4.91 on an SGI irix64 6.2 (had no luck installing v5.0).

I have a series of NCEP/NCAR daily reanalysis netCDF files. I want to
regrid them to a 2x2 degree grid, from a 2.5x2.5 degree grid. The
original grid is:

yes? show grid air
 name       axis              # pts   start                end
 LON       LONGITUDE          144mr   0E                   2.5W
 LAT       LATITUDE            73 r   90S                  90N
 normal    Z
 TIME      TIME               365 r   03-JAN-1978 00:00    02-JAN-1979

(The days are off by 2 because of the udunits issue.)

The grid I defined is:

define axis/x=0:358:2/unit=degrees/modulo xax
define axis/y=90s:40s:2/unit=degrees yax
define grid/x=xax/y=yax gfine

I've tried two methods to get what I want using the new grid and neither

The first thing I tried was to regrid directly onto grid gfine
"air[g=gfine]". But I get one less than the expected dimension in X (ie,
179 values, from 0e to 356 by 2.

Since both the orignal and new grid are defined modulo in X I don't
understand why the regridding won't act the way I expect, ie, to give 180
values in X, using the modulo function to interpolate between 357.5 and
0.0. On the other hand, at least there are no missing values in longitude
(not that I expect any, but see below):

yes? list/y=60s/l=1 air
             mean Daily Air temperature at sigma leve (degK)
             regrid: 2 deg on X, 2 deg on Y
             TIME: 03-JAN-1978 00:00
             DATA SET: ./regrid_1.cdf
 0E     /   1:  272.5
 2E     /   2:  272.5
 4E     /   3:  272.4
 6E     /   4:  272.3
 8E     /   5:  272.3
 10E    /   6:  272.4
 12E    /   7:  272.5
 14E    /   8:  272.6
 16E    /   9:  272.6
 18E    /  10:  272.5

The second way I tried was to explicity tell ferret to regrid on the X
axis using modulo regridding "air[gx=xax@mod,gy=yax]". In this case I get
regridded values with the expected dimensions in X (ie, 180 values, from 0
to 358 by 2) but, every 5th value comes up missing:

yes? list/y=60s/l=1 air
             mean Daily Air temperature at sigma leve (degK)
             regrid: 2 deg on X@MOD, 2 deg on Y@LIN
             TIME: 03-JAN-1978 00:00
             DATA SET: ./regrid_2.cdf
 0E     /   1:  272.5
 2E     /   2:  272.5
 4E     /   3:   ....
 6E     /   4:  272.3
 8E     /   5:  272.3
 10E    /   6:  272.4
 12E    /   7:  272.6
 14E    /   8:   ....
 16E    /   9:  272.7
 18E    /  10:  272.5

Does anyone have an explanation for what's going on here? And, more
importantly, how to get the regridding to do what I want?

Denise L. Worthen, SSAI
Oceans and Ice Branch/Code 971
NASA Goddard Space Flight Center
Greenbelt MD 20771

(301) 286-2339


                |  NOAA/PMEL               |  ph. (206) 526-6080
Steve Hankin    |  7600 Sand Point Way NE  |  FAX (206) 526-6744
                |  Seattle, WA 98115-0070  |  hankin@pmel.noaa.gov

[Thread Prev][Thread Next][Index]

Dept of Commerce / NOAA / OAR / PMEL / TMAP

Contact Us | Privacy Policy | Disclaimer | Accessibility Statement