gauteh / sfy

🌊 A lightweight wave buoy for near-shore deployments.
MIT License
39 stars 6 forks source link

collection: wip #99

Closed knutfrode closed 1 year ago

gauteh commented 1 year ago

@jerabaul29 : of interest to you as well maybe!

knutfrode commented 1 year ago

After last commit, a CF-compatible trajectory file can be created in three steps:

1) $ sfydata collection template cirfa2022.yml -f cirfa # to make a template yml file with only drifters with "cirfa" in the name 2) the yml file can be edited if desired, e.g. drifters may be removed, and global attribute values added 3) $ sfydata collection archive cirfa2022.yml # to create the netCDF file from given (possibly edited) yml file

ncdump (not fully complete yet):

netcdf cirfa2022 {
dimensions:
    trajectory = 15 ;
    obs = 9029 ;
variables:
    double lon(trajectory, obs) ;
        lon:_FillValue = NaN ;
        lon:standard_name = "longitude" ;
        lon:unit = "degree_east" ;
    double lat(trajectory, obs) ;
        lat:_FillValue = NaN ;
        lat:standard_name = "latitude" ;
        lat:unit = "degree_north" ;
    double time(trajectory, obs) ;
        time:_FillValue = NaN ;
        time:standard_name = "time" ;
        time:units = "seconds since 2022-02-21 11:24:38" ;
        time:calendar = "proleptic_gregorian" ;
    string drifter_names(trajectory) ;
        drifter_names:cf_role = "trajectory_id" ;
        drifter_names:standard_name = "platform_id" ;

// global attributes:
        :Conventions = "CF-1.10" ;
        :featureType = "trajectory" ;
        :geospatial_lat_min = 58.931761 ;
        :geospatial_lat_max = 80.9793706 ;
        :geospatial_lon_min = -46.0011836 ;
        :geospatial_lon_max = 15.601794 ;
        :time_coverage_start = "2022-02-21T11:24:38" ;
        :time_coverage_end = "2022-11-09T14:30:39" ;
gauteh commented 1 year ago

Great, you can add this example to the docstring of the archive command and it will be visible when you use --help.