**To**:**ferret_users@xxxxxxxx****Subject**:**R: Re: [ferret_users] Different results between ferret and other softwares****From**:**"markus.mingel@xxxxxxxxx" <markus.mingel@xxxxxxxxx>**- Date: Thu, 28 Jul 2011 20:04:14 +0200 (CEST)
- Cc: prasad.thoppil@xxxxxxxxxxxxxxx
- Reply-to: "markus.mingel@xxxxxxxxx" <markus.mingel@xxxxxxxxx>
- Sender: owner-ferret_users@xxxxxxxx

Dear All, thanks for the quick responses. Just some more clarifications: the file has only 1 vertical level and the matlab function mean2 performs the mean of the whole matrix. According to the tips I received, I have computed with ferret the non-weighted average as: tas[x=@sum,y=@sum]/tas[x=@ngd,y=@ngd] and now the results are the same between matlab and ferret. However, I have a doubt about the average to use: is it better to use the weighted average or the non-weighted average to compute the mean global temperature ? Thanks for solving the problem, Regards Markus >----Messaggio originale---- >Da: prasad.thoppil@xxxxxxxxxxxxxxx >Data: 28/07/2011 17.23 >A: "markus.mingel@xxxxxxxxx"<markus.mingel@xxxxxxxxx> >Ogg: Re: [ferret_users] Different results between ferret and other softwares > >Markus, > >My guess is that ferret computes the weighted average, while other >software not. For normal mean in Ferret try: >field[x=@sum,y=@sum]/field[x=@ngd,y=@ngd] > >On 07/28/11 04:41, markus.mingel@xxxxxxxxx wrote: >> Dear Users, >> >> I got different results between ferret and matlab/idl/ncl when I compute the >> global mean temperature from the CMIP5 models. >> >> Namely, taking the Canadian atmospheric model this is the result of the dump >> for the temperature: >> >> float tas(time, lat, lon) ; >> tas:standard_name = "air_temperature" ; >> tas:long_name = "Near-Surface Air Temperature" ; >> tas:units = "K" ; >> tas:original_name = "ST" ; >> tas:cell_methods = "time: mean (interval: 15 minutes)" ; >> tas:cell_measures = "area: areacella" ; >> tas:history = "2011-03-16T18:49:59Z altered by CMOR: Treated scalar >> dimension: \'height\'. 2011-03-16T18:49:59Z altered by CMOR: replaced missing >> value flag (1e+38) with standard missing value (1e+20)." ; >> tas:coordinates = "height" ; >> tas:missing_value = 1.e+20f ; >> tas:_FillValue = 1.e+20f ; >> tas:associated_files = "baseURL: http://cmip-pcmdi.llnl. >> gov/CMIP5/dataLocation gridspecFile: >> gridspec_atmos_fx_CanESM2_historical_r0i0p0.nc areacella: >> areacella_fx_CanESM2_historical_r0i0p0.nc" ; >> >> >> To compute the mean global temperature of the first month of data with ferret >> I use the following command: >> >> list tas[i=@ave,j=@ave,l=1] >> VARIABLE : Near-Surface Air Temperature (K) >> DATA SET : CanESM2 model output prepared for CMIP5 historical >> FILENAME : tas_Amon_CanESM2_historical_r1i1p1_185001-200512. nc >> LONGITUDE: 1.4W(-1.4) to 1.4W(358.6) (XY ave) >> LATITUDE : 90S to 90N (XY ave) >> TIME : 16-JAN-1850 12:00 NOLEAP >> 284.8 >> >> >> Now I expect having the same value (284.8) in matlab/IDL/NCL; indeed with all >> these other 3 softwares I get the same value (275.13). Why??? >> >> Am I wrong reading the data with matlab/IDL/NCL? Since there aren't any >> scale_factor or add_offset values to read, in matlab/IDL/NCL I just read the >> value tas. As example, these are the matlab lines I used to compute the global >> mean: >> >> input_nc = netcdf('tas_Amon_CanESM2_historical_r1i1p1_185001-200512.nc'); >> tas = input_nc{'tas'}(:) ; >> tas = squeeze(tas(1,:,:)); >> mean2(tas) >> >> ans = >> >> 275.1371 >> >> >> Do anyone could explain me why I get this difference in the mean values? >> >> Thanks into advance for help >> Markus >

**Follow-Ups**:

- Previous by thread:
**[ferret_users] Nearest coordinate regridding NRST** - Next by thread:
**Re: R: Re: [ferret_users] Different results between ferret and other softwares**

Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement