Richard,

Storing geometries inside netCDF is something I've also been thinking
about. I even went as far as to start writing some code to do this for
polygons (https://github.com/bekozi/ncvec) using ragged arrays. Not CF I
know... Note, the code never got past the brainstorming phase. The method
did work well for interoperability with libraries like Shapely.

I also have some Python code for converting polygons from a watersheds
shapefile into the UGRID format (
https://github.com/ugrid-conventions/ugrid-conventions/blob/v0.9.0/ugrid-conventions.md#2d-flexible-mesh-mixed-triangles-quadrilaterals-etc-topology).
The major limitation here is that UGRID expects no gaps between the "faces"
which limits its ability to store multi-geometries (i.e. Hawaii). The code
for the conversion is not posted anywhere, but I can share it with you if
you are interested.

Anyway, I would be interested in staying in the loop on anything you do!

Thanks,
Ben

On Fri, Sep 19, 2014 at 3:43 PM, Signell, Richard <[email protected]> wrote:

> Jim,
>
> Awesome.  And I guess if we save it as netcdf4 with deflation, it doesn't
> really matter how large we make the maximum number of vertices because all
> those fillValues at the end will compress very well.
>
> I'm still interested in why we switched from "cell_bounds" to "bounds", if
> indeed we did.
>
> Thanks,
> Rich
>
> On Fri, Sep 19, 2014 at 4:53 PM, Jim Biard <[email protected]> wrote:
>
>>  Richard,
>>
>> You can do this. Assuming you are storing the time series for more than
>> one watershed, you would have something like this (I lifted this largely
>> from Sections 7.1 and 7.2 in the CF Conventions document):
>>
>> dimensions:
>>     time = -1;
>>     sheds = 20;
>>     npoly_verts = 2000; // This would be set to the maximum number of
>> vertices for any watershed.
>> variable:
>>     float precip(time, sheds);
>>         precip.cell_measures = "area: watershed_areas";
>>         precip.cell_methods = "time area: sum"
>>         precip.coordinates = "lat lon";
>>
>>     time(time);
>>         time.axis = "T";
>>         time.standard_name = "time";
>>         time.units = "days since ?????";
>>         time.bounds = "time_bnds";
>>
>>     float lon(cell); // This variable will contain a longitude to
>> associate with each watershed. Perhaps the center.
>>         lon.standard_name = "longitude";
>>         lon.units = "degrees_east";
>>         lon.bounds = "watershed_lons";
>>
>>     float lat(cell); // This variable will contain a latitude to
>> associate with each watershed. Perhaps the center.
>>         lat.standard_name = "latitude";
>>         lat.units = "degrees_north";
>>         lat.bounds = "watershed_lats";
>>
>>     float watershed_lons(cell, npoly_verts); // This variable will have
>> the bounding longitudes for each watershed.
>>         watershed_lons._FillValue = -999.0; // Use this value for unused
>> elements.
>>
>>     float watershed_lats(cell, npoly_verts); // This variable will have
>> the bounding latitudes for each watershed.
>>         watershed_lats._FillValue = -999.0; // Use this value for unused
>> elements.
>>
>>     float watershed_areas(cell); // This variable will have the area for
>> each watershed.
>>         watershed_areas.standard_name = "area";
>>         watershed_areas.units = "km2";
>>
>> I have left lots of attributes out. I hope this helps.
>>
>> Grace and peace,
>>
>> Jim
>> On 9/19/14, 4:09 PM, Signell, Richard wrote:
>>
>> Folks,
>> A colleague asked me if a time series of data associated with a
>> polygonal region (e.g. rainfall in a watershed)  could be represented
>> in CF.
>>
>> So two questions:
>>
>> 1. Any reason this could be represented as a simple time series with a
>> cell_bounds = lon_verts, lat_verts
>> lon_verts(npoly_verts), lat_verts(npoly_verts)
>>
>> 2. I see an approved ticket from 4 years 
>> agohttps://cf-pcmdi.llnl.gov/trac/ticket/64
>> with "editorial correction" changing cell_bounds to bounds.
>> Does that mean that CF1.6 we use "cell_bounds" but in CF1.7 we will
>> use "bounds"?
>>
>>
>> --
>>       [image: CICS-NC] <http://www.cicsnc.org/> Visit us on
>>  Facebook <http://www.facebook.com/cicsnc>   *Jim Biard*
>> *Research Scholar*
>>  Cooperative Institute for Climate and Satellites NC <http://cicsnc.org/>
>>  North Carolina State University <http://ncsu.edu/>
>>  NOAA's National Climatic Data Center <http://ncdc.noaa.gov/>
>> 151 Patton Ave, Asheville, NC 28801
>> e: [email protected]
>> o: +1 828 271 4900
>>
>>
>>
>>
>
>
> --
> Dr. Richard P. Signell   (508) 457-2229
> USGS, 384 Woods Hole Rd.
> Woods Hole, MA 02543-1598
>
> _______________________________________________
> CF-metadata mailing list
> [email protected]
> http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
>
>


-- 
Ben Koziol
NESII/CIRES/NOAA Earth System Research Laboratory
[email protected]
<https://mail.google.com/mail/u/0/?view=cm&fs=1&tf=1&[email protected]>
802.392.4522
Skype: bwkoziol
http://www.esrl.noaa.gov/nesii/
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata

Reply via email to