[ncl-talk] reading in netCDF4Classic data where time is UNLIMITED but not leading dimension

Mark.Collier at csiro.au Mark.Collier at csiro.au
Thu Jan 21 16:34:19 MST 2016


Hi Dave/Dennis,

yes like most people, slowly moving to netCDF4 to take advantage of new features.

When I tried Dennis’ suggestion, the f[:]-> operation only extracts the first year of data rather than the n years of data.

It must be a challenge updating a language’s I/O functionality to accept new features in a data standard…it could require a whole new way of thinking…and possibly a full time job!

At the moment I can easily loop through the files and use addfile, but addfiles did offer a lot of convenience for more simply defined netCDF files.

Regards,

> On 22 Jan 2016, at 4:58 AM, Dennis Shea <shea at ucar.edu> wrote:
> 
> Hi Mar,
> 
> To my knowledge (DaveB, pls correct me if I am wrong), NCL's addfiles
> does not care if a dimension is UNLIMITED or not.
> 
> Operators such as 'ncrcat' do require an UNLIMITED dimension. It
> facilitates efficient concatenation (appending the 'time' dimension).
> 
> FYI: HDF5 and the subset netCDF4 (which, under the hood, is HDF5)
> supports *multiple* unlimited dimensions.
> 
> ---
> A sketch ... I must run
> 
> 
> 
> dimensions:
>        time = UNLIMITED ; // (365 currently)
>        yt_ocean = 300 ;
>        xt_ocean = 360 ;
>        ensemble = 5 ;
>        nv = 2 ;
> variables:
>        float sst(ensemble, time, yt_ocean, xt_ocean) ;
> 
> ---
> 
>    NYRS   = ?
>    NTIM    = NYRS*366     ; max # days
>    nens     = 5
>    ny         = 300
>    nx         = 360
> 
>    SST = new( (/nens, NDAYS, ny, nx)
> 
>   f = addfiles(....)
> 
> 
>    do ne=0,nens-1
>         SST(ne,:,:,:) = f[:]->sst(ne,:,:,:)
> 
>    end do
> 
> 
> HTH
> D
> 
> On Thu, Jan 21, 2016 at 10:36 AM, David Brown <dbrown at ucar.edu> wrote:
>> Hi Mark,
>> It's true that NCL can only concatenate on the leftmost dimension
>> currently. It would definitely requirement some development work to
>> implement concatenation on an interior dimension. I can definitely see
>> the use case for it though.
>> -dave
>> 
>> 
>> On Wed, Jan 20, 2016 at 8:15 PM,  <Mark.Collier at csiro.au> wrote:
>>> Hi
>>> 
>>> I have a set of netCDF files that I would like to process using the addfiles function, however, when time is UNLIMITED but not the leading dimension NCL wants to create a data object with a concatenated leading dimension. I have tried various setfileoption approaches without success. Of course I could rewrite the data with time first, but I am sharing the data with someone who needs it written this way.
>>> 
>>> I’m using ncl/6.3.0 and
>>> uname -a
>>> Linux raijin4 2.6.32-573.12.1.el6.x86_64 #1 SMP Tue Dec 15 21:19:08 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
>>> 
>>> A ncdump on the first input file gives:
>>> 
>>> netcdf ocean_daily_sst_070101-070112_e1-5 {
>>> dimensions:
>>>        time = UNLIMITED ; // (365 currently)
>>>        yt_ocean = 300 ;
>>>        xt_ocean = 360 ;
>>>        ensemble = 5 ;
>>>        nv = 2 ;
>>> variables:
>>>        float sst(ensemble, time, yt_ocean, xt_ocean) ;
>>> 
>>> ...
>>> 
>>> Thanks for any advice/solutions,
>>> Mark.
>>> _______________________________________________
>>> ncl-talk mailing list
>>> ncl-talk at ucar.edu
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk



More information about the ncl-talk mailing list