Project

General

Profile

Seasonal mean: which way is correct?

Added by S BR over 4 years ago

Hi All,
Initially I used 'seasmean' command to calculate the DJF seasonal mean.

cdo -seasmean -selseas,DJF data1985-2000.nc data1985-2000_DJFmean1.nc

Later, again I used 'yearmean' command to calculate DJF seasonal mean from the same data.

cdo -yearmean -selseas,DJF data1985-2000.nc data1985-2000_DJFmean2.nc

I am confused, which way is correct as they both give different results.

Thank you.
SB


Replies (11)

RE: Seasonal mean: which way is correct? - Added by Karin Meier-Fleischer over 4 years ago

Hi S,

seasmean and yearmean do different things.

- seasmean of season DJF uses months 12, 1, 2 to compute the mean.
- yearmean uses all month of a year 1,2,3,4,5,6,7,8,9,10,11,12 to compute the mean.

If your data starts with January 1985 and ends in December 2000 and the data would look like my test
data (to demonstrate the bahaviour) then

cdo infon data1985-2000.nc

    -1 :       Date     Time   Level Gridsize    Miss :     Minimum        Mean     Maximum : Parameter name
     1 : 1985-01-16 12:00:00       2    18432       0 :      227.12      275.73      304.19 : tas           
     2 : 1985-02-15 00:00:00       2    18432       0 :      221.93      275.38      305.51 : tas           
     3 : 1985-03-16 12:00:00       2    18432       0 :      211.86      276.19      304.90 : tas           
     4 : 1985-04-16 00:00:00       2    18432       0 :      206.27      277.72      308.62 : tas           
     5 : 1985-05-16 12:00:00       2    18432       0 :      204.39      279.25      313.18 : tas           
     6 : 1985-06-16 00:00:00       2    18432       0 :      202.73      280.42      316.82 : tas           
     7 : 1985-07-16 12:00:00       2    18432       0 :      200.73      280.85      316.07 : tas           
     8 : 1985-08-16 12:00:00       2    18432       0 :      198.98      280.21      316.30 : tas           
     9 : 1985-09-16 00:00:00       2    18432       0 :      205.80      279.29      312.47 : tas           
    10 : 1985-10-16 12:00:00       2    18432       0 :      212.15      277.98      307.14 : tas           
    11 : 1985-11-16 00:00:00       2    18432       0 :      219.30      276.76      303.29 : tas           
    12 : 1985-12-16 12:00:00       2    18432       0 :      225.60      276.23      304.18 : tas           
    13 : 1986-01-16 12:00:00       2    18432       0 :      227.36      276.02      304.42 : tas           
    14 : 1986-02-15 00:00:00       2    18432       0 :      221.56      276.06      304.81 : tas           
    15 : 1986-03-16 12:00:00       2    18432       0 :      214.15      276.53      305.09 : tas           
    16 : 1986-04-16 00:00:00       2    18432       0 :      206.45      277.88      308.60 : tas           
... 
   190 : 2000-10-16 12:00:00       2    18432       0 :      209.56      278.42      307.78 : tas           
   191 : 2000-11-16 00:00:00       2    18432       0 :      222.80      277.39      309.26 : tas           
   192 : 2000-12-16 12:00:00       2    18432       0 :      228.04      276.85      309.05 : tas           
       :       Date     Time   Level Gridsize    Miss :     Minimum        Mean     Maximum : Parameter name

The selected season DJF would give

cdo infon -selseas,DJF data1985-2000.nc 

cdo(1) selseason: Process started
    -1 :       Date     Time   Level Gridsize    Miss :     Minimum        Mean     Maximum : Parameter name
     1 : 1985-01-16 12:00:00       2    18432       0 :      227.12      275.73      304.19 : tas           
     2 : 1985-02-15 00:00:00       2    18432       0 :      221.93      275.38      305.51 : tas           
     3 : 1985-12-16 12:00:00       2    18432       0 :      225.60      276.23      304.18 : tas           
     4 : 1986-01-16 12:00:00       2    18432       0 :      227.36      276.02      304.42 : tas           
     5 : 1986-02-15 00:00:00       2    18432       0 :      221.56      276.06      304.81 : tas           
     6 : 1986-12-16 12:00:00       2    18432       0 :      228.83      276.42      305.31 : tas           
     7 : 1987-01-16 12:00:00       2    18432       0 :      231.06      276.45      305.72 : tas           
     8 : 1987-02-15 00:00:00       2    18432       0 :      222.32      275.96      305.06 : tas           
     9 : 1987-12-16 12:00:00       2    18432       0 :      227.62      275.88      307.12 : tas           
    10 : 1988-01-16 12:00:00       2    18432       0 :      229.00      276.06      306.70 : tas           
    11 : 1988-02-15 12:00:00       2    18432       0 :      223.43      276.05      305.24 : tas           
...
    42 : 1998-12-16 12:00:00       2    18432       0 :      226.62      276.73      305.44 : tas           
    43 : 1999-01-16 12:00:00       2    18432       0 :      229.25      276.78      307.73 : tas           
    44 : 1999-02-15 00:00:00       2    18432       0 :      224.33      276.57      306.68 : tas           
    45 : 1999-12-16 12:00:00       2    18432       0 :      226.31      277.00      308.85 : tas           
    46 : 2000-01-16 12:00:00       2    18432       0 :      228.12      276.29      311.70 : tas           
    47 : 2000-02-15 12:00:00       2    18432       0 :      224.89      276.86      307.61 : tas           
    48 : 2000-12-16 12:00:00       2    18432       0 :      228.04      276.85      309.05 : tas           
cdo(1) selseason: Processed 1 variable over 192 timesteps.
       :       Date     Time   Level Gridsize    Miss :     Minimum        Mean     Maximum : Parameter name

If you compute the seasmean and select the season DJF a warning appears because of incomplete seasons:

cdo -seasmean -select,season=DJF  data1985-2000.nc tmp1.nc

cdo(1) select: Process started
Warning: Season   1 ( 1985-01-16) has only 2 input time steps!
Warning: Season  17 ( 2000-12-16) has only 1 input time step!
cdo(1) select: Processed 1 variable over 192 timesteps.
cdo infon tmp1.nc

    -1 :       Date     Time   Level Gridsize    Miss :     Minimum        Mean     Maximum : Parameter name
     1 : 1985-01-31 06:00:00       2    18432       0 :      225.58      275.55      304.22 : tas           
     2 : 1986-01-16 12:00:00       2    18432       0 :      224.92      276.10      304.13 : tas           
     3 : 1987-01-16 12:00:00       2    18432       0 :      228.39      276.28      305.17 : tas           
     4 : 1988-01-16 12:00:00       2    18432       0 :      226.69      275.99      305.55 : tas           
     5 : 1989-01-16 12:00:00       2    18432       0 :      227.25      276.16      306.33 : tas           
     6 : 1990-01-16 12:00:00       2    18432       0 :      227.70      276.82      308.55 : tas           
     7 : 1991-01-16 12:00:00       2    18432       0 :      227.86      276.65      307.56 : tas           
     8 : 1992-01-16 12:00:00       2    18432       0 :      227.32      276.42      306.37 : tas           
     9 : 1993-01-16 12:00:00       2    18432       0 :      226.49      276.23      307.45 : tas           
    10 : 1994-01-16 12:00:00       2    18432       0 :      228.14      276.19      306.00 : tas           
    11 : 1995-01-16 12:00:00       2    18432       0 :      229.67      276.60      307.78 : tas           
    12 : 1996-01-16 12:00:00       2    18432       0 :      226.87      276.71      307.42 : tas           
    13 : 1997-01-16 12:00:00       2    18432       0 :      229.70      276.42      307.10 : tas           
    14 : 1998-01-16 12:00:00       2    18432       0 :      227.90      276.45      307.65 : tas           
    15 : 1999-01-16 12:00:00       2    18432       0 :      226.81      276.69      305.27 : tas           
    16 : 2000-01-16 12:00:00       2    18432       0 :      227.06      276.72      309.08 : tas           
    17 : 2000-12-16 12:00:00       2    18432       0 :      228.04      276.85      309.05 : tas           
cdo    infon: Processed 1 variable over 17 timesteps [0.01s 14MB].

When using yearmean it calculates the yearly mean not the seasonal mean.

cdo -seasmean -select,season=DJF  data1985-2000.nc tmp1.nc
cdo infon tmp2.nc
    -1 :       Date     Time   Level Gridsize    Miss :     Minimum        Mean     Maximum : Parameter name
     1 : 1985-02-15 00:00:00       2    18432       0 :      225.64      275.78      303.97 : tas           
     2 : 1986-02-15 00:00:00       2    18432       0 :      226.52      276.16      304.33 : tas           
     3 : 1987-02-15 00:00:00       2    18432       0 :      227.12      276.10      305.18 : tas           
     4 : 1988-02-15 12:00:00       2    18432       0 :      227.21      276.12      304.53 : tas           
     5 : 1989-02-15 00:00:00       2    18432       0 :      227.54      276.45      306.42 : tas           
     6 : 1990-02-15 00:00:00       2    18432       0 :      227.86      276.72      308.27 : tas           
     7 : 1991-02-15 00:00:00       2    18432       0 :      227.03      276.58      307.57 : tas           
     8 : 1992-02-15 12:00:00       2    18432       0 :      227.61      276.30      306.08 : tas           
     9 : 1993-02-15 00:00:00       2    18432       0 :      226.57      276.21      307.14 : tas           
    10 : 1994-02-15 00:00:00       2    18432       0 :      229.22      276.40      306.14 : tas           
    11 : 1995-02-15 00:00:00       2    18432       0 :      228.36      276.67      307.27 : tas           
    12 : 1996-02-15 12:00:00       2    18432       0 :      227.38      276.51      307.17 : tas           
    13 : 1997-02-15 00:00:00       2    18432       0 :      229.05      276.58      307.33 : tas           
    14 : 1998-02-15 00:00:00       2    18432       0 :      227.84      276.40      306.77 : tas           
    15 : 1999-02-15 00:00:00       2    18432       0 :      226.74      276.78      305.76 : tas           
    16 : 2000-02-15 12:00:00       2    18432       0 :      227.50      276.67      308.58 : tas           
cdo    infon: Processed 1 variable over 16 timesteps [0.01s 14MB].

-Karin

RE: Seasonal mean: which way is correct? - Added by S BR over 4 years ago

Hi Karin,
Thanks for the detail explanations with good examples.
As now the 'season' operator available, which helps to define non-standard seasons, could you please confirm what operator (seasmean and yearmean) should I used to calculate the DJF seasonal mean.

cdo -seasmean -select,season=DJF data1985-2000.nc tmp1.nc

or

cdo -yearmean -select,season=DJF data1985-2000.nc tmp2.nc

As you said, how can the 'yearmean' in this case calculates the annual mean as we already selected NDJFM with 'season' operator.
Also, do we still need to use 'seasmean' for non-standard seasonal mean (e.g. NDJFM).
Sorry for the confusion.

Thank you.
S

RE: Seasonal mean: which way is correct? - Added by Karin Meier-Fleischer over 4 years ago

It will compute the mean of all months available for a year. If you have selected only NDJFM then it will compute the mean of JFMND of the same year while seasmean compute the mean of the season NDJFM --> NDJFM.

Just to make sure

1. seasmean
year month
1986 11
1986 12
1987  1
1987  2
1987  3

2. yearmean
1986  1
1986  2
1986  3
1986 11
1986 12

RE: Seasonal mean: which way is correct? - Added by S BR over 4 years ago

Hi Karin,
Could you please check your data once again. It looks like '-seasmean -select,season=NDJFM' giving wrong result. It gives following warning and the output is not correct. It gives output with 151 timesteps for the data period (1970 -2019).

cdo -seasmean -select,season=NDJFM data1970-2019.nc tmp1.nc
cdo(2) select: Process started
cdo seasmean (Warning): Season 1 ( 1970-01-01) has only 2 input time steps!
cdo seasmean (Warning): Season 2 ( 1970-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 3 ( 1970-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 5 ( 1971-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 6 ( 1971-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 8 ( 1972-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 9 ( 1972-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 11 ( 1973-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 12 ( 1973-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 14 ( 1974-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 15 ( 1974-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 17 ( 1975-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 18 ( 1975-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 20 ( 1976-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 21 ( 1976-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 23 ( 1977-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 24 ( 1977-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 26 ( 1978-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 27 ( 1978-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 29 ( 1979-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 30 ( 1979-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 32 ( 1980-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 33 ( 1980-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 35 ( 1981-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 36 ( 1981-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 38 ( 1982-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 39 ( 1982-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 41 ( 1983-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 42 ( 1983-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 44 ( 1984-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 45 ( 1984-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 47 ( 1985-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 48 ( 1985-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 50 ( 1986-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 51 ( 1986-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 53 ( 1987-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 54 ( 1987-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 56 ( 1988-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 57 ( 1988-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 59 ( 1989-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 60 ( 1989-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 62 ( 1990-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 63 ( 1990-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 65 ( 1991-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 66 ( 1991-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 68 ( 1992-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 69 ( 1992-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 71 ( 1993-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 72 ( 1993-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 74 ( 1994-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 75 ( 1994-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 77 ( 1995-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 78 ( 1995-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 80 ( 1996-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 81 ( 1996-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 83 ( 1997-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 84 ( 1997-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 86 ( 1998-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 87 ( 1998-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 89 ( 1999-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 90 ( 1999-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 92 ( 2000-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 93 ( 2000-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 95 ( 2001-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 96 ( 2001-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 98 ( 2002-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 99 ( 2002-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 101 ( 2003-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 102 ( 2003-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 104 ( 2004-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 105 ( 2004-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 107 ( 2005-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 108 ( 2005-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 110 ( 2006-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 111 ( 2006-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 113 ( 2007-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 114 ( 2007-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 116 ( 2008-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 117 ( 2008-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 119 ( 2009-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 120 ( 2009-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 122 ( 2010-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 123 ( 2010-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 125 ( 2011-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 126 ( 2011-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 128 ( 2012-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 129 ( 2012-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 131 ( 2013-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 132 ( 2013-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 134 ( 2014-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 135 ( 2014-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 137 ( 2015-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 138 ( 2015-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 140 ( 2016-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 141 ( 2016-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 143 ( 2017-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 144 ( 2017-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 146 ( 2018-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 147 ( 2018-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 149 ( 2019-03-01) has only 1 input time step!
cdo seasmean (Warning): Season 150 ( 2019-11-01) has only 1 input time step!
cdo seasmean (Warning): Season 151 ( 2019-12-01) has only 1 input time step!
cdo(2) select: Processed 30720000 values from 15 variables over 600 timesteps
cdo seasmean: Processed 30720000 values from 15 variables [1.15s 52MB]

I feels the 'seasmean' can be used only for the standard seasons like DJF, JJA and not for the 'non-standard seasons' like NDJFM, MJJAS, etc.

I am really confused what operator to be used for the non-standard seasonal means (e.g. NDJFM).

Please check your previous answer posted two years ago. You are suggesting 'yearavg' for non-standard seasonal mean.
https://code.mpimet.mpg.de/boards/1/topics/3793

Thank you.

RE: Seasonal mean: which way is correct? - Added by Ralf Mueller over 4 years ago

Hi S BR!

just a side note, since I have the impression you think there is a link between the operators seasmean and select,season=.

During the execution of the command, there is is no link between any two operators except the input/output streams. A good debugging strategy is to watch the streams in between the calls with something like

cdo -infov -select,season=NDJFM data1970-2019.nc
This will show, what input is given to seasmean.

hth
ralf

RE: Seasonal mean: which way is correct? - Added by S BR over 4 years ago

Hi Ralf,
Thanks for your comments. I checked your command and I get the following info.
cdo(2) select: Process started
-1 : Date Time Level Gridsize Miss : Minimum Mean Maximum : Parameter name
1 : 1970-01-01 00:00:00 0 8192 0 : 227.36 278.75 315.41 : ST
2 : 1970-02-01 00:00:00 0 8192 0 : 230.78 278.21 317.16 : ST
3 : 1970-03-01 00:00:00 0 8192 0 : 210.48 278.13 315.73 : ST
4 : 1970-11-01 00:00:00 0 8192 0 : 226.52 278.74 316.14 : ST
5 : 1970-12-01 00:00:00 0 8192 0 : 227.46 278.48 316.30 : ST
6 : 1971-01-01 00:00:00 0 8192 0 : 221.14 278.65 316.25 : ST
7 : 1971-02-01 00:00:00 0 8192 0 : 229.66 278.15 314.98 : ST
8 : 1971-03-01 00:00:00 0 8192 0 : 214.03 278.15 316.19 : ST
9 : 1971-11-01 00:00:00 0 8192 0 : 231.51 278.85 314.05 : ST
10 : 1971-12-01 00:00:00 0 8192 0 : 231.73 278.81 313.76 : ST
11 : 1972-01-01 00:00:00 0 8192 0 : 233.02 278.78 316.45 : ST
12 : 1972-02-01 00:00:00 0 8192 0 : 232.55 278.39 317.33 : ST
13 : 1972-03-01 00:00:00 0 8192 0 : 214.47 278.09 315.47 : ST
14 : 1972-11-01 00:00:00 0 8192 0 : 229.92 279.05 314.37 : ST
15 : 1972-12-01 00:00:00 0 8192 0 : 231.56 278.90 315.86 : ST
16 : 1973-01-01 00:00:00 0 8192 0 : 231.37 278.63 313.36 : ST
17 : 1973-02-01 00:00:00 0 8192 0 : 229.58 278.11 314.41 : ST
18 : 1973-03-01 00:00:00 0 8192 0 : 211.80 277.85 316.60 : ST
19 : 1973-11-01 00:00:00 0 8192 0 : 227.44 279.09 313.29 : ST
20 : 1973-12-01 00:00:00 0 8192 0 : 229.14 278.86 315.76 : ST
....
.... so on.

However, if you use,
cdo -seasmean -select,season=NDJFM data1970-2019.nc tmp1.nc
it generates 151 season, which is not the result I want.

If you use,
cdo -yearmean -select,season=NDJFM data1970-2019.nc tmp2.nc
The first season averages JFMND months of 1970, 1971, and so on, which is again wrong.
I should be able to average ND of 1970 and JFM of 1971, to get the correct NDJFM average for 1970-1971 season.

what do you think?

RE: Seasonal mean: which way is correct? - Added by S BR over 4 years ago

This is continuous of my previous post.
There should not be any problem with 'yearmean' if we use the seasonal mean of same year (e.g. MJJAS), and not (NDJFM).

Thank you.

RE: Seasonal mean: which way is correct? - Added by Ralf Mueller over 4 years ago

S BR wrote:

...
However, if you use,
cdo -seasmean -select,season=NDJFM data1970-2019.nc tmp1.nc
it generates 151 season, which is not the result I want.

If you use,
cdo -yearmean -select,season=NDJFM data1970-2019.nc tmp2.nc
The first season averages JFMND months of 1970, 1971, and so on, which is again wrong.
I should be able to average ND of 1970 and JFM of 1971, to get the correct NDJFM average for 1970-1971 season.

This is exactly what a yearmean is supposed to do - taking into account timesteps from 1970 and 1971 would be wrong.

sorry, I think there is no easy solution for this

RE: Seasonal mean: which way is correct? - Added by S BR over 4 years ago

Oh..
I thought there is an easy solution to get the seasonal mean of non-standard seasons covering two years (e.g. NDJFM) using 'select,season=' operator.

RE: Seasonal mean: which way is correct? - Added by Esaadia Achkourach almost 4 years ago

Hello everyone,
I have precipitation Data (1950-2049) and I want to calculate the ONDJF seasonal mean.
I used the following commands: cdo -seasmean -select,season=ONDJF inputfile.nc outputfile.nc, but there is a warning message; the last season has only 1 input time steps and the other seasons had only 2 input time steps. So how could I solve this problem please?

RE: Seasonal mean: which way is correct? - Added by Ralf Mueller almost 4 years ago

hi Esaadia!

the two operators seasmean and select have nothing to do with each other. As shown above seasmean does not work beyond the end of the year. So you have to use a timeshift-trick (like here), possibly using -shifttime,2mo

hth
ralf

    (1-11/11)