Hi Dave,
Thanks for pointing out the mistake. Yes, I also noticed that mistake
after posting the query in NCL talk. I have corrected the mistake
later and defined as follows but still get the same error message:
f = addfile("/brosto2/s3/kamal/DAYMET/prcp.sontario.2002.nc","r")
x = f->prcp(0:30,{36.06:49.44},{-92.64:-67.35})
Rainfall = dim_avg_n_Wrap(x,(/1,2/))
================================================================================
This is the same DAYMET data set I have generated using your
contributed script and the header is as follows:
[kamal@bro95 DAYMET]$ /work/kamal/brown/netcdf-4.0.1/bin/ncdump -h
prcp.sontario.2002.nc
netcdf prcp.sontario.2002 {
dimensions:
time = UNLIMITED ; // (365 currently)
ntiles = 96 ;
y = 1924 ;
x = 2376 ;
nv = 2 ;
variables:
short lambert_conformal_conic ;
lambert_conformal_conic:grid_mapping_name =
"lambert_conformal_conic" ;
lambert_conformal_conic:longitude_of_central_meridian
= -100. ;
lambert_conformal_conic:latitude_of_projection_origin = 42.5 ;
lambert_conformal_conic:false_easting = 0. ;
lambert_conformal_conic:false_northing = 0. ;
lambert_conformal_conic:standard_parallel = 25., 60. ;
int tiles_included(ntiles) ;
tiles_included:actual_range = 11383, 12477 ;
double lat(y, x) ;
lat:standard_name = "latitude" ;
lat:long_name = "latitude coordinate" ;
lat:units = "degrees_north" ;
lat:actual_range = 32.0670969595111, 54.1226331521349 ;
double y(y) ;
y:standard_name = "projection_y_coordinate" ;
y:long_name = "y coordinate of projection" ;
y:units = "m" ;
y:actual_range = -681500., 1241500. ;
double x(x) ;
x:standard_name = "projection_x_coordinate" ;
x:long_name = "x coordinate of projection" ;
x:units = "m" ;
x:actual_range = 153500., 2528500. ;
double lon(y, x) ;
lon:standard_name = "longitude" ;
lon:long_name = "longitude coordinate" ;
lon:units = "degrees_east" ;
lon:actual_range = -98.2267604163355, -62.8484092336098 ;
short yearday(time) ;
yearday:long_name = "yearday" ;
yearday:valid_range = 1s, 365s ;
double time(time) ;
time:long_name = "time" ;
time:calendar = "standard" ;
time:units = "days since 1980-01-01 00:00:00 UTC" ;
time:bounds = "time_bnds" ;
time:actual_range = 8036.5, 8400.5 ;
double time_bnds(time, nv) ;
float prcp(time, y, x) ;
prcp:actual_range = 0.f, 200.f ;
prcp:cell_methods = "area: sum time: sum" ;
prcp:grid_mapping = "lambert_conformal_conic" ;
prcp:coordinates = "lat lon" ;
prcp:valid_range = 0.f, 200.f ;
prcp:missing_value = -9999.f ;
prcp:units = "mm/day" ;
prcp:long_name = "daily total precipitation" ;
prcp:_FillValue = -9999.f ;
// global attributes:
:history = "Fri Feb 1 23:30:46 EST 2013: Tiles
joined by join.daymet.1226.ncl" ;
:start_year = 2002s ;
:source = "Daymet Software Version 2.0" ;
:Version_software = "Daymet Software Version 2.0" ;
:Version_data = "Daymet Data Version 2.1" ;
:Conventions = "CF-1.4" ;
:citation = "Please see http://daymet.ornl.gov/ for
current Daymet data citation information" ;
:references = "Please see http://daymet.ornl.gov/ for
current information on Daymet references" ;
}
======================================================================
When I used x = f->prcp(0:30,{36.06:49.44},:) ; across all longitude
then it works fine but getting error message with x =
f->prcp(0:30,{36.06:49.44},{-92.64:-67.35}). So, it seems to me that
my declaration of longitude ranges is not appropriate. I look forward
to hearing from you.
Thanks
Kamal
Quoting Dave Allured - NOAA Affiliate <dave.allured@noaa.gov>:
> Kamal,
>
> In your first message you showed the same line of code twice. But the
> first copy was different from the second, in a very important way:
>
> x = f->prcp(0:30,{36.06:49.44},{-92.64:-67.35-67.35}) ; read first
> 31 time steps
>
> In this line, please notice that the number -67.35 was pasted TWICE
> inside the curly brackets. I do not think you intended to do this.
> Notice that with the way the line reads, "-67.35-67.35" is an
> expression, not a simple number, and it evaluates to -134.7. If this
> is in your actual code, then this will easily explain "Subscript out
> of range". HTH.
>
> --Dave
>
> On Tue, Apr 2, 2013 at 12:17 PM, <mmkamal@uwaterloo.ca> wrote:
>> Hi,
>>
>> I am trying to apply the NCL's "dim_avg_n_Wrap" function on a data
>> set that contain data points beyond my are of interest.
>>
>> ; bounds over data present (Input Data)
>>
>> MinLat = 32.06
>> MaxLat = 54.12
>> MinLon = -98.22
>> MaxLon = -62.84
>>
>> ; my are of interest
>>
>> MinLat = 36.06
>> MaxLat = 49.44
>> MinLon = -92.64
>> MaxLon = -67.35
>>
>> I can use the following code to take average across all lat/lon
>>
>> =============================================================
>>
>> 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"
>>
>> begin
>> ;************************************************
>> ; Read the file
>> ;************************************************
>>
>> f = addfile("/brosto2/s3/kamal/DAYMET/prcp.sontario.2002.nc","r")
>>
>> x = f->prcp(0:30,{36.06:49.44},{-92.64:-67.35-67.35}) ; read first 31
>> time steps
>>
>> Rainfall = dim_avg_n_Wrap(x,(/1,2/))
>>
>> end
>> ==========================================================
>>
>> But I am getting the following error message:
>>
>> fatal:Subscript out of range, error in subscript #2
>> fatal:Execute: Error occurred at or near line 19 in file
>> Prcp_Jan_multi_time_labels_3.ncl
>> ===========================================================
>>
>> Where the line 19 is:
>>
>> x = f->prcp(0:30,{36.06:49.44},{-92.64:-67.35})
>>
>>
>> I have figure out that the problem is the declaration of longitude
>> value. Could anyone please help me how can I define the longitude
>> values.
>>
>>
>> Thanks
>> Kamal
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Apr 2 15:31:23 2013
This archive was generated by hypermail 2.1.8 : Tue Apr 02 2013 - 21:23:48 MDT