r@i@1290 m@iii@g oii @im@com
2019-Mar-17 22:53 UTC
[R] Weighted spatial averages across grid cells in NetCDF file
Hi there,
I am currently working on a project that involves climate model data stored in a
NetCDF file. I am currently trying to calculate "weighted" spatial
annual "global" averages for precipitation. I need to do this for each
of the 95 years of global precipitation data that I have. The idea would be to
somehow apply weights to each grid cell by using the cosine of its latitude
(which means latitude grid cells at the equator would have a weight of 1 (i.e.
the cosine of 0 degrees is 1), and the poles would have a value of 1 (as the
cosine of 90 is 1)). Then, I would be in a position to calculate annual weighted
averages based on averaging each grid cell.?
I have an idea how to do this conceptually, but I am not sure where to begin
writing a script in R to apply the weights across all grid cells and then
average these for each of the 95 years. I would greatly appreciate any help with
this, or any resources that may be helpful!!!
At the very least, I have opened the .nc file and read-in the NetCDF variables,
as shown below:
ncfname<-"MaxPrecCCCMACanESM2rcp45.nc"
Prec<-raster(ncfname)
print(Prec)
Model<-nc_open(ncfname)
get<-ncvar_get(Model,"onedaymax")longitude<-ncvar_get(Model,
"lon")
latitude<-ncvar_get(Model, "lat")
Year<-ncvar_get(Model, "Year")
Also, if it helps, here is what the .nc file contains:
3 variables (excluding dimension variables):
double onedaymax[lon,lat,time] (Contiguous storage)
units: mm/day
double fivedaymax[lon,lat,time] (Contiguous storage)
units: mm/day
short Year[time] (Contiguous storage)
3 dimensions:
time Size:95
lat Size:64
units: degree North
lon Size:128
units: degree East
Again, any assistance would be extremely valuable with this! I look forward to
your response!
[[alternative HTML version deleted]]