[Thread Prev][Thread Next][Index]

Re: [EXTERNAL] Re: [ferret_users] ensemble or compare data from two time series



Hi Ansley,

I tried with your method. 

use agg_macav2metdata_pr_NorESM1-M_r1i1p1_historical_1950_2005_CONUS_monthly.nc
yes? let/like=precipitation p_tave=precipitation[t=@AVE]
yes? save/file=NorESM_hist_ave.nc p_tave
 LISTing to file NorESM_hist_ave.nc
cancel data 1
yes? use NorESM_hist_ave.nc
yes? use agg_macav2metdata_pr_NorESM1-M_r1i1p1_rcp85_2006_2099_CONUS_monthly.nc
yes? let/d=2/like=precipitation p_tave=precipitation[t=@AVE,gxy=p_tave[d=1]]

I got an error saying:

**ERROR: variable unknown or not in data set: PRECIPITATION[T=@AVE]

When I checked the data:

 sh data
     currently SET data sets:
    1> ./NorESM_hist_ave.nc
 name     title                             I         J         K         L
 P_TAVE   Monthly Precipitation Amount     1:251     1:144     ...       ...
       (T=30-DEC-1949 12:00:30-DEC-2005 00:00)
 
    2> ./agg_macav2metdata_pr_NorESM1-M_r1i1p1_rcp85_2006_2099_CONUS_monthly.nc  (default)
 name     title                             I         J         K         L
 PRECIPITATION
          Monthly Precipitation Amount     1:251     1:144     ...       1:1128
 ------------------------------
 P_TAVE[D=agg_macav2metdata_pr_NorESM1-M_r1i1p1_rcp85_2006_2099_CONUS_monthly] = PRECIPITATION[T=@AVE,GXY=P_TAVE[D=1]]
 
So I tested 

let test= PRECIPITATION[T=@AVE,d=2]-P_TAVE[d=1]

but still got the same error. Interestingly, If I only compare the two variables' T=@AVE, I got an error:

contour Precipitation[d=2,T=@AVE]-Precipitation[d=1,T=@AVE]
           *** NOTE: Ambiguous coordinates on T axis: PRECIPITATION[D=2,L=@AVE]-PRECIPITATION[D=1,L=@AVE]
 **ERROR: illegal limits: PRECIPITATION is not in the range T=30-DEC-1949 12:00:30-DEC-2005 00:00@AVE
          Axis extremes are T=30-DEC-2005 12:00:30-DEC-2099 00:00


I am using Pyferret v7.6 on Linux 4.15.0-1089-azure. I am wondering how to solve this problem.

Stay healthy,

Xiaoyu


On Wed, Nov 24, 2021 at 6:24 PM Ansley Manke <a.c.manke@xxxxxxxxx> wrote:
[Caution: Email from External Sender. Do not click or open links or attachments unless you know this sender.]
 

Hi,

Your datasets do not share a time range, so this is not a typical ensemble.

Usually, you can define an ensemble when the datasets do not have the same space/time grids,  by first defining a regridding operation so that all datasets have the same space/time grid as the first dataset in your list. On the page,

https://ferret.pmel.noaa.gov/Ferret/documentation/users-guide/commands-reference/DEFINE#_define_data_agg

scroll down in that page to find "Ensemble Examples". Example 3 shows how to define an ensemble for data on two different grids, including for this data a modulo regridding operation to define variables with consistent grids. The variable names must also match, so that example also shows how to rename the file variable within the Ferret session, and then define the new regridded variables using the desired names.


I am not sure what commands you tried using @AVE.  If you did a time average, then the resulting grid no longer depends on time, so there should not be an error message about time axes. Look at this example:

! Make a file containing the variables in the first dataset, averaged in time. 
! An ensemble needs one file with the grid that is going to be used in the
! ensemble; not all of the grids can come from LET definitions.

yes? use dataset_1
yes? let/like=precip p_tave = precip [t=@ave]
yes? save/file=data1.nc p_tave
yes? cancel data 1

! Now open this data and define variables in the other dataset(s) so that
! they can be included in an ensemble.

yes? use data1.nc

yes? use dataset_2
yes? let/d=2/like=precip p_tave = precip[t=@ave,gxy=p_tave [d=1]]

yes? ensemble time_ave = 1,2

! The ensemble dataset should contain the variable p_tave with a grid in X-Y-E

yes? show data time_ave


On 11/18/2021 3:22 PM, Xiaoyu Bai wrote:
Dear ferreters,

I am trying to ensemble RCPs (2005-2099) and control runs (1949-2005) together but keep getting T axis differs error.

*** NOTE: Variable "PRECIPITATION" excluded from aggregate: T axis differs among members
 **ERROR: error defining aggregate dataset: No valid datasets or datasets share no variables that can be aggregated.

It makes sense for pyferret to think the time axis are different. But comparing the @AVE value from different time series should also make sense to pyferret. I am wondering how to solve this problem.

By the way, I already tried to read data in separately and do @AVE first then compare. It still showed the same error because the data still come from different time series. 


--
Xiaoyu (she/her)


--
Xiaoyu (she/her)

[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement