Updates to improve compliance with the IOOS Compliance Checker (glide…#163
Updates to improve compliance with the IOOS Compliance Checker (glide…#163jcermauwedu wants to merge 104 commits intoc-proof:mainfrom
Conversation
…rdac:3.0)
* Still need to ignore `ancillary_variable` recommendations
* ncprocess.py
* profile_id: Max int32 type; attributes valid max and min also need to be same type; _FillValue = -999
* platform: Max int32 type; _FillValue = -999
* set time encoding to float to avoid UserWarnings about time conversion
* slocum.py
* If import test fails for dbdreader, the flag should be False for have_dbdreader?
* Need pandas to help avoid UserWarnings about time conversion; set encoding to float for time encoding
* depth: valid min/max and _FillValue updates to match gliderdac:3.0
* Other updates from char to float to match gliderdac:3.0
* Obtain direct version of libnetcdf (borrow code from xarray)
* tests
* Add README to discover location of example data
Other things that should be added/updated to respective deployment.yml files to improve
compliance. Once that is done, things are squeaky clean.
```
$ compliance-checker -t gliderdac:3.0 -s check_ancillary_variables pyglider/L0-profiles/unit507-20240325T1507.nc
Running Compliance Checker on the datasets from: ['pyglider/L0-profiles/unit507-20240325T1507.nc']
--------------------------------------------------------------------------------
IOOS Compliance Checker Report
Version unknown
Report generated 2024-03-26T00:50:22Z
gliderdac:3.0
https://ioos.github.io/glider-dac/ngdac-netcdf-file-format-version-2
--------------------------------------------------------------------------------
All tests passed!
```
fc6deb2 to
9cec8bf
Compare
FIX: bad maxgap default
MNT: version change 0.0.7
MNT: version change
DOC: fix data link in slocum desc
DOC: small changes to slocum
DOC: small changes to slocum
DOC: small changes to slocum
* Add gitignore files and directories created by running pytest * Allow setting time and calendar units from yml configuration file * Fix to allow profile_time_start and profile_time_end to get time information by moving time_1970 to last variable processed in for loop * Emit warning for variables lacking data for gridding * Add resync_metadata_and_encoding to allow overriding of metadata from yml configuration file * Fix log message for raw_to_timeseries * Allow conversion of slocum latitude and longitude from NMEA to degrees * Emit log message when metadata is overridden from yml configuration file * Add utils function to determine pyglider version * Add utils function to determine netcdf C and python versions * Set units for profile_time in example-slocum/deploymentRealtime.yml to get proper units for profile_time * Remove history and netcdf attributes as they can now vary widely from static examples
|
6651931 (via #210) introduced a bunch of formatting changes that will likely cause merge conflicts. Here are merge and rebase workflows to avoid these conflicts (it depends on having I recommend first creating a # merge all the way up to the commit that introduced the formatting changes
git merge 66519318^1
# merge the commit that introduced the formatting changes, prioritising the working branch during conflicts
git merge -s ours 66519318 --no-commit
pre-commit run --all-files
git commit --no-edit
# merge the rest of the way
git merge mainor by doing a rebase (if you want a clean history) # Rebase up to the commit introducing formatting changes
git rebase 66519318^1
# Rebase onto the commit introducing formatting changes.
# Accept working branch changes (i.e., "theirs" during rebase
# - different to merge. See git rebase docs) during conflicts.
# During the rebase we will run the formatter after applying
# changes from commits, before committing so that everything is compliant.
git rebase -X theirs -i 66519318
# Replace all "pick" with "edit" or "e". Start the rebase...
# Repeatedly run
git add -u && pre-commit run --all-files && git rebase --continue
# to run pre-commit tooling, stage modified files, and continue
# until rebase is complete. Sometimes pre-commit can't autofix
# issues, then you need to fix them manually.
# If you make a mistake you can always do `git rebase --abort`
# Finally, rebase onto main
git rebase main |
|
I'm going to close this as outdated. I'm pretty sure the current pyglider is compatible with ioos gdac. If there are remaining incompatibilities, let's address with a new PR. |
@VeckoTheGecko Thank you for looking at this. As mentioned in the OceanGlider DMTT, this PR will be rebuilt starting from the current |
…rdac:3.0)
ancillary_variablerecommendations or skip specific testOther things that should be added/updated to respective deployment.yml files to improve compliance. Once that is done, things are squeaky clean.