[Thread Prev][Thread Next][Index]

Re: [ferret_users] Problem in preparing monthly climatology using multiple netcdf files



Hi,
For our users who are familiar with NCO, are there tools there that would let Sreejith add a time dimension to the files and to the grids of the variables in the files? If that's possible, then one could use a descriptor file and bypass the step of putting the data from all the files into one big monthly dataset and then forming the climatology from that.

If not, then the thing to do is described under the documentation under the topic "timestamp". You define the final time axis as a monthly axis with the range of dates for the set of monthly files. Then define a variable which adds the dataset variable to a variable which is zero at all timesteps of the long monthly axis. Write out just the timestep that corresponds to that file, appending to a monthly data file.

yes? define axis/t=1-jan-1871:31-dec-1881:1/units=months/edges monthtime
yes? let timestamp = 0* t[gt=monthtime]

(This makes an evenly-spaced axis - there are other ways to define monthly time axes. See entries under "axis" in the Ferret Users Guide index).

Then look at this,
http://ferret.pmel.noaa.gov/Ferret/documentation/users-guide/commands-reference/SAVE#timestamp

Where we'd open each file, define a variable that adds the file variable to "timestamp", and save/append/t= where t= specifies the appropriate month, to add them all to a file containing all of the months.

Finally, have a look at this FAQ on creating a climatology:
http://ferret.pmel.noaa.gov/Ferret/faq/how-do-i-calculate-climatologies-and-climatological-anomalies

Ansley

On 8/8/2012 12:24 PM, sreejith k.s wrote:
Dear all,
I am facing some problem in preparing monthly climatoloy using around
120 files covering 10 years.

1) Please see the files as shown below.
SODA_2.2.4_187101.cdf
SODA_2.2.4_187102.cdf
SODA_2.2.4_187103.cdf
..................................................
..................................................
..................................................
SODA_2.2.4_188012.cdf

2) For example, the "ncdump -h" command for one of these files will
give the following result.

netcdf SODA_2.2.4_187312 {
dimensions:
         lon = 720 ;
         lat = 330 ;
         depth = 40 ;
variables:
         float temp(depth, lat, lon) ;
                 temp:long_name = "TEMPERATURE" ;
                 temp:units = "deg. C" ;
                 temp:_FillValue = -9.99e+33f ;
         float salt(depth, lat, lon) ;
                 salt:long_name = "SALINITY" ;
                 salt:units = "g/kg" ;
                 salt:_FillValue = -9.99e+33f ;
         float u(depth, lat, lon) ;
                 u:long_name = "ZONAL VELOCITY" ;
                 u:units = "m/sec" ;
                 u:_FillValue = -9.99e+33f ;
         float v(depth, lat, lon) ;
                 v:long_name = "MERIDIONAL VELOCITY" ;
                 v:units = "m/sec" ;
                 v:_FillValue = -9.99e+33f ;
         float w(depth, lat, lon) ;
                 w:long_name = "VERTICAL VELOCITY" ;
                 w:units = "m/sec" ;
                 w:_FillValue = -9.99e+33f ;
         float taulat, lon) ;
                 taux:long_name = "TAUX" ;
                 taux:units = "N/m^2" ;
                 taux:_FillValue = -9.99e+33f ;
         float tauy(lat, lon) ;
                 tauy:long_name = "TAUY" ;
                 tauy:units = "N/m^2" ;
                 tauy:_FillValue = -9.99e+33f ;
         float ssh(lat, lon) ;
                 ssh:long_name = "SEA SURFACE HEIGHT" ;
                 ssh:units = "m" ;
                 ssh:_FillValue = -9.99e+33f ;
         double lon(lon) ;
                 lon:units = "degrees_east" ;
         double lat(lat) ;
                 lat:units = "degrees_north" ;
         double depth(depth) ;
                 depth:units = "meters" ;
                 depthositive = "down" ;

// global attributes:
                 :title = "SODA 2.2.4, 1871-2008 Assimilation Run" ;
                 :released = "July 20, 2010" ;
                 ata_timestamp = "12-1873" ;

The point to be noted here is that there is no time axis in these
files (as it shows only lat,lon and depth). Because of this, merging
these files using "cdo" command - "cdo -r
mergetime" is found to be not working.

Hence I am interested to know two things.
1) How to merge/append all these 120 files into a single file and that
should also give the time axis as time = 120
2) After getting the appended file how to prepare monthly climatology
using the appended file.
3) Is there any other way of preparing the monthly climatology of
above 120 monthly files without going to the step of "creating an
appended data file"?

If anybody know a work around, please help me.

Thanks in advance

Sreejith.




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

Privacy Policy | Disclaimer | Accessibility Statement