Re: Gridded data area average

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Mon Nov 15 2010 - 15:31:42 MST

If the grid is global use:
 
https://www.ncl.ucar.edu/Document/Functions/Contributed/area_conserve_remap_Wrap.shtml

If regional:
https://www.ncl.ucar.edu/Document/Functions/Contributed/area_hi2lores_Wrap.shtml

==
Both require that lat and lon be 1D arrays [rectilinear coordinate system].
===

Some examples

   https://www.ncl.ucar.edu/Applications/HiResPrc.shtml

Examples 6 onward at
   https://www.ncl.ucar.edu/Applications/regrid.shtml

On 11/15/2010 03:25 PM, Sho Kawazoe wrote:
> NCL users,
>
> I'm currently working with University of Washington gridded
> precipitation data, which is at 1/8 by 1/8 degree grid. The coordinates
> are in 1-D latitude/longitude, with the precipitation dimensions being
> (time,latitude,longitude).
>
> Unfortunately, the data is too large for a separate Fortran Script to
> handle, so I need to convert it to a 1/2 by 1/2 degree grid. My current
> method involves simply taking the data at every 1/2 degree, but some
> questions arose about how effective and accurate this really is.
> Instead, I want to still have a 1/2 by 1/2 degree data reading, but
> instead of a simple point analysis, I want to average values of the data
> from the points around it (so technically it would be the average of
> 16points around one point).
>
> I've attached a script, and as it shows, I've tried a variety of
> methods, but all with various issues (such as dimensions being
> incorrect, all values are zeros, do loop not actually looping anything
> etc). Am I on the right track? Do I regrid? Any tip or suggestions is
> greatly appreciated.
>
> Thank You
> Sho Kawazoe
>
>
>
> ;*******************************************************************
> ;Load NCL library files. Always load "Shea_util" AFTER contributed
> ;*******************************************************************
>
> load "/usr/local/ncl/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> load "/usr/local/ncl/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "/usr/local/ncl/lib/ncarg/nclscripts/csm/contributed.ncl"
> load "/usr/local/ncl/lib/ncarg/nclscripts/csm/shea_util.ncl"
>
> begin
>
> ;*****************************************************
> ; Read original NetCDF file.
> ;*****************************************************
>
> fin = addfile("UW_region.nc", "r")
>
> prc = fin->prc(:,:,:)
> lat = fin->latitude(:)
> lon = fin->longitude(:)
> time = fin->time(:)
>
> dim = dimsizes(prc)
> ntime = dim(0)
> nlat = dim(1)
> nlon = dim(2)
>
> x = prc(:,0:14,0:14)
>
> printMinMax(x,True)
>
> y0 = 44.3125
> x0 = -93.4375
>
> ; x2 = linint2_points(lon,lat,prc,False,x0,y0,0)
> ; printVarSummary(x2) ; Another Method (only creates a 2D array)
> ; printMinMax(x2,True)
>
> ; do k = 0,1
> ; do j = 0,5
> ; do i = 0,5
> ; x(k,j,i) = prc(k,j,i) + prc(k,j+1,i) + prc(k,j,i+1) +
> prc(k,j+1,j+1) doloop method 1
> ; prc_ave = prc(k,j,i) + prc(k,j+1,i) + prc(k,j,i+1) +
> prc(k,j+1,j+1) doloop method 2
> ; end do
> ; end do
> ; end do
>
> ntStrt = 0
> ntLast = 1
>
> do nt = 0,5,1
> x(nt,:,:) = dim_avg_n_Wrap(prc(:,ntStrt:ntLast,ntStrt:ntLast),0)
> ntStrt = ntStrt + 1 ; Another Method (Dim on right is not
> the same as the left)
> ntLast = ntLast + 1
> end do
>
> print("")
> printMinMax(x,True)
> printVarSummary(x)
> ; print(x)
>
> ; prc_ave!0 = "time"
> ; prc_ave!1 = "latitude"
> ; prc_ave!2 = "longitude"
>
> ;******************************************************************
> ; Create a new nc output file. create global attributes
> ;******************************************************************
>
> system("/bin/rm -f UW_domAve.nc") ; remove any pre-existing file
> fout = addfile("UW_domAve.nc","c")
> filedimdef(fout,"time",-1,True) ; Makes time an
> UNLIMITED dimension (as suggested by NCL)
>
> globeAtt = 1
> globeAtt@description = "Data analyzed uses gridded UW observational
> data. This project is in association with the NARCCAP project"
> globeAtt@title = "University of Washington gridded
> observational data output prepared for NARCCAP present-day climate"
> globeAtt@project_id = "NARCCAP"
> globeAtt@contact = "Edwin Mauer: emaurer@engr.scu.edu
> <mailto:emaurer@engr.scu.edu>"
> globeAtt@instituion = "University of Washington Department of
> Atmospheric Sciences (Seattle, Washington)"
>
> fileattdef(fout, globeAtt) ; create the global [file] attributes
>
> ; fout->prc = x2
> fout->time = time
>
>
> end
>
>
>
>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

-- 
======================================================
Dennis J. Shea                  tel: 303-497-1361    |
P.O. Box 3000                   fax: 303-497-1333    |
Climate Analysis Section                             |
Climate & Global Dynamics Div.                       |
National Center for Atmospheric Research             |
Boulder, CO  80307                                   |
USA                        email: shea 'at' ucar.edu |
======================================================
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Nov 15 15:31:51 2010

This archive was generated by hypermail 2.1.8 : Wed Nov 17 2010 - 13:14:26 MST