Re: area weighted average with irregular ocean grid

From: Mira Berdahl <mberdahl_at_nyahnyahspammersnyahnyah>
Date: Thu Jul 11 2013 - 08:14:02 MDT

Hi Jian,
That seemed to do the trick. Thanks!
Mira

> Hi,
>
> You can try function region_ind to get the indices for region of interest.
> http://www.ncl.ucar.edu/Document/Functions/Contributed/region_ind.shtml
>
> Jian
>
>
> On Wed, Jul 10, 2013 at 2:36 PM, Mira Berdahl
> <mberdahl@envsci.rutgers.edu>wrote:
>
>> Hi there,
>>
>> I'm trying to calculate the area weighted average of sea surface
>> temperature in a certain region of the North Atlantic, but my input file
>> is on an irregular ocean grid. When I try to use lat2d and lon2d I am
>> unable to convert from i,j to lat,lon so I get an error saying that my
>> coordinate subscripts are out of range. Code and output are below.
>>
>> Do I have to go through and regrid the dataset in order to obtain lat
>> lon
>> as degrees? Or is using lat2d and lon2d sufficient, but I'm doing
>> something incorrectly?
>>
>> Many thanks,
>> Mira
>>
>>
>> The code is:
>>
>> ;************************************************
>> ; NA_tos.ncl
>> ;************************************************
>> 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/csm/popRemap.ncl"
>> ;************************************************
>> begin
>>
>>
>> ;%%%%% read MPI data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> in =
>> addfile("tos_Omon_MPI-ESM-P_past1000_r1i1p1_085001-184912.nc","r")
>> tos_mpi = in->tos
>> tos_mpi!1 = "lat"
>> tos_mpi!2 = "lon"
>> tos_mpi&lat = in->j
>> tos_mpi&lon = in->i
>> tos_mpi@lat2d = in->lat
>> tos_mpi@lon2d = in->lon
>>
>> printVarSummary(tos_mpi)
>>
>>
>> ;%%%%% read in the weights (area of grid cells %%%%%%%%%%%%%%%%
>> in = addfile("areacello_fx_MPI-ESM-P_past1000_r0i0p0.nc","r")
>> cellarea_mpi = in->areacello
>> printVarSummary(cellarea_mpi)
>>
>> cellarea_mpi!1 = "lat"
>> cellarea_mpi!2 = "lon"
>> cellarea_mpi@lat2d = in->lat
>> cellarea_mpi@lon2d = in->lon
>>
>> ;%%% calculate the area weighted NA temperature based on area of grid
>> cells.
>>
>> NA_tos_mpi =
>>
>> wgt_areaave2(tos_mpi(:,{50:65},{310:340}),cellarea_mpi({50:65},{310:340}),0)
>>
>> delete(cellarea_mpi)
>> delete(tos_mpi)
>> delete(wgtx)
>> delete(wgty)
>> delete(NA_tos_mpi)
>>
>> end
>>
>> ;***************************************************************
>>
>>
>>
>>
>> Here is the output after running the script:
>>
>> [mlosic@ncoeus Ocean]$ ncl testing_mpi.ncl
>> Copyright (C) 1995-2009 - All Rights Reserved
>> University Corporation for Atmospheric Research
>> NCAR Command Language Version 5.1.0
>> The use of this software is governed by a License Agreement.
>> See http://www.ncl.ucar.edu/ for more details.
>>
>>
>> Variable: tos_mpi
>> Type: float
>> Total Size: -1591607296 bytes
>> 675840000 values
>> Number of Dimensions: 3
>> Dimensions and sizes: [time | 12000] x [lat | 220] x [lon | 256]
>> Coordinates:
>> time: [15.5..365226.5]
>> lat: [1..220]
>> lon: [1..256]
>> Number Of Attributes: 12
>> lon2d : <ARRAY of 56320 elements>
>> lat2d : <ARRAY of 56320 elements>
>> standard_name : sea_surface_temperature
>> long_name : Sea Surface Temperature
>> comment : "this may differ from ""surface temperature"" in regions
>> of sea ice."
>> units : K
>> cell_methods : time: mean
>> cell_measures : area: areacello
>> missing_value : 1e+20
>> _FillValue : 1e+20
>> associated_files : baseURL:
>> http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile:
>> gridspec_ocean_fx_MPI-ESM-P_past1000_r0i0p0.nc areacello:
>> areacello_fx_MPI-ESM-P_past1000_r0i0p0.nc
>> coordinates : lat lon
>>
>>
>> Variable: cellarea_mpi
>> Type: float
>> Total Size: 225280 bytes
>> 56320 values
>> Number of Dimensions: 2
>> Dimensions and sizes: [j | 220] x [i | 256]
>> Coordinates:
>> j: [1..220]
>> i: [1..256]
>> Number Of Attributes: 7
>> standard_name : cell_area
>> long_name : Ocean Grid-Cell Area
>> units : m2
>> missing_value : 1e+20
>> _FillValue : 1e+20
>> associated_files : baseURL:
>> http://cmip-pcmdi.llnl.gov/CMIP5/dataLocation gridspecFile:
>> gridspec_ocean_fx_MPI-ESM-P_past1000_r0i0p0.nc
>> coordinates : lat lon
>> fatal:NclOneDValGetRangeIndex: start coordinate index out of range,
>> can't
>> continue
>> fatal:Could not obtain coordinate indexes, unable to perform subscript
>> fatal:Execute: Error occurred at or near line 39 in file testing_mpi.ncl
>>
>> _______________________________________________
>> ncl-talk mailing list
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Jul 11 08:14:22 2013

This archive was generated by hypermail 2.1.8 : Fri Jul 12 2013 - 16:37:39 MDT