[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 20050408:splitting netcdf file into multiple files by date
- Subject: Re: 20050408:splitting netcdf file into multiple files by date
- Date: Mon, 11 Apr 2005 12:36:02 -0600
Unidata Support <address@hidden> writes:
> ------- Forwarded Message
>
>>To: address@hidden
>>From: Selina Satterfield <address@hidden>
>>Subject: splitting netcdf file into multiple files by date
>>Organization: UCAR/Unidata
>>Keywords: 200504081920.j38JKnv2016454
>
> Being new to netCDf development I'm not sure if this
> is considered a simple question about use or not so I
> apologize if I am mailing the wrong group in advanced.
>
> Currently I will have a large number of netcdf files
> that contain multiple dimensions, variables , and data
> for a period of time. Here is a cdl that I generated
> with ncdump of one of the files
>
> netcdf test {
> dimensions:
> lat = 141 ;
> lon = 360 ;
> time = UNLIMITED ; // (31 currently)
> variables:
> float lat(lat) ;
> lat:long_name = "Latitude" ;
> lat:units = "degrees_north" ;
> float lon(lon) ;
> lon:long_name = "Longitude" ;
> lon:units = "degrees_east" ;
> float time(time) ;
> time:long_name = "Time" ;
> time:units = "hours since 1997-01-01" ;
> float age_rcnt_obs(time, lat, lon) ;
> age_rcnt_obs:_FillValue = 999.f ;
> age_rcnt_obs:long_name = "Age of Recent Observation"
> ;
> age_rcnt_obs:missing_value = 999.f ;
> age_rcnt_obs:units = "Hours" ;
> age_rcnt_obs:valid_max = 255.f ;
> age_rcnt_obs:valid_min = 0.f ;
> float anal_temp(time, lat, lon) ;
> anal_temp:_FillValue = 9999.f ;
> anal_temp:long_name = "Analysis Temperature" ;
> anal_temp:missing_value = 999.9f ;
> anal_temp:scale_factor = 0.1f ;
> anal_temp:units = "Deg. C" ;
> anal_temp:valid_max = 70.f ;
> anal_temp:valid_min = -10.f ;
> float avgrad(time, lat, lon) ;
> etc.....;
>
> // global attributes:
> :title = "SST 100 KM FIELD" ;
> data:
>
> lat = -70, -69, -68, -67, -66, -65, -64, -63, -62,
> -61, -60, -59, -58, -57,
> -56, -55, -54, -53, -52, -51, -50, -49, -48, -47,
> -46, -45, -44, -43,
> etc..............;
>
> lon = -180, -179, -178, -177, -176, -175, -174, -173,
> -172, -171, -170,
> -169, -168, -167, -166, -165, -164, -163, -162,
> -161, -160, -159, -158,
> -157, -156, -155, -154, -153, -152, -151, -150,
> -149, -148, -147, -146,
> -145, -144, -143, -142, -141, -140, -139, -138,
> -137, -136, -135, -134,
> etc..............;
>
> time = 60600, 60624, 60648, 60672, 60696, 60720,
> 60744, 60768, 60792, 60816,
> 60840, 60864, 60888, 60912, 60936, 60960, 60984,
> 61008, 61032, 61056,
> 61080, 61104, 61128, 61152, 61176, 61200, 61224,
> 61248, 61272, 61296,
> 61320 ;
>
> age_rcnt_obs =
> .........etc
>
> As you can see with the time there is data for 31
> days. What I would like to do is create 31 separate
> files using the NetCDF C++ Interface. Each file would
> include all dimensions variables attributes and only
> the data for that single day. I can't use a utility I
> need to create this myself since dates and other
> information needs to be obtained from a database. My
> question is can anyone send a code example of how I
> might do this? Thank you for your time and
> consideration.
>
> Selina
Sorry, I don't have any such example, but I suggest that you post this
question on the netcdf mailing list - send it to
address@hidden
The netcdf list has a wide readership, and you may be able to get an
answer there.
Good luck,
Ed
--
Ed Hartnett -- address@hidden