Every release
 - Update NEWS, README, vignettes, articles, package description
 - Update links
 - Any changes to CFtime? If so, release CFtime first
 - Update answers provided on SO

Every push to GitHub
 - Check the FIXMEs
 - Run document()
 - Run check()!
 - Run test-all.R

0.9
 - What makes a CFVariable dirty? name, but that goes for any CF object. So only the data???
 - CFCoordSys: coordinate system has the orientation of the axes. Each CFVariable has its own, totally independent copy

Priority
 - Dimensions (axes for CFVariable) can be added, deleted and permuted in CFData. Permutation detaches .NCobj
 - Don't read auxiliary coordinates when opening a resource
 - When subsetting on regular axes and a llgrid is present, attach the llgrid to the result, possibly subsetted itself.
 - CFAxisVertical tests: V not subset, V subset, V subset parametric, V subset parametric auxiliary
 - CFAV$copy_terms
 - CFAV$attach_to_group must attch parametric terms
 - CFVariable$profile with aux grid and parametric Z needs fixing
 - Subset an already subsetted parametric vertical axis
 - Move most things to private, leave only user-facing methods and fields public
 - Aggregation
 - CFLabel attributes?
 - Testing with ERA5 data

 - detach(): what about shared objects like axes, crs, llgrid?
 - CFVariable$append with aux coordinates in the axes
 - Do something with CFObject$.data_oversized
 - Merge CFLabel into CFAxisCharacter??
 - Change reading of files: make an axis for every dimid that is referenced by NCvars
 - Add data to an unlimited dimension, write to file
 - crossing the dateline: subset() and AOI. CFVariableBase has a central_meridian private field and a cm active field - when set the longitude axis is set to -180 - 180 centered on the cm. Unsetting takes it back to the file setting. If data is loaded it is reordered as necessary, otherwise the data is extracted according to the cm setting.

 - Selecting with logical expressions: CFVariable$subset(time >= "2001-01-01", lon > 40 && lon < 60)
 - Do something intelligent with AOI
 - ACDD
 - Drop bounds, vertical parametrics, standard_names and auxgrid values and reload when needed, only when access to netCDF resource is present
 - Make a helper class to deal with axis coordinates. Compress when regular.
 - Labels are not necessarily associated with an axis. E.g. labels used in `cell_methods` where clause. Where to store these?
 - CFCellMethods: parse the attribute, check the values

Future
 - CFData$plot(), using ncdfCF vignette (first attempt in R projects folder)
 - subset() with multiple discontinuous labels
 - Fix auxll caching when same aoi is set
 - Support more manipulation on attributes: merge
 - GridMapping with methods to query CRS elements, check identical CRSes
 - CFVariable$subset(subset, resample, method, closed): subset geeft bounds along each axis, resample is resolution in every axis direction, method in (nn, linear), closed also per axis. See SciPy::interpn
 - THREDDS catalog
 - DSG

CF VARIABLE OWNERSHIP HIERARCHY
* CFVariable
  * CFAxis
    * CFBounds
    * CFVerticalParametricTerm
    * CFLabel
  * CFGridMapping
  * CFAuxLongLat
  * CFCellMeasure
  * Ancillary variables

CF OBJECT INHERITANCE
* CFObject
  * CFGroup
  * CFData
    * CFAxis
      * CFAxisCharacter
      * CFAxisDiscrete
      * CFAxisNumeric
        * CFAxisLongitude
        * CFAxisLatitude
        * CFAxisVeritcal
      * CFAxisTime
    * CFBounds
    * CFLabel
    * CFVariable
      * CFVariableL3b
      * CFVerticalParametricTerm
  * CFGridMapping
* CFAuxiliaryLongLat
* CFCellMeasure
* CFStandardNames
* CFDataset

INTERESTING DATA
Sentinel5p: "/Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/library/starsdata/sentinel5p/S5P_NRTI_L2__NO2____20180717T120113_20180717T120613_03932_01_010002_20180717T125231.nc"
THREDDS
https://thredds.aoos.org/thredds/dodsC/AOOS_GAK_ROMS_BGC_V2_MONTHLY_DIAG.nc
https://opendap1.nodc.no/opendap/physics/point/cruise/nansen_legacy-single_profile/NMDC_Nansen-Legacy_PR_CT_58US_2021708/CTD_station_P1_NLEG01-1_-_Nansen_Legacy_Cruise_-_2021_Joint_Cruise_2-1.nc
Ocean data ROMS: http://dap.saeon.ac.za/thredds/dodsC/SAEON.EGAGASINI/2019.Penven/DAILY_MEANS/1_12_degree/roms_avg_Y2014M11.nc.1
https://tds.hycom.org/thredds/dodsC/GLBy0.08/expt_93.0/uv3z  #?depth[0:1:39],lat[0:1:4250],lon[0:1:4499],time[0:1:16568],tau[0:1:16568],water_u[0:1:0][0:1:0][0:1:0][0:1:0],water_v[0:1:0][0:1:0][0:1:0][0:1:0]
"https://thredds.met.no/thredds/dodsC/metpparchivev3/2020/01/01/met_analysis_1_0km_nordic_20200101T00Z.nc"
(http://thredds.northwestknowledge.net:8080/thredds/catalog/MET/climatologies/monthlyClimatologies/catalog.html)
Multiple time axes, flags: https://www.ncei.noaa.gov/thredds/dodsC/ncFC/cdr/ndvi-fc/AVHRR_and_VIIRS_NDVI:_aggregation_best.ncd
https://thredds.nci.org.au

INTERESTING PACKAGES
metR
pastclim

PAT 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
