From ce293a0a903df962512a835e48dd988f7431a98c Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 16 Jan 2024 09:35:37 +0100 Subject: [PATCH 01/33] add paper --- paper/paper.bib | 136 ++++++++++++++++++++++++++++++++++++++++++++++++ paper/paper.md | 79 ++++++++++++++++++++++++++++ paper/paper.pdf | Bin 0 -> 218584 bytes 3 files changed, 215 insertions(+) create mode 100644 paper/paper.bib create mode 100644 paper/paper.md create mode 100644 paper/paper.pdf diff --git a/paper/paper.bib b/paper/paper.bib new file mode 100644 index 00000000..530b6929 --- /dev/null +++ b/paper/paper.bib @@ -0,0 +1,136 @@ +@manual{OGC_netCDF, + organization = "Open Geospatial Consortium", + title = "NetCDF Binary Encoding Extension Standard: NetCDF Classic and 64-bit Offset Format", + year = 2011, + month = 4, + number = "OGC 10-092r3", + url = "http://www.opengis.net/doc/IS/netcdf-binary/1.0", +} + +@inproceedings{Rew2006, + author = {Russell, Rew and Hartnett, Edward and Caron, John}, + year = {2006}, + month = {01}, + organization = {Conference: 22nd International Conference on Interactive Information Processing Systems for Meteorology, Oceanography, and Hydrology}, + title = {NetCDF-4: Software Implementing an Enhanced Data Model for the Geosciences} +} + +@article{Rew90, + author={Rew, R. and Davis, G.}, + journal={IEEE Computer Graphics and Applications}, + title={NetCDF: an interface for scientific data access}, + year={1990}, + volume={10}, + number={4}, + pages={76-82}, + doi={10.1109/38.56302} +} + +@manual{OGC_Zarr, + organization = "Open Geospatial Consortium", + title = "Zarr Storage Specification 2.0 Community Standard", + year = 2022, + month = 6, + number = "21-050r1", + url = "http://www.opengis.net/doc/CS/zarr/2.0" +} + + +@article{Barth2022, + author = {A. Barth and A. Alvera-Azc{\'{a}}rate and C. Troupin and J.-M. Beckers}, + title = {{DINCAE} 2.0: multivariate convolutional neural network with error estimates to reconstruct sea surface temperature satellite and altimetry observations}, + year = 2022, + publisher = {Copernicus {GmbH}}, + journal = {Geoscientific Model Development}, + doi = {10.5194/gmd-2021-353}, +} + +@article{Doglioni2023, + AUTHOR = {Doglioni, F. and Ricker, R. and Rabe, B. and Barth, A. and Troupin, C. and Kanzow, T.}, + TITLE = {Sea surface height anomaly and geostrophic current velocity from altimetry measurements over the Arctic Ocean (2011--2020)}, + JOURNAL = {Earth System Science Data}, + VOLUME = {15}, + YEAR = {2023}, + NUMBER = {1}, + PAGES = {225--263}, + DOI = {10.5194/essd-15-225-2023} +} + +@article{Belgacem21, + AUTHOR = {Belgacem, M. and Schroeder, K. and Barth, A. and Troupin, C. and Pavoni, B. and Raimbault, P. and Garcia, N. and Borghini, M. and Chiggiato, J.}, + TITLE = {Climatological distribution of dissolved inorganic nutrients in the western Mediterranean Sea (1981--2017)}, + JOURNAL = {Earth System Science Data}, + VOLUME = {13}, + YEAR = {2021}, + NUMBER = {12}, + PAGES = {5915--5949}, + URL = {https://essd.copernicus.org/articles/13/5915/2021/}, + DOI = {10.5194/essd-13-5915-2021} +} + +@article{OceananigansJOSS, + author = {Ali Ramadhan and Gregory LeClaire Wagner and Chris Hill and Jean-Michel Campin and Valentin Churavy and Tim Besard and Andre Souza and Alan Edelman and Raffaele Ferrari and John Marshall}, + title = {{Oceananigans.jl: Fast and friendly geophysical fluid dynamics on GPUs}}, + year = {2020}, + publisher = {The Open Journal}, + volume = {5}, + number = {53}, + pages = {2018}, + journal = {Journal of Open Source Software}, + doi = {10.21105/joss.02018}, + url = {https://doi.org/10.21105/joss.02018} +} + +@ARTICLE{Shahzadi21, + AUTHOR={Shahzadi, K. and Pinardi, N. and Barth, A. and Troupin, C. and Lyubartsev, V. and Simoncelli, S.}, + TITLE={A New Global Ocean Climatology}, + JOURNAL={Frontiers in Environmental Science}, + VOLUME={9}, + YEAR={2021}, + URL={https://www.frontiersin.org/articles/10.3389/fenvs.2021.711363}, + DOI={10.3389/fenvs.2021.711363}, + ISSN={2296-665X} +} + + +@misc{NCDatasets, + author = {Alexander Barth}, + title = {NCDatasets: A julia package for manipulating netCDF data sets}, + year = {2023}, + publisher = {GitHub}, + journal = {GitHub repository}, + howpublished = {\url{https://github.com/Alexander-Barth/NCDatasets.jl}}, + commit = {90ed5641684604096558a77020038583e1f2459f} +} + + +@unpublished{SpeedyWeather, + author = {Milan Klöwer and Maximilian Gelbrecht and Daisuke Hotta and Justin Willmert and Simone Silvestri and Gregory L Wagner and Alistair White and Sam Hatfield and Tom Kimpson and Navid C Constantinou and Chris Hill}, + title = {SpeedyWeather.jl: Reinventing atmospheric general circulation models towards interactivity and extensibility}, + year = {2023}, + publisher = {The Open Journal}, + journal = {Journal of Open Source Software (submitted)}, +} + + +@misc{Eaton2023, + author = {Brian Eaton and Jonathan Gregory and Bob Drach and Karl Taylor and Steve Hankin and Jon Blower and John Caron and Rich Signell and Phil Bentley and Greg Rappa and Heinke Höck and Alison Pamment and Martin Juckes and Martin Raspaud and Randy Horne and Timothy Whiteaker and David Blodgett and Charlie Zender and Daniel Lee and David Hassell and Alan D. Snow and Tobias Kölling and Dave Allured and Aleksandar Jelenak and Anders Meier Soerensen and Lucile Gaultier and Sylvain Herlédan and Fernando Manzano and Lars Bärring and Christopher Barker and Sadie Bartholomew}, + title = {{NetCDF Climate and Forecast (CF) Metadata Conventions v1.11}}, + publisher = {CF Conventions Committee}, + year = 2023, + urldate = {2023-12-05}, + url = {http://cfconventions.org/Data/cf-conventions/cf-conventions-1.11/cf-conventions.html}, +} + + +@article{Hassell2017, + AUTHOR = {Hassell, D. and Gregory, J. and Blower, J. and Lawrence, B. N. and Taylor, K. E.}, + TITLE = {A data model of the Climate and Forecast metadata conventions (CF-1.6) with a software implementation (cf-python v2.1)}, + JOURNAL = {Geoscientific Model Development}, + VOLUME = {10}, + YEAR = {2017}, + NUMBER = {12}, + PAGES = {4619--4646}, + URL = {https://gmd.copernicus.org/articles/10/4619/2017/}, + DOI = {10.5194/gmd-10-4619-2017} +} diff --git a/paper/paper.md b/paper/paper.md new file mode 100644 index 00000000..fe30b9c6 --- /dev/null +++ b/paper/paper.md @@ -0,0 +1,79 @@ +--- +title: 'NCDatasets.jl: a Julia package for manipulating netCDF data sets' +tags: + - julia + - netcdf + - oceanography + - meteorology + - earth-observation + - climatology + - opendap + - climate-and-forecast-conventions +authors: + - name: Alexander Barth + orcid: 0000-0003-2952-5997 + affiliation: 1 +affiliations: + - name: GHER, University of Liège, Liège, Belgium + index: 1 +date: 13 January 2024 +bibliography: paper.bib +--- + +# Summary + +NCDatasets is a Julia package that allows users to read, create and modify netCDF files (Network Common Data Format). It is based on the Unidata netCDF library [@Rew90; Rew2006; @OGC_netCDF] which also supports reading data from remote servers using OPeNDAP (Open-source Project for a Network Data Access Protocol, https://www.opendap.org) and the Zarr file format [@OGC_Zarr]. These additional formats are also accessible to users of NCDatasets. + +The aim of NCDatasets is to expose the data and metadata stored in the NetCDF file as lazy data-structures (in particular arrays and dictionaries) used in Julia. +Lazy in this context means that only the requested subset of data is loaded into RAM or written to the disk. One of the design goals of NCDatasets and the netCDF library in general is being able to work with datasets which are potentially larger than the total amount of RAM in a system and to process that data per subset. + +NetCDF allows users to add metadata to datasets and individual variables in form of a list of key value-pairs called attributes. The meaning of these attributes is +standardized in the CF conventions [@Eaton2023]. While originally proposed for NetCDF files, the CF conventions are now also applied in the context of other formats like GRIB (e.g. the Julia package [GRIBDatasets](https://github.com/JuliaGeo/GRIBDatasets.jl) or the python package [cfgrib](https://github.com/ecmwf/cfgrib)). + + +# Statement of need + +NetCDF is a commonly used data format in Earth sciences (in particular oceanography, atmospheric sciences and climatology) to store model data, satellite observations and in situ observations. It is particularly well established as a format for distributing and archiving data. The Julia programming language with its native array types, just-in-time compilation and automatic function specialization based on data types are well suited for processing and analyzing large amounts of data often found in Earth sciences. +Therefore, a convenient API mapping the concepts for the NetCDF format and CF convention to the corresponding equivalents of the Julia programming language is desirable. +There are currently 64 registered Julia packages (as for 15 January 2024) that have NCDatasets as direct or indirect dependency (not counting for optional dependencies). +For example, NCDatasets is used with satellite data [@Barth2022; @Doglioni2023], in situ observations [@Belgacem21; @Shahzadi21] as well as numerical ocean models [@OceananigansJOSS] and atmospheric models [@SpeedyWeather]. + + +# Installation + +NCDatasets supports Julia 1.6 and later and can be installed with the Julia package manager using the following Julia commands: + +```julia +using Pkg +Pkg.add("NCDatasets") +``` + +This will automatically install all dependencies and in particular the Unidata netCDF C library for which compiled binaries are currently available for Linux, FreeBSD, Mac OS and Windows thanks to the efforts of the [Yggdrasil.jl](https://github.com/JuliaPackaging/Yggdrasil/) project. + +# Features + +The main objects in the netCDF data model are the dataset (typically representing a whole file), variables (named n-dimensional arrays with named dimensions), dimensions (mapping the dimension names to the corresponding length), attributes and groups (a dataset contained within a dataset). Groups can be recursively nested. Variable names must be unique within a given group, but two different groups can re-use the same name. Current features of NCDatasets include: + +* Attributes, dimensions and groups are exposed to users as dictionary-like objects. Modifying them will directly modify the underlying NetCDF file as long as the file is open in write mode. +* Variables are exposed as array-like objects. Indexing these arrays with the usual Julia syntax will result in loading the corresponding subset into memory. Likewise, assigning a value to a subset will write the data to the disk. +* The netCDF C API provides several functions to query information about the various objects of the netCDF data model. It is possible to query the data and metadata of a NetCDF file in the same way that one would query an array or dictionary. +* Every time a netCDF variable is loaded the required memory is automatically allocated. Once this memory is no longer used it will be deallocated by Julia's garbage collector. For high-performance applications, the repeated allocation and deallocation can cause a significant performance overhead. For this use-case, NCDatasets provides in-place variants for loading data. +* Data stored in a contiguous ragged array representation [@Hassell2017; @Eaton2023] are loaded as a vector of vectors. It is typically used to load a list of in situ profiles or time series, each of different length. +* Storage parameters like compression and data chunks can be queried and defined. +* Data transformations defined via the CF conventions are applied per default (including scaling, adding an offset, conversion to the `DateTime` structure). Several calendars are standardized in the CF conventions (standard, Gregorian, proleptic Gregorian, Julian, all leap, no leap, 360 day). Where possible, dates are automatically converted to Julia's native date time type, which uses the proleptic Gregorian calendar conforming to the ISO 8601 standard. Date types are handled using the package [CFTimes](https://github.com/JuliaGeo/CFTimes.jl) (originally part of NCDatasets) +* Additional functionality includes multi-file support (virtually concatenating variables of multiple NetCDF variable spanning over multiple files), a view of the variable and datasets (virtual subset without loading the whole data in memory), subset variables and dataset using coordinate values instead of indices using the package [CommonDataModel](https://github.com/JuliaGeo/CommonDataModel.jl) (also originally part of NCDatasets). + + +# Similar software + +The Julia package [NetCDF.jl](https://github.com/JuliaGeo/NetCDF.jl) from Fabian Gans and contributors is an alternative to this package which supports a more Matlab/Octave-like interface for reading and writing netCDF files while this package, NCDatasets, is more influenced by the python [netCDF4](https://github.com/Unidata/netcdf4-python) package. In the R community, the packages [RNetCDF](https://github.com/mjwoods/RNetCDF) and [ncdf4](https://cirrus.ucsd.edu/~pierce/ncdf/) fulfill a similar role. + +# Acknowledgements + +I thank [all contributors](https://github.com/Alexander-Barth/NCDatasets.jl/graphs/contributors) to this package, among others, George Datseris, Tristan Carion, Martijn Visser and Charles Troupin as well as Unidata for the [netCDF C library](https://github.com/Unidata/netcdf-c) and their time and efforts responding to my questions and issues. All contributors to the [Yggdrasil.jl](https://github.com/JuliaPackaging/Yggdrasil/) project for their effort in building the netCDF library and the required dependencies are also acknowledged. + +# Funding + +Acknowledgment is given to the F.R.S.-FNRS (Fonds de la Recherche Scientifique de Belgique) for funding the position of Alexander Barth. This work was partly performed with funding from the Blue-Cloud 2026 project under the Horizon Europe programme, Grant Agreement No. 101094227. + +# References diff --git a/paper/paper.pdf b/paper/paper.pdf new file mode 100644 index 0000000000000000000000000000000000000000..43a74dc514219ec6e86d382ea3ecc9c40e7aab3e GIT binary patch literal 218584 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 Qm5q)8{>2L+8DaSU2f)j Date: Sat, 20 Jan 2024 21:15:22 +0100 Subject: [PATCH 02/33] replace tabs by spaces --- paper/paper.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index fe30b9c6..f9cb8557 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -11,8 +11,8 @@ tags: - climate-and-forecast-conventions authors: - name: Alexander Barth - orcid: 0000-0003-2952-5997 - affiliation: 1 + orcid: 0000-0003-2952-5997 + affiliation: 1 affiliations: - name: GHER, University of Liège, Liège, Belgium index: 1 From ce245f0564f22ccaaffde4ed48150d0682fb47f4 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Fri, 1 Mar 2024 09:43:39 +0100 Subject: [PATCH 03/33] correct example --- src/dimensions.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/dimensions.jl b/src/dimensions.jl index b54244c8..3626946e 100644 --- a/src/dimensions.jl +++ b/src/dimensions.jl @@ -51,7 +51,7 @@ defDim(ds,"time",Inf) defVar(ds,"unlimited_variable",Float64,("lon","lat","time")) @show ds.dim["time"] # returns 0 as no data is added -ds["unlimited_variable"][:,:,:] = randn(10,10,4) +ds["unlimited_variable"][:,:,1:4] = randn(10,10,4) @show ds.dim["time"] # returns now 4 as 4 time slice have been added close(ds) From 02843931543a6afa340419f8d1ccfcd12b22a43b Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Mon, 4 Mar 2024 11:27:26 +0100 Subject: [PATCH 04/33] allow CartesianIndex and CartesianIndices with load! (issue #250) Co-authored-by: Haakon Ludvig Langeland Ervik <45243236+haakon-e@users.noreply.github.com> --- src/variable.jl | 7 +++---- test/test_variable.jl | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 4 deletions(-) diff --git a/src/variable.jl b/src/variable.jl index 171a6c02..7419d2f4 100644 --- a/src/variable.jl +++ b/src/variable.jl @@ -92,10 +92,9 @@ function checkbuffer(len,data) end end -@inline function unsafe_load!(ncvar::Variable, data, indices::Union{Integer, UnitRange, StepRange, Colon}...) +@inline function unsafe_load!(ncvar::Variable, data, indices::Union{Integer, UnitRange, StepRange, CartesianIndex, CartesianIndices, Colon}...) sizes = size(ncvar) - normalizedindices = normalizeindexes(sizes, indices) - ind = to_indices(ncvar,normalizedindices) + ind = to_indices(ncvar,indices) start,count,stride,jlshape = ncsub(ncvar,ind) @@ -137,7 +136,7 @@ load!(ds["temp"].var,data,:,1) # loads the 1st column array must be `UInt8` and cannot be the julia `Char` type, because the julia `Char` type uses 4 bytes and the NetCDF `NC_CHAR` only 1 byte. """ -@inline function load!(ncvar::Variable{T,N}, data::AbstractArray{T}, indices::Union{Integer, UnitRange, StepRange, Colon}...) where {T,N} +@inline function load!(ncvar::Variable{T,N}, data::AbstractArray{T}, indices::Union{Integer, UnitRange, StepRange, CartesianIndex, CartesianIndices, Colon}...) where {T,N} unsafe_load!(ncvar, data, indices...) end diff --git a/test/test_variable.jl b/test/test_variable.jl index 0393444f..9e3523be 100644 --- a/test/test_variable.jl +++ b/test/test_variable.jl @@ -288,3 +288,31 @@ data2 = zeros(Int,10) # asking too many elements @test_throws BoundsError NCDatasets.load!(ds["data"].var,data2,1:10) close(ds) + +# issue 250 + +fname = tempname() +ds = NCDataset(fname,"c") +defDim(ds,"lon",100) +defDim(ds,"lat",110) +v = defVar(ds,"temperature",Float32,("lon","lat")) +data = [Float32(i+j) for i = 1:100, j = 1:110]; +v[:,:] = data; +close(ds) + +# reading +ds = NCDataset(fname) + +# works: +ds["temperature"][CartesianIndices((1:10,10:30))] +ds["temperature"][CartesianIndex(1,1)] + +# read in-place +v = zeros(Float32, 10, 21); +NCDatasets.load!(variable(ds, "temperature"), v, CartesianIndices((1:10,10:30))) +@test v[:,:] == data[CartesianIndices((1:10,10:30))] + + +vv = [1.0f0] +NCDatasets.load!(variable(ds, "temperature"), vv, CartesianIndex(5,5)) +@test vv[1] == data[CartesianIndex(5,5)] From 0335d266a854ab861e2fb7c6cb371170a397b463 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Mon, 4 Mar 2024 11:54:55 +0100 Subject: [PATCH 05/33] use to_indices rather than own normalizeindexes for index normalization (#250) Co-authored-by: Haakon Ludvig Langeland Ervik <45243236+haakon-e@users.noreply.github.com> --- src/variable.jl | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/src/variable.jl b/src/variable.jl index 7419d2f4..370372d3 100644 --- a/src/variable.jl +++ b/src/variable.jl @@ -426,14 +426,11 @@ end _write_data_to_nc(v::Variable, data) = _write_data_to_nc(v, data, 1) -function _write_data_to_nc(v::Variable{T, N}, data, indexes::StepRange{<:Integer,<:Integer}...) where {T, N} - start,count,stride,jlshape = ncsub(v,indexes) - nc_put_vars(v.ds.ncid,v.varid,start,count,stride,T.(data)) -end +function _write_data_to_nc(v::Variable{T}, data, indexes::AbstractRange{<:Integer}...) where T + ind = prod(length.(indexes)) == 1 ? first.(indexes) : to_indices(v,indexes) -function _write_data_to_nc(v::Variable, data, indexes::Union{AbstractRange{<:Integer}}...) - ind = prod(length.(indexes)) == 1 ? first.(indexes) : normalizeindexes(size(v),indexes) - return _write_data_to_nc(v, data, ind...) + start,count,stride,jlshape = ncsub(v,indexes) + return nc_put_vars(v.ds.ncid,v.varid,start,count,stride,T.(data)) end function eachchunk(v::Variable) @@ -451,19 +448,6 @@ haschunks(v::Variable) = (_chunking(v)[1] == :contiguous ? DiskArrays.Unchunked( eachchunk(v::CFVariable{T,N,<:Variable}) where {T,N} = eachchunk(v.var) haschunks(v::CFVariable{T,N,<:Variable}) where {T,N} = haschunks(v.var) -_normalizeindex(n,ind::Base.OneTo) = 1:1:ind.stop -_normalizeindex(n,ind::Colon) = 1:1:n -_normalizeindex(n,ind::Integer) = ind:1:ind -_normalizeindex(n,ind::UnitRange) = StepRange(ind) -_normalizeindex(n,ind::StepRange) = ind -_normalizeindex(n,ind) = error("unsupported index") - -# indexes can be longer than sz -function normalizeindexes(sz,indexes) - return ntuple(i -> _normalizeindex(sz[i],indexes[i]), length(sz)) -end - - # computes the size of the array `a` after applying the indexes # size(a[indexes...]) == size_getindex(a,indexes...) From f26e6cff9c45a4bb8adc6eaf01b32a04363ee207 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 19 Mar 2024 12:25:27 +0100 Subject: [PATCH 06/33] rename license file --- LICENSE | 21 +++++++++++++++++++++ LICENSE.md | 22 ---------------------- 2 files changed, 21 insertions(+), 22 deletions(-) create mode 100644 LICENSE delete mode 100644 LICENSE.md diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..b8e52839 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-2024: Alexander Barth. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index e044df7b..00000000 --- a/LICENSE.md +++ /dev/null @@ -1,22 +0,0 @@ -The NCDatasets.jl package is licensed under the MIT "Expat" License: - -> Copyright (c) 2017-2023: Alexander Barth. -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in all -> copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -> SOFTWARE. -> From 2fe4efb9dd7328cc0801bccd376e3dd950908819 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Wed, 20 Mar 2024 22:03:39 +0100 Subject: [PATCH 07/33] Reorder examples in README.md (thanks @boriskaus) --- README.md | 125 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 66 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index def13aae..d030d655 100644 --- a/README.md +++ b/README.md @@ -35,11 +35,59 @@ Pkg.add("NCDatasets") This Manual is a quick introduction in using NCDatasets.jl. For more details you can read the [stable](https://alexander-barth.github.io/NCDatasets.jl/stable/) or [latest](https://alexander-barth.github.io/NCDatasets.jl/latest/) documentation. +* [Create a netCDF file](#create-a-netcdf-file) * [Explore the content of a netCDF file](#explore-the-content-of-a-netcdf-file) * [Load a netCDF file](#load-a-netcdf-file) -* [Create a netCDF file](#create-a-netcdf-file) * [Edit an existing netCDF file](#edit-an-existing-netcdf-file) +## Create a netCDF file + +The following gives an example of how to create a netCDF file by defining dimensions, variables and attributes. + +```julia +using NCDatasets +using DataStructures: OrderedDict +# This creates a new NetCDF file called file.nc. +# The mode "c" stands for creating a new file (clobber) +ds = NCDataset("file.nc","c") + +# Define the dimension "lon" and "lat" with the size 100 and 110 resp. +defDim(ds,"lon",100) +defDim(ds,"lat",110) + +# Define a global attribute +ds.attrib["title"] = "this is a test file" + +# Define the variables temperature with the attribute units +v = defVar(ds,"temperature",Float32,("lon","lat"), attrib = OrderedDict( + "units" => "degree Celsius", + "scale_factor" => 10, +)) + +# add additional attributes +v.attrib["comments"] = "this is a string attribute with Unicode Ω ∈ ∑ ∫ f(x) dx" + +# Generate some example data +data = [Float32(i+j) for i = 1:100, j = 1:110]; + +# write a single column +v[:,1] = data[:,1]; + +# write a the complete data set +v[:,:] = data; + +close(ds) +``` + +It is also possible to create the dimensions, the define the variable and set its value with a single call to `defVar`: + +```julia +using NCDatasets +ds = NCDataset("/tmp/test2.nc","c") +data = [Float32(i+j) for i = 1:100, j = 1:110] +v = defVar(ds,"temperature",data,("lon","lat")) +close(ds) +``` ## Explore the content of a netCDF file Before reading the data from a netCDF file, it is often useful to explore the list of variables and attributes defined in it. @@ -63,24 +111,28 @@ while to get the global attributes you can do: ```julia ds.attrib ``` -which produces a listing like: + +`NCDataset("file.nc")` produces a listing like: ``` Dataset: file.nc Group: / Dimensions - time = 115 + lon = 100 + lat = 110 Variables - time (115) - Datatype: Float64 - Dimensions: time + temperature (100 × 110) + Datatype: Float32 (Float32) + Dimensions: lon × lat Attributes: - calendar = gregorian - standard_name = time - units = days since 1950-01-01 00:00:00 -[...] + units = degree Celsius + scale_factor = 10 + comments = this is a string attribute with Unicode Ω ∈ ∑ ∫ f(x) dx + +Global attributes + title = this is a test file ``` ## Load a netCDF file @@ -89,7 +141,7 @@ Loading a variable with known structure can be achieved by accessing the variabl ```julia # The mode "r" stands for read-only. The mode "r" is the default mode and the parameter can be omitted. -ds = NCDataset("/tmp/test.nc","r") +ds = NCDataset("file.nc","r") v = ds["temperature"] # load a subset @@ -99,7 +151,7 @@ subdata = v[10:30,30:5:end] data = v[:,:] # load all data ignoring attributes like scale_factor, add_offset, _FillValue and time units -data2 = v.var[:,:] +data2 = v.var[:,:]; # load an attribute @@ -110,7 +162,7 @@ close(ds) In the example above, the subset can also be loaded with: ```julia -subdata = NCDataset("/tmp/test.nc")["temperature"][10:30,30:5:end] +subdata = NCDataset("file.nc")["temperature"][10:30,30:5:end] ``` This might be useful in an interactive session. However, the file `test.nc` is not directly closed (closing the file will be triggered by Julia's garbage collector), which can be a problem if you open many files. On Linux the number of opened files is often limited to 1024 (soft limit). If you write to a file, you should also always close the file to make sure that the data is properly written to the disk. @@ -123,52 +175,7 @@ data = NCDataset(filename,"r") do ds end # ds is closed ``` -## Create a netCDF file - -The following gives an example of how to create a netCDF file by defining dimensions, variables and attributes. -```julia -using NCDatasets -using DataStructures -# This creates a new NetCDF file /tmp/test.nc. -# The mode "c" stands for creating a new file (clobber) -ds = NCDataset("/tmp/test.nc","c") - -# Define the dimension "lon" and "lat" with the size 100 and 110 resp. -defDim(ds,"lon",100) -defDim(ds,"lat",110) - -# Define a global attribute -ds.attrib["title"] = "this is a test file" - -# Define the variables temperature with the attribute units -v = defVar(ds,"temperature",Float32,("lon","lat"), attrib = OrderedDict( - "units" => "degree Celsius")) - -# add additional attributes -v.attrib["comments"] = "this is a string attribute with Unicode Ω ∈ ∑ ∫ f(x) dx" - -# Generate some example data -data = [Float32(i+j) for i = 1:100, j = 1:110] - -# write a single column -v[:,1] = data[:,1] - -# write a the complete data set -v[:,:] = data - -close(ds) -``` - -It is also possible to create the dimensions, the define the variable and set its value with a single call to `defVar`: - -```julia -using NCDatasets -ds = NCDataset("/tmp/test2.nc","c") -data = [Float32(i+j) for i = 1:100, j = 1:110] -v = defVar(ds,"temperature",data,("lon","lat")) -close(ds) -``` ## Edit an existing netCDF file @@ -178,7 +185,7 @@ to open it with the `"a"` option. Here, for example, we add a global attribute * file created in the previous step. ```julia -ds = NCDataset("/tmp/test.nc","a") +ds = NCDataset("file.nc","a") ds.attrib["creator"] = "your name" close(ds); ``` From 27a29922b282e097cb230d8e4b5b7eeb8c6cdb7f Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Thu, 21 Mar 2024 16:31:00 +0100 Subject: [PATCH 08/33] make the caches droping optional --- test/perf/README.md | 29 ++++++++++++++++--------- test/perf/benchmark-R-ncdf4.R | 19 ++++++++++------ test/perf/benchmark-julia-NCDatasets.jl | 17 ++++++++++----- test/perf/benchmark-python-netCDF4.py | 17 ++++++++++----- test/perf/benchmark.sh | 7 +++--- 5 files changed, 58 insertions(+), 31 deletions(-) diff --git a/test/perf/README.md b/test/perf/README.md index 874149c8..f0c59527 100644 --- a/test/perf/README.md +++ b/test/perf/README.md @@ -1,11 +1,5 @@ # Benchmarks -The operating systems typically caches access to the file system. -To make these benchmarks more realistic, the file system caches is dropped at every iteration so that the disk IO *is* included in the reported run times. -On Linux, the caches are dropped by writing `3` to the file `/proc/sys/vm/drop_caches` however this requires super user privileges. -These benchmarks require a Linux operating system (as dropping file caches is OS-specific). - - ## Installation ### Julia packages @@ -43,16 +37,31 @@ These are the steps to run the benchmark: julia generate_data.jl ``` -* As a *root user*, run the shell script `benchmark.sh`. It is necessary that the root user has access to the Julia, python and R netCDF packages (NCDatasets, netCDF4 and ncdf4 respectively). +* Run the shell script `benchmark.sh`. ```bash ./benchmark.sh ``` -If all packages are installed in the home directory of an unpriviledges user e.g. `my_user_name`, they can be made available to the root user changing temporarily the `HOME` environement variable to `/home/my_user_name` in the root shell before running `./benchmark.sh`: +The script will output a markdown table with the benchmark statistics. + +## Dropping file caches + +The operating systems typically caches access to the file system. +To make these benchmarks more realistic, the file system caches can be dropped at every iteration using the benchmark script with the option `--drop-caches`. +so that the disk IO *is* included in the reported run times. +On Linux, the caches are dropped by writing `3` to the file `/proc/sys/vm/drop_caches` however this requires super user privileges. +In this case, these benchmarks require a Linux operating system (as dropping file caches is OS-specific). + + +* As a *root user*, run the shell script `benchmark.sh`. It is necessary that the root user has access to the Julia, python and R netCDF packages (NCDatasets, netCDF4 and ncdf4 respectively). ```bash -HOME=/home/my_user_name ./benchmark.sh +./benchmark.sh --drop-caches ``` -The script will output a markdown table with the benchmark statistics. +If all packages are installed in the home directory of an unpriviledges user e.g. `my_user_name`, they can be made available to the root user changing temporarily the `HOME` environement variable to `/home/my_user_name` in the root shell before running `./benchmark.sh`: + +```bash +HOME=/home/my_user_name ./benchmark.sh --drop-caches +``` diff --git a/test/perf/benchmark-R-ncdf4.R b/test/perf/benchmark-R-ncdf4.R index 584cc3cb..b57a2268 100644 --- a/test/perf/benchmark-R-ncdf4.R +++ b/test/perf/benchmark-R-ncdf4.R @@ -6,15 +6,18 @@ library(ncdf4) library(microbenchmark) +print(R.version.string) print(paste("ncdf4 version: ",packageVersion("ncdf4"))) fname = "filename_fv.nc" -process <- function(fname) { - # drop file caches; requires root - fileConn<-file("/proc/sys/vm/drop_caches",open = "wt") - writeLines("3", fileConn) - close(fileConn) +process <- function(fname,drop_caches) { + if (drop_caches) { + # drop file caches; requires root + fileConn<-file("/proc/sys/vm/drop_caches",open = "wt") + writeLines("3", fileConn) + close(fileConn) + } nc = nc_open(fname) @@ -29,14 +32,16 @@ process <- function(fname) { return(tot/nmax) } +drop_caches <- "--drop-caches" %in% commandArgs(trailingOnly=TRUE) +print(paste("drop caches: ",drop_caches)) start_time <- Sys.time() -tot = process(fname) +tot = process(fname,drop_caches) end_time <- Sys.time() print(paste("time ",end_time - start_time)) print(paste("result ",tot)) -mbm <- microbenchmark("ncdf4" = process(fname),times=100) +mbm <- microbenchmark("ncdf4" = process(fname,drop_caches),times=100) fileConn<-file("R-ncdf4.txt",open = "wt") diff --git a/test/perf/benchmark-julia-NCDatasets.jl b/test/perf/benchmark-julia-NCDatasets.jl index 347a0505..a1fe4db6 100644 --- a/test/perf/benchmark-julia-NCDatasets.jl +++ b/test/perf/benchmark-julia-NCDatasets.jl @@ -13,9 +13,11 @@ function compute(v) return tot/size(v,3) end -function process(fname) - # drop file caches; requires root - write("/proc/sys/vm/drop_caches","3") +function process(fname,drop_caches) + if drop_caches + # drop file caches; requires root + write("/proc/sys/vm/drop_caches","3") + end ds = NCDataset(fname,"r") do ds v = ds["v1"]; @@ -24,12 +26,15 @@ function process(fname) end end -fname = "filename_fv.nc" -tot = process(fname) +drop_caches = "--drop-caches" in ARGS +println("Julia ",VERSION) +println("drop caches: ",drop_caches) +fname = "filename_fv.nc" +tot = process(fname,drop_caches) println("result ",tot) -bm = run(@benchmarkable process(fname) samples=100 seconds=10000) +bm = run(@benchmarkable process(fname,drop_caches) samples=100 seconds=10000) @show bm diff --git a/test/perf/benchmark-python-netCDF4.py b/test/perf/benchmark-python-netCDF4.py index 661103b3..cd64c8be 100644 --- a/test/perf/benchmark-python-netCDF4.py +++ b/test/perf/benchmark-python-netCDF4.py @@ -5,6 +5,7 @@ import netCDF4 import numpy as np import timeit +import sys def compute(v): tot = 0 @@ -13,9 +14,10 @@ def compute(v): return tot/v.shape[0] -def process(fname): - with open("/proc/sys/vm/drop_caches","w") as f: - f.write("3") +def process(fname,drop_caches): + if drop_caches: + with open("/proc/sys/vm/drop_caches","w") as f: + f.write("3") with netCDF4.Dataset(fname) as ds: v = ds["v1"] @@ -24,15 +26,20 @@ def process(fname): if __name__ == "__main__": + drop_caches = "--drop-caches" in sys.argv + + print("Python ",sys.version) + print("drop caches: ",drop_caches) + fname = "filename_fv.nc"; - tot = process(fname) + tot = process(fname,drop_caches) print("result ",tot) setup = "from __main__ import process" print("python-netCDF4 version ",netCDF4.__version__) - benchtime = timeit.repeat(lambda: process(fname), setup=setup,number = 1, repeat = 100) + benchtime = timeit.repeat(lambda: process(fname,drop_caches), setup=setup,number = 1, repeat = 100) with open("python-netCDF4.txt","w") as f: for bt in benchtime: print(bt,file=f) diff --git a/test/perf/benchmark.sh b/test/perf/benchmark.sh index e4a76c4b..e3acc2c3 100755 --- a/test/perf/benchmark.sh +++ b/test/perf/benchmark.sh @@ -1,7 +1,8 @@ #!/bin/bash -julia benchmark-julia-NCDatasets.jl -python3 benchmark-python-netCDF4.py -Rscript benchmark-R-ncdf4.R +args="$@" +julia benchmark-julia-NCDatasets.jl $args +python3 benchmark-python-netCDF4.py $args +Rscript benchmark-R-ncdf4.R $args julia summary.jl From d85c6caca5c75bda2f259e9974533ec5b5177ef6 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Fri, 22 Mar 2024 09:37:04 +0100 Subject: [PATCH 09/33] Update README.md --- test/perf/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/perf/README.md b/test/perf/README.md index f0c59527..cecfb5b7 100644 --- a/test/perf/README.md +++ b/test/perf/README.md @@ -48,7 +48,7 @@ The script will output a markdown table with the benchmark statistics. ## Dropping file caches The operating systems typically caches access to the file system. -To make these benchmarks more realistic, the file system caches can be dropped at every iteration using the benchmark script with the option `--drop-caches`. +To make these benchmarks more realistic, the file system caches can be dropped at every iteration using the benchmark script with the option `--drop-caches` so that the disk IO *is* included in the reported run times. On Linux, the caches are dropped by writing `3` to the file `/proc/sys/vm/drop_caches` however this requires super user privileges. In this case, these benchmarks require a Linux operating system (as dropping file caches is OS-specific). @@ -65,3 +65,5 @@ If all packages are installed in the home directory of an unpriviledges user e.g ```bash HOME=/home/my_user_name ./benchmark.sh --drop-caches ``` + +The table in the [README file](https://github.com/Alexander-Barth/NCDatasets.jl/blob/master/README.md) are obtained with this option enabled. From 8f452ad7a60f64338ac1ac74c4fe10166375bbc6 Mon Sep 17 00:00:00 2001 From: Gabriele Bozzola Date: Tue, 9 Apr 2024 12:02:09 -0700 Subject: [PATCH 10/33] Throw informative error for unsupported vtype Currently, defVar fails with something like ``` ERROR: KeyError: key DateTime not found ``` This PR throws a more informative error message --- src/cfvariable.jl | 1 + test/test_writevar.jl | 2 ++ 2 files changed, 3 insertions(+) diff --git a/src/cfvariable.jl b/src/cfvariable.jl index a9c339ce..ab768204 100644 --- a/src/cfvariable.jl +++ b/src/cfvariable.jl @@ -114,6 +114,7 @@ function defVar(ds::NCDataset,name::SymbolOrString,vtype::DataType,dimnames; typeid = nc_def_vlen(ds.ncid, typename, ncType[eltype(vtype)]) else # base-type + haskey(ncType, vtype) || error("$vtype not supported") ncType[vtype] end diff --git a/test/test_writevar.jl b/test/test_writevar.jl index b7cac335..47b7cd50 100644 --- a/test/test_writevar.jl +++ b/test/test_writevar.jl @@ -12,6 +12,8 @@ ds = NCDataset(filename,"c") defDim(ds,"lon",sz[1]) defDim(ds,"lat",sz[2]) +# vartype not supported +@test_throws ErrorException defVar(ds,"var-DT",DateTime,("lon","lat")) # variables for T in [UInt8,Int8,UInt16,Int16,UInt32,Int32,UInt64,Int64,Float32,Float64] From 3e10da2979621b13307332780c9526679a0840ec Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 23 Apr 2024 13:45:14 +0200 Subject: [PATCH 11/33] allow NetCDF_jll 400.902.211 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 10d8ca19..331b132f 100644 --- a/Project.toml +++ b/Project.toml @@ -20,7 +20,7 @@ CFTime = "0.1.1" CommonDataModel = "0.3.4" DataStructures = "0.17, 0.18" DiskArrays = "0.3.22" -NetCDF_jll = "=400.701.400, =400.702.400, =400.902.5, =400.902.208, =400.902.209" +NetCDF_jll = "=400.701.400, =400.702.400, =400.902.5, =400.902.208, =400.902.209, =400.902.211" NetworkOptions = "1.2" julia = "1.6" From 6735b42da4a44a09c4d9600a8b0598545d503922 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 23 Apr 2024 15:42:11 +0200 Subject: [PATCH 12/33] try to save attributes of the type Vector{Any} --- src/netcdf_c.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/netcdf_c.jl b/src/netcdf_c.jl index 39bde4fa..8d8720d7 100644 --- a/src/netcdf_c.jl +++ b/src/netcdf_c.jl @@ -593,6 +593,11 @@ function nc_put_att(ncid::Integer,varid::Integer,name::SymbolOrString,data::Vect nc_put_att(ncid,varid,name,ncType[T],data) end +function nc_put_att(ncid::Integer,varid::Integer,name::SymbolOrString,data::Vector{Any}) + T = promote_type(typeof.(data)...) + nc_put_att(ncid,varid,name,ncType[T],data) +end + # convert e.g. ranges to vectors function nc_put_att(ncid::Integer,varid::Integer,name::SymbolOrString,data::AbstractVector) nc_put_att(ncid,varid,name,Vector(data)) From 12a2305b70a0746fdef4107ee7481956b5f12846 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Thu, 25 Apr 2024 13:27:22 +0200 Subject: [PATCH 13/33] new version --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 331b132f..71a4e189 100644 --- a/Project.toml +++ b/Project.toml @@ -3,7 +3,7 @@ uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" keywords = ["netcdf", "climate and forecast conventions", "oceanography", "meteorology", "climatology", "opendap"] license = "MIT" desc = "Load and create NetCDF files in Julia" -version = "0.14.3" +version = "0.14.4" [deps] CFTime = "179af706-886a-5703-950a-314cd64e0468" From 5271611bac6b137446095b415a74b173753aaa48 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Thu, 25 Apr 2024 15:01:00 +0200 Subject: [PATCH 14/33] Update Project.toml --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 71a4e189..53d8682e 100644 --- a/Project.toml +++ b/Project.toml @@ -3,7 +3,7 @@ uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" keywords = ["netcdf", "climate and forecast conventions", "oceanography", "meteorology", "climatology", "opendap"] license = "MIT" desc = "Load and create NetCDF files in Julia" -version = "0.14.4" +version = "0.14.5" [deps] CFTime = "179af706-886a-5703-950a-314cd64e0468" From fbd3258f84a48cad96899916457836165a40bea6 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Mon, 29 Apr 2024 07:49:10 +0200 Subject: [PATCH 15/33] clean-up test --- test/test_variable.jl | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/test/test_variable.jl b/test/test_variable.jl index 9e3523be..4f63d0f5 100644 --- a/test/test_variable.jl +++ b/test/test_variable.jl @@ -290,7 +290,6 @@ data2 = zeros(Int,10) close(ds) # issue 250 - fname = tempname() ds = NCDataset(fname,"c") defDim(ds,"lon",100) @@ -299,20 +298,15 @@ v = defVar(ds,"temperature",Float32,("lon","lat")) data = [Float32(i+j) for i = 1:100, j = 1:110]; v[:,:] = data; close(ds) - -# reading ds = NCDataset(fname) - -# works: -ds["temperature"][CartesianIndices((1:10,10:30))] -ds["temperature"][CartesianIndex(1,1)] +@test ds["temperature"][CartesianIndices((1:10,10:30))] == data[CartesianIndices((1:10,10:30))] +@test ds["temperature"][CartesianIndex(1,1)] == data[CartesianIndex(1,1)] # read in-place v = zeros(Float32, 10, 21); NCDatasets.load!(variable(ds, "temperature"), v, CartesianIndices((1:10,10:30))) @test v[:,:] == data[CartesianIndices((1:10,10:30))] - - vv = [1.0f0] NCDatasets.load!(variable(ds, "temperature"), vv, CartesianIndex(5,5)) @test vv[1] == data[CartesianIndex(5,5)] +close(ds) From fe029941d64b82a5dabaa676ba7548b42534feeb Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 30 Apr 2024 10:42:46 +0200 Subject: [PATCH 16/33] Update codecov-action@v4 --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6abb541b..d7bb1dcd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,9 +43,10 @@ jobs: - uses: julia-actions/julia-runtest@latest continue-on-error: ${{ matrix.version == 'nightly' }} - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v4 with: file: lcov.info + token: ${{ secrets.CODECOV_TOKEN }} docs: name: Documentation runs-on: ubuntu-latest From 7d6b4dda2bb5cd26a65ce134a0cb4a502cb46b6d Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 30 Apr 2024 13:25:54 +0200 Subject: [PATCH 17/33] update CI --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d7bb1dcd..3427e4f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,8 +21,8 @@ jobs: arch: - x64 steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} @@ -51,8 +51,8 @@ jobs: name: Documentation runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: julia-actions/setup-julia@v1 + - uses: actions/checkout@v4 + - uses: julia-actions/setup-julia@v2 with: version: '1' - run: | From e05f39e999f20b5d6ae96e6af361d56a442770eb Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 30 Apr 2024 13:29:37 +0200 Subject: [PATCH 18/33] actions/checkout@v2 -> actions/checkout@v2 --- .github/workflows/ci-binary-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-binary-builder.yml b/.github/workflows/ci-binary-builder.yml index fea334ff..670a1f6c 100644 --- a/.github/workflows/ci-binary-builder.yml +++ b/.github/workflows/ci-binary-builder.yml @@ -21,7 +21,7 @@ jobs: arch: - x64 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} From 354de308b31c27eac66f1de0ca37d0bad15147a7 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 30 Apr 2024 13:31:01 +0200 Subject: [PATCH 19/33] actions/setup-julia@v1 -> actions/setup-julia@v2 --- .github/workflows/ci-binary-builder.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-binary-builder.yml b/.github/workflows/ci-binary-builder.yml index 670a1f6c..793e0956 100644 --- a/.github/workflows/ci-binary-builder.yml +++ b/.github/workflows/ci-binary-builder.yml @@ -22,7 +22,7 @@ jobs: - x64 steps: - uses: actions/checkout@v4 - - uses: julia-actions/setup-julia@v1 + - uses: julia-actions/setup-julia@v2 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} From f7383a6635f1a27ff5122137acef7560212908e6 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 10:24:22 +0200 Subject: [PATCH 20/33] fix Vector{Any} attributes --- src/netcdf_c.jl | 3 ++- test/test_attrib.jl | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/netcdf_c.jl b/src/netcdf_c.jl index 8d8720d7..09d3f72b 100644 --- a/src/netcdf_c.jl +++ b/src/netcdf_c.jl @@ -595,7 +595,8 @@ end function nc_put_att(ncid::Integer,varid::Integer,name::SymbolOrString,data::Vector{Any}) T = promote_type(typeof.(data)...) - nc_put_att(ncid,varid,name,ncType[T],data) + @debug "promoted type for attribute $T" + nc_put_att(ncid,varid,name,ncType[T],T.(data)) end # convert e.g. ranges to vectors diff --git a/test/test_attrib.jl b/test/test_attrib.jl index e5f76970..cdde0fca 100644 --- a/test/test_attrib.jl +++ b/test/test_attrib.jl @@ -126,4 +126,14 @@ end rm(filename) + #filename = "/tmp/mytest.nc" + +# test untyped attributes +filename = tempname() +vector_attrib = Any[Int32(1),Int32(2)] +ds = NCDataset(filename,"c") +# test deletion of attributes +ds.attrib["vector_attrib"] = vector_attrib +@test ds.attrib["vector_attrib"] == vector_attrib +close(ds) From cf722ab6c694a720c5e01124de51b923859e99a3 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 11:14:39 +0200 Subject: [PATCH 21/33] test NCDatasets.nc_inq_var --- test/test_lowlevel.jl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/test_lowlevel.jl b/test/test_lowlevel.jl index c3bc0fcf..7f459b57 100644 --- a/test/test_lowlevel.jl +++ b/test/test_lowlevel.jl @@ -57,6 +57,12 @@ for sampledata in samples xtype2 = NCDatasets.nc_inq_vartype(ncid,varid) @test xtype == xtype + name2,jltype2,dimids2,natts2 = NCDatasets.nc_inq_var(ncid,varid) + @test name2 == varname + @test jltype2 == T + @test dimids2 == reverse(dimids) + @test natts2 == 1 + attrval = NCDatasets.nc_get_att(ncid, varid, "attr-string-list") @test attrval == ["one","two"] From 4355ba27d4b572c7c5e3531c1acc8d24335c33f9 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 11:27:05 +0200 Subject: [PATCH 22/33] test set/get netcdf rc configuration --- src/netcdf_c.jl | 3 ++- test/test_lowlevel.jl | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/netcdf_c.jl b/src/netcdf_c.jl index 09d3f72b..5f35551e 100644 --- a/src/netcdf_c.jl +++ b/src/netcdf_c.jl @@ -2183,7 +2183,8 @@ end function nc_rc_get(key) p = ccall((:nc_rc_get,libnetcdf),Cstring,(Cstring,),key) - if p !== C_NULL + + if p != C_NULL unsafe_string(p) else error("NetCDF: nc_rc_get: unable to get key $key") diff --git a/test/test_lowlevel.jl b/test/test_lowlevel.jl index 7f459b57..0dc4145a 100644 --- a/test/test_lowlevel.jl +++ b/test/test_lowlevel.jl @@ -89,3 +89,12 @@ NCDatasets.nc_close(ncid) ncid = NCDatasets.nc_open(split("$(filename)#foo",'#')[1],NCDatasets.NC_NOWRITE) NCDatasets.nc_close(ncid) + + +# Set/get netcdf rc configuration +# https://github.com/Unidata/netcdf-c/blob/main/docs/auth.md + +if NCDatasets.netcdf_version() > v"4.9.0" + NCDatasets.nc_rc_set("HTTP.SSL.VALIDATE","1") + @test NCDatasets.nc_rc_get("HTTP.SSL.VALIDATE") == "1" +end From 8778d8c11804fd4cfb6723a28895c2f9b5400931 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 11:48:00 +0200 Subject: [PATCH 23/33] test error for non-existant rc keys --- test/test_lowlevel.jl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/test_lowlevel.jl b/test/test_lowlevel.jl index 0dc4145a..2c3ee312 100644 --- a/test/test_lowlevel.jl +++ b/test/test_lowlevel.jl @@ -98,3 +98,5 @@ if NCDatasets.netcdf_version() > v"4.9.0" NCDatasets.nc_rc_set("HTTP.SSL.VALIDATE","1") @test NCDatasets.nc_rc_get("HTTP.SSL.VALIDATE") == "1" end + +@test_throws ErrorException NCDatasets.nc_rc_get("does_not_exists") From 80430f7319e1e07af36205bfd3500410257d0d92 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 12:05:35 +0200 Subject: [PATCH 24/33] test NCDatasets.nc_inq_filter_avail --- test/test_lowlevel.jl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/test/test_lowlevel.jl b/test/test_lowlevel.jl index 2c3ee312..5acb21cb 100644 --- a/test/test_lowlevel.jl +++ b/test/test_lowlevel.jl @@ -100,3 +100,13 @@ if NCDatasets.netcdf_version() > v"4.9.0" end @test_throws ErrorException NCDatasets.nc_rc_get("does_not_exists") + +# test NCDatasets.nc_inq_filter_avail + +filename = tempname() +mode = NCDatasets.NC_CLOBBER +ncid = NCDatasets.nc_create(filename,mode) +id = 32015 # Zstandard +# Zstandard is not available for NetCDF 3 files +@test !NCDatasets.nc_inq_filter_avail(ncid,id) +NCDatasets.nc_close(ncid) From 7ee06b6373462431660ac63d9b906a9298ddb9a9 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 12:12:28 +0200 Subject: [PATCH 25/33] test nc_get_var1 --- test/test_lowlevel.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/test_lowlevel.jl b/test/test_lowlevel.jl index 5acb21cb..ee0aac4b 100644 --- a/test/test_lowlevel.jl +++ b/test/test_lowlevel.jl @@ -77,6 +77,11 @@ for sampledata in samples NCDatasets.nc_get_vara!(ncid,varid,start,count,sampledata2) @test sampledata == sampledata2 + # test nc_get_var1 + index = [1 for i in 1:ndims(sampledata)] .- 1 + var1 = NCDatasets.nc_get_var1(T,ncid,varid,index) + @test first(sampledata) == var1 + NCDatasets.nc_close(ncid) end From 071be210b39aa2adb6df12a211dc091a99dfe47c Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 14:22:33 +0200 Subject: [PATCH 26/33] test nc_put_var1 --- src/netcdf_c.jl | 2 +- test/test_lowlevel.jl | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/netcdf_c.jl b/src/netcdf_c.jl index 5f35551e..3d27b558 100644 --- a/src/netcdf_c.jl +++ b/src/netcdf_c.jl @@ -874,7 +874,7 @@ function nc_put_vara(ncid::Integer,varid::Integer,startp,countp, end function nc_get_vara!(ncid::Integer,varid::Integer,startp,countp,ip) - @debug "nc_get_vara!",startp,indexp + @debug "nc_get_vara!",startp,countp check(ccall((:nc_get_vara,libnetcdf),Cint,(Cint,Cint,Ptr{Csize_t},Ptr{Csize_t},Ptr{Nothing}),ncid,varid,startp,countp,ip)) end diff --git a/test/test_lowlevel.jl b/test/test_lowlevel.jl index ee0aac4b..9bf26fb2 100644 --- a/test/test_lowlevel.jl +++ b/test/test_lowlevel.jl @@ -48,7 +48,18 @@ for sampledata in samples # reverse order varid = NCDatasets.nc_def_var(ncid, varname, xtype, reverse(dimids)) NCDatasets.nc_put_att(ncid, varid, "attr-string-list",["one","two"]) + + # test nc_put_var1 + # test nc_get_var1 + index = [1 for i in 1:ndims(sampledata)] .- 1 + NCDatasets.nc_put_var1(ncid,varid,index,first(sampledata)) + @test NCDatasets.nc_get_var1(T,ncid,varid,index) == first(sampledata) + + # test nc_put_var NCDatasets.nc_put_var(ncid, varid, sampledata) + + #@test first(sampledata) == var1 + NCDatasets.nc_close(ncid) # load data @@ -77,11 +88,6 @@ for sampledata in samples NCDatasets.nc_get_vara!(ncid,varid,start,count,sampledata2) @test sampledata == sampledata2 - # test nc_get_var1 - index = [1 for i in 1:ndims(sampledata)] .- 1 - var1 = NCDatasets.nc_get_var1(T,ncid,varid,index) - @test first(sampledata) == var1 - NCDatasets.nc_close(ncid) end From 399157289989ac55d2ebd5660780432004414f51 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 21:52:42 +0200 Subject: [PATCH 27/33] protect capitalization --- paper/paper.bib | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/paper/paper.bib b/paper/paper.bib index 530b6929..69bd5a8f 100644 --- a/paper/paper.bib +++ b/paper/paper.bib @@ -1,10 +1,10 @@ @manual{OGC_netCDF, - organization = "Open Geospatial Consortium", - title = "NetCDF Binary Encoding Extension Standard: NetCDF Classic and 64-bit Offset Format", + organization = {Open Geospatial Consortium}, + title = {{NetCDF Binary Encoding Extension Standard: NetCDF Classic and 64-bit Offset Format}}, year = 2011, month = 4, - number = "OGC 10-092r3", - url = "http://www.opengis.net/doc/IS/netcdf-binary/1.0", + number = {OGC 10-092r3}, + url = {http://www.opengis.net/doc/IS/netcdf-binary/1.0}, } @inproceedings{Rew2006, @@ -12,13 +12,13 @@ @inproceedings{Rew2006 year = {2006}, month = {01}, organization = {Conference: 22nd International Conference on Interactive Information Processing Systems for Meteorology, Oceanography, and Hydrology}, - title = {NetCDF-4: Software Implementing an Enhanced Data Model for the Geosciences} + title = {{NetCDF-4: Software Implementing an Enhanced Data Model for the Geosciences}} } @article{Rew90, author={Rew, R. and Davis, G.}, journal={IEEE Computer Graphics and Applications}, - title={NetCDF: an interface for scientific data access}, + title={{NetCDF: an interface for scientific data access}}, year={1990}, volume={10}, number={4}, @@ -27,12 +27,12 @@ @article{Rew90 } @manual{OGC_Zarr, - organization = "Open Geospatial Consortium", - title = "Zarr Storage Specification 2.0 Community Standard", + organization = {Open Geospatial Consortium}, + title = {{Zarr Storage Specification 2.0 Community Standard}}, year = 2022, month = 6, - number = "21-050r1", - url = "http://www.opengis.net/doc/CS/zarr/2.0" + number = {21-050r1}, + url = {http://www.opengis.net/doc/CS/zarr/2.0} } @@ -47,7 +47,7 @@ @article{Barth2022 @article{Doglioni2023, AUTHOR = {Doglioni, F. and Ricker, R. and Rabe, B. and Barth, A. and Troupin, C. and Kanzow, T.}, - TITLE = {Sea surface height anomaly and geostrophic current velocity from altimetry measurements over the Arctic Ocean (2011--2020)}, + TITLE = {{Sea surface height anomaly and geostrophic current velocity from altimetry measurements over the Arctic Ocean (2011--2020)}}, JOURNAL = {Earth System Science Data}, VOLUME = {15}, YEAR = {2023}, @@ -58,7 +58,7 @@ @article{Doglioni2023 @article{Belgacem21, AUTHOR = {Belgacem, M. and Schroeder, K. and Barth, A. and Troupin, C. and Pavoni, B. and Raimbault, P. and Garcia, N. and Borghini, M. and Chiggiato, J.}, - TITLE = {Climatological distribution of dissolved inorganic nutrients in the western Mediterranean Sea (1981--2017)}, + TITLE = {{Climatological distribution of dissolved inorganic nutrients in the western Mediterranean Sea (1981--2017)}}, JOURNAL = {Earth System Science Data}, VOLUME = {13}, YEAR = {2021}, @@ -83,7 +83,7 @@ @article{OceananigansJOSS @ARTICLE{Shahzadi21, AUTHOR={Shahzadi, K. and Pinardi, N. and Barth, A. and Troupin, C. and Lyubartsev, V. and Simoncelli, S.}, - TITLE={A New Global Ocean Climatology}, + TITLE={{A New Global Ocean Climatology}}, JOURNAL={Frontiers in Environmental Science}, VOLUME={9}, YEAR={2021}, @@ -95,7 +95,7 @@ @ARTICLE{Shahzadi21 @misc{NCDatasets, author = {Alexander Barth}, - title = {NCDatasets: A julia package for manipulating netCDF data sets}, + title = {{NCDatasets: A julia package for manipulating netCDF data sets}}, year = {2023}, publisher = {GitHub}, journal = {GitHub repository}, @@ -106,7 +106,7 @@ @misc{NCDatasets @unpublished{SpeedyWeather, author = {Milan Klöwer and Maximilian Gelbrecht and Daisuke Hotta and Justin Willmert and Simone Silvestri and Gregory L Wagner and Alistair White and Sam Hatfield and Tom Kimpson and Navid C Constantinou and Chris Hill}, - title = {SpeedyWeather.jl: Reinventing atmospheric general circulation models towards interactivity and extensibility}, + title = {{SpeedyWeather.jl: Reinventing atmospheric general circulation models towards interactivity and extensibility}}, year = {2023}, publisher = {The Open Journal}, journal = {Journal of Open Source Software (submitted)}, @@ -125,7 +125,7 @@ @misc{Eaton2023 @article{Hassell2017, AUTHOR = {Hassell, D. and Gregory, J. and Blower, J. and Lawrence, B. N. and Taylor, K. E.}, - TITLE = {A data model of the Climate and Forecast metadata conventions (CF-1.6) with a software implementation (cf-python v2.1)}, + TITLE = {{A data model of the Climate and Forecast metadata conventions (CF-1.6) with a software implementation (cf-python v2.1)}}, JOURNAL = {Geoscientific Model Development}, VOLUME = {10}, YEAR = {2017}, From 07e05c149f3b3129623e7102d51ca37b600f5f84 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 21:59:35 +0200 Subject: [PATCH 28/33] update capitalization in reference --- paper/paper.pdf | Bin 218584 -> 218562 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/paper/paper.pdf b/paper/paper.pdf index 43a74dc514219ec6e86d382ea3ecc9c40e7aab3e..85e5a022eea7d8a5fe3bd653cea83478de81c9e4 100644 GIT binary patch delta 18150 zcmZshbwFIdmdDEs?pj=nySo)H?(XicMFxlBK1eBU#dUxp#k~}FcP~;XzO?=AzPJ1K z56I0)PVP6KoFsSd&3rjZcR5N8DH4#2jTem34Zr~jjl@y%Io>=)Jp@hfKfXeQk?_!9 zYJ;3}ulJZLIaK)XH`R9hx=~Qcm!P9yfAa#V}7eP<_@P7+6NNeTTtvHAGx5J^Pq?*I5U( z+TjnnJyEmqQsIs&HEs2~zh@R*3ov}TqbTxJB>;lB`~ZGl)u8+9Jr-B4+IT0(?zKR} zVCr+jL|u=4>~~?qkI~&n+Ac||b+5~7s(;Dy#iKEQSTFkp0o|4{pFN|zStYoXc^AQe zX!E#35RCo4+ZLfna^XeH5(mPurNG$FBl=BfejL@F=E|IGmo_J(9ScsrLY2vi)Y*=C~`b3T7V}g?0lL z;h_&y*9M61p06_=`l7H4U4h&mVe&Ka31!c&-EgagqqZ4;hAL}3U<7zryAjr`uyU<~ z9*$$AcvBV*_GA!Za9Dg=da*Zm3oEfFAr@uyWfgRV>^U*pupj)mgv~t@Z%@h`E}8UB7rR`+_`S3#jQPhGMYG|pj{@$%l}zlF9S}>4>OD=E z7kd$7zj@%CPaghPCe*e^#K6HL%zb}Qi!Riq`tHT$EnAC6}KYlD;`|c><8k*^J^65&z%4gf``4Gku?@C)@K0pI1cFy(T5PN$I5$%lE++zNWpA~qbUh$*Tn&BUzkZ}W=6_;i~1pSQ^ zU-3S8?O%wwR`w#5bnn=PB1qZ1ZxFjhx9=iO<0XHanl4A83KL-_P{fV{+^1SY>fn$m zJsu$759WK9>?&C<+VEzOg#TC)-u1^&BWBJ4Ho7cswZmI*5G-_FMud`X z|10Mn{)s$Xzq9Yk6Y)5KFt%i(Aa@mVG|6Q84|+PTt6!qSp(^@TQ`B`(kd6w@#@7FgmPhnT%$XP*}p6)C~s%-5wJxICWR9XNp2I`@47%dK0 zepgx*i|wh_K(|kKHdd+yV9n3av#ELQ9vsi2nd3(jYa>{XCN}e_*mhEX_p?SVCow~P z`$R>WZ6#x(J?83tHl#QuR|xaS`}TH=aadZt#R}&JR>K{edIb4E)ITiT$Y3{<$)=G= zrQ5*GGptofgQgxkOIm~f5+q*B_?EyS;Nr-h!6Gvs10$h0g3J$@%6Ky{K_2>}N@@-F z5_Rea{aUT&71J?=5Emf+>sh)VK|n>YF;B{Q+okWc@Y~36ulZ(P4wNtk__=qb{kl&i zN*gH|dKePagF}L8aZP%9+UJu?Rg9GkuLJ8Gi~{P!kTQAmWZ`fU0zuG(R6Etfk~>8! z^sT1&hZP|4jhO4~Fco{);!%y=u93NmV&UM`82&s&#`vzjw%ai&(nw3?XpAcZe+Zji ziWFv&AKm=)^xBRg5QO8A*C|qZzRdpK$+z(&?JCvw**HO6@=LWWgOee?TT|slEDj=p zhK0^KT*Y^j(hjkiqedB$Aq|2x#sXVk*MnkvlC)cb0ua-Rk=)Jm_+(|9kHx5u`GI9J z-=T>40jhW&U0A=YVdV$HVkHLcnj?eWbL3yfpVBJr5Dsc z<}RKZ+n(olRzO>_saVz7IA<*KS%7I2zdY@Wp3uAYJ5yP*++H{9MBz4n*gJTp9IkIP z2Ev~7jTE90I7XYsXw^S`;jj4UhgQ($>nl_s^y~U4h1(PKr=Dy$fk%_mPS=o9a!Y9p z?koKR6Fn8Xyd2n3Je-W@(`)^@o&k5d$1dvn>7ml7Z=ix?sJao}n`8R7y4K&XUKPGU zVg!E?H_jr`*x#LJDr}(%O<0jxu z#}u7Q@unE}bazxk-$5}?obo_y7@?=3$)yf;AGMMx?XXpTtde_6!sb-K_FQ}Jp==rH z(C4^$#u+3Lsfqbc!7HHNXh~1kB93}7zj!7CWpY}{SQcHQMu|*94;BvzM@x>V6-ixg zR`gQ(@#&p*>__9OfKj|P`$ySsPtkD)7u(ssq%MUw&D29gAMtrl>OFaeQe5DZIDBZw z1*c~{52kB#>;~Nzb4H-xPN>}B83x_Vm$ueTSZDnB%?mqAn!QQL!k4;?~~-n>TX%Pks&q@BLRH}i3|Fq2eM2l&vLD;s z$q4~5k%_+x9%EQULszd=mlKxllynj(_D<99TOIuV6;;*yjQzx&xnDv8hr}2j2Tywb zl`meP*5UP{~$r>3{53}o%g)FG;&Isjf_=-!t(oa zf>2HuxJsK_)-!bg1O}GY)Pn%;=b|UC_2qQB?{zt$M_MWk1+#RKL-97Fa}h@Far0|O z!>(RGXde`Qfm?(@cIo7Bd1Yx|Kcl|H0)p~3ZG~O^+x{6)#i7VpG~7(*s``&6kfVz# zSB*8U%J$gnkLFc4m2%g;z6#NFi`=!3N%Yxekfh;65o`QewBi7JlWI1~oe1a4H$3{* znjzS|_-w#U6;GA!5XLMS{R?#xlMJ6T6D;_k`Jy#F6(onoO;{cjDJ!N7ZR3Qn#(wgN zCc46`C@w?ZY}Am2tL0bo2{XiHpjpxRy2CfaFkc$m!-_RE+4LZB9)qbT!&sf+l-1rc z7-x1#yVj#67=;p^LZKHQ61ptRy6%-atzadc?w||_i#AJ z?a`z=9zwFD=q`L^zA8IFom{dWgwfBwj}727E_$VRAZzTgCT}F}7r(F~2f8$L=ivJB zqbstWmb5mMmM1HaRLU)-hQeuy-P18=WhcwS;tHxbyR=2IWhuY+_m&vW!a zAOOq8bKqB7nDwy^GeKFL{`RLI3c6UK@v#h6)wu|VVJaK#rqugBsi0KMO*(_~V*xbo z))W$l_zPr#fl0Iv?0&jK(8qZyxzj$?mF{TV^Rqb?iayx(^Wp;Tza|E#s#Td2x9>R_ z^~P(>gTlim_XudBTpG(i&5t@&#VBe2oN7~Y?U#AC9V6W~Yd8B{5t>-5Vk2v=n{6q) zTZt)}LWC=+ZOV0mCKYtqRMKnT<8j|c;zr&tgqyF@Gg)%mAQWqrcHv9tg&#xKBRU6?k3JjUsW zn?VhPRjRn8j-|f!5W8=uYBv{N)v%IR-h(40gXzoxd2E>u0#ZMpG zGfFYJ)dI7aw4Fo`YuJ^Wz7l84v17{$H8^>hLzS?F=F_UJ3{^hjm(TmNHhQ0CCqhP- zba(LuK+qU_S)aalP!nMI$^^{GHl8Zlf7AW~A+3w!kT@IC2(NvLB<`3QX>VK^xFhP< zomUJniO?b{s+tDDX!IjnOu#xmqSPgu}hGiOXPF!dsu-S@LADmE`6f#uaT z?l44lUW1{jR7J+8jlCAcp!}8nJUXKI8JV=p+f z_rd%`2J?E89w&SYB6sFGQ|{I^x$w)F+|>S68v?Zjg=Yf;i*%7}RujBUcP`4dk!BD^ zr6Kw)phbwPFOZc!h^xSgY>;V>xK*&F@m#S5uHbPTdC@{1kun*8e%D=BgM1kf(e+NO z4B3_{p;R4oX30{jaSa$ig~-_|h3(VeyGjsj>WlOwa3dH|v9+GfTw8Oys?UAu!8b(r#=`0S*jXmXzu%kO-|P!vhTOmuc>`y6NH+IR zq5L1GX_ua@q1TGqdzwG0nL8I`GATp+HiioP>Ti|0g3rBox{&jVBu)n#_p%o<_d^i_ zPNR!XvW*LBtFy$O9946nk{I}?VGdm#6h;~X%oaK`tE%awdzPl=bO!|Mg{8EeO~-i; z+-15!q25ke#zHq@+H07w?HftvSBK4| z9@!2ieWzBnE9ngW&NLoj+74H(8->M^I?`D;U1J;!3&W*{z`4B(0uKa&Pi9dcA_uY2 zZugc)afIQ^QO5WBTR`qdA%RX$pVK@j(Tv+b@4H~*2@iUU#f7QwPqXu!$>G`w^z~d3 z50LpgLeoWd)tQyzxLa_Jyq!XRXg64W$q2K8a5g${*Xduyy{n6e*`>7KO0NEO{LPqx z(N)%4%8wUZJ%)cBA7N!EAEm6{$VD@4I}U>)EYyUYF+WlDp5F#n&sxeU951-ThdFc| zG)csat+lv2XC+T>^?wmul=`T}$}-yP|Q6sOOOcY6ij>Yp7fO9H$X-sRhvl+XouCWS}^zkw6l0xeI| zBe0A`1zC$IO>YBUV~xnf17=!<*g+V3W&7g2L_9S#4F%fiiL&;PP*V|GjEKI=xbNm8gPu*j; z;h@#4L3<;g3N6>`z%kP+j4TTV6JyyD>w+2?+(iSt16`!h$K#RLP(R+lae_X*Cq@0R zHId8>`b;Rz;EgU}6*eHDWsdE}e*bk(F1rAu%YC6%QX@w3y2WPWdjxL)2}rWNNq61_U3 z9>f@pMMy~L-sg$eZ;ZJlfLMDbnu-+#Ij3i57O8!j)&vx%>MgM|#JAcs9oHojabV){ z^$WQ;%d}8lpp3+Sk}-?m@~Cm+S(K09q#t%iX4KcsDRwSXJWn)3W&&B3f45(=^RE9?OqUfjU%i?VWIlxxzc^~} zfeNvrYoG5aSfHTZF5i9-wCF*x+eG*jf3OLKSTV}rkptl7B~NZu2x+o9niqcU%r`Xs zhH-Fu!#>>rpC;)LuElY3I$fHD?7Qk7>3BxOgppjeQwOP?!JZB1+HK1+I@dzWl@_OT zWvt*8mSy;Enf1?UT-7%u9dnOcgkRh-oMN1DNkh49J$CY&$_!feQ!r-BJa;x{t6^(2 zH10f@pJTesHB)lI2TMruk#*Q=22Rr6vGtvd+hX??dD}PK=0j`u7UUIgi#_V?l6@b* zVWrhVaEh*a0c!xz#?#<<}sH(`Ux&YsDforz3^? zo<{cM_P1ow_XMpXn54b=;)xvD^bE`qqBu#;Ad7(F2_Ywkkds4^ zKtu6BM5&;1*`Zh=8(L7Q7*HJGmy{OB&C31zEiX2xU4JOft_5YKv-$^GiY|}~N(!o~ zj=0b(yUn0L3n58?;BDQ|nKTxitQYP59ThE}#aek{;h=a_lHkzQ%~>ZHba7Q8;+Gsv z^Vv^@W+#OeQBjx9q(Jy_=f>&zj=JrN{nKJ65r%pF`c)$GRHZlvD((O+oPd*Tp(sJt&nyQE zj|Kx*--d5^w)~#bh#6&tM&}h zV%QT0oH@(s37KP)wq6(PW3v*O76e3v++FRRMRexpGM9~2WAtPA?g0hPRjuD}gqLoV z57W*gr;}y!X%9>1$45U3W21mn(ghn`XzxB{4R6b>8eHTL!gqX!Pk;s(2T0Z&PGkHP1hQ_9I0tL85QlRE`?3< zqjiaLGifs!H;SEAjh^H&HjjtbjB`IfdR3Bc<6bmfyC^?N$-chjh#$@Y$(JuGj*Lp8 zljGStOP8+3u(e3+Ptg`pv`{QPzmJ8`pU@#ZI4 zto_HP%9v`uM4l#HVY~81$rauh*SGpt_LD`Fxha#SH37s%3{Jkj=%pmd1B&b^Z@-kP z(blxiqrUurpQL#6BQ!3l9z^f?Haa~I^w}QXN|BQ_Y9jP%h|~9^wesqYV#WP7qk{xE1$x4ho{|r^E3Hdt{@sPLd7v3 zcGqKMj(jO^!~F_%J@pXOk~M>s`@cDyvXj{fIcGqDg+J_3xg6KZOoCoa@4|U1u;m+uW)^p}ukd(ZP*X6#>QelX#c^IHSKUTE+Kw zV5Jkbnake!q+Y7}I%}l4;L6X=deb%82{n1~(Vl`(=~aAHg>fDbk~1g7xt-VpjP~MS zB(G}93b;NuA{z`P$O>py*wBNzOJB0aaAi#)BhFUrr%v$-y3N2Fb7}byjpDS%R@&4M ztgQYdn%x{x1d~r$fDJ5NNo((+{*_Crkl>r!!1Z%fQ}hH2%i~vhnrX?469oy(?lKTz zgV`2O-EA(u>)2d}Oyhcb{%~n~usd(G9;p}iO{Kw*J-=$aWVc#V^*6tz?SCzsss@WCz-Z=(d zUdUE5aN@nt&Qk_xKkOQ*+ktG7TLy&_Phv3~BL-=3$BqZ1?H$qtb2zK>z^4H&wPssq zyh2r{v4HUhA=>P%$SC)ItK5bh&azll=oy@BIjM8E5xJz%HCn)OHvPxBV|m)*uEXm5 zAm%GYuLimIft6Q_wT8`Xhk{jaR;6H~TjFMyJ4ikIV)aKsn>q*7-6d}k_paoYh9xN2AD_{f{`9wI;K7gQ&+2vOB%AU-~}9s-*tvA z+uzR24}K<^(o>JFgV!_@f@;%=EXwTiu7ngN9_kfGP)v!}9+4BF;2x`b9m}0-l-z3% zU6#BLWP{cRfw#pMhjQ9jkthgHiTx)@hFhC(sC{+9IZtB-^OlMy&Gy&O%r+CZ=uz~` z3KHh2S*UtRR6-FyRGO3yLC&PPuBN5&YlLaf@kO*N!!FYLmnE!=LCg8im2Mr(ug1+V z*>k_OTm@j7d@?Z<70Y*Sex}rbQSYlOQ~*IW(eji+8KD-9yw1mMqp-=w1KD6px`h zZm`OQ2(@F721W3y#=mlFP(1Ulm77aYFD$ISvZadR=&f06lJ>L|unSY8VBJUY z62+N_IaAPibqu7@e9|(G4W?W975OaZ72A1>Wmt2fc2;!KbIx2-e0)Nlo5th`gR(J1 zGD6SBdMPGocUX?R+*wEIA%8N-T*W<-E2R>na~fTEs}NKNz8ckmTyW1S9bsTxIElXFzfI}N$Ll&zs#C*kOd)Wed-CG^|>TokZflz|M# zgq(TVwpn*oG! zCfsQ_4p;k8bZj~2jFntPBDk;EVL@Fy^EH-hENA|w(0m9x+eOWwgr6jJA&y}e8P-@8 z;|5Z{slm;m{YrIUVxjZNDScF;L9hON@)6ORsd1|=Ns1| zX(=zY9aMUqV3g4A3?aA~Hi)_mpe$d8_~h4OuI(nDSn^1I_U3D_>UeEc!rMb^J(;+c zwmZpNk*ym19}rp^6R)g{etuPz(SDQDmiP;&t<>Wx-%QV|#EU%enghD@gCo;wZCN#xabrRc!2tq?9lB7!D>qZU80U8 z4;a(rZ#E#*)%fcHJ*ZUq)f@B??!ceN89<{OGiIUST|NV@rOV)gmobVr?{1^O8iJOv zxGhfiz$!|gVK_%4^%)cx1T92VDa|{Qb+O3OQ+k8UGI!b2HXT{13RU96gDQ9NB#NJp zyx{a(-7lG0;!S`+F#;hqnJ-)h5tl;+bzql%D%i;ZK@$Yoq4K!lX3{%&bk^Z9Gr=m4 zeovY1>wIy`k!3wXrT%TOxNi*`gKYZX#%LKu?dx_9*=oAoyUEp7P`~qlsHoMo*^t=c zZIT2(>N+S+jcBQhv?i*mrqC?KrTe%qR{}&7sNS2F3!x?W z)g>>7S8Sa%)ZjS=Di!1T{8s7kGWRoHhD`8=A)6FEldMwE0rA=GSPCaqhgS5DA_;lB zDgjjm&vjAqyFBPC{^TQRN80zcDR_!p^R#r9&U;&ULc-X*`wN*QZcayqyT5!$4{-xr z%Rxuiu4Ee&#(tCvqzfW-QS)bLJ8_&(M|h#ClxktSpTdsDK&ESLf^-uyJ+3>6B0Ef$ z6KLr9ZHXMb=}_YL&oIWhHh5cZtt*_-3SW)4NsLR))_}+!r}0qXpO}&u+mxzH-g5WW z2nf{}LT~MUoDd=sN`frO?WFbDb!`g8SI` zVJ(-2Cpn1W{hreNdvij>AQR#3j|0tJ^MSY8mPaZjji`+L?bp-6*-hDFiEJgF%lYKo z5i(rJTfpV;)O*wsEf)ekMWg!+gu4hLUWp9+CF+a`v;j%Y>Bx!h<|--f{EssWIz(R> zm41kxdp}i6zh$!gDiM<5`n_#`lS%t^P{Adpn^XWu0%sfoD#@;4`_ei+SfoBh6Qk){ zj=)Jdb!ItiPUk}X(dCNsqGX`3M9r;P)FzRH-!6=uJucI{_rZyKGO6nIcQpe`Rsrae z+}m+9EPG<*Z_?^MOVA`a2j&x^-gQB!QgH9?p~M+%&SQ%u)vH8MH{w1PkoO?j9P8Rb zb)3P2q>5h|!x-T6FnDh9Brpr?slHKbe;UXa7Ei3r8|2k%t8CRu8z<@4M!Y+#=;$hB z=W&EI&JORUY((^wo{VtzyXfbLe?bK;Gvy;?m7AjS~H+3VnFgbmXr5 z977>$YLU|-*rlK=)mNC@pevGuY?M)%x&-(RvNwrSTISGm_v)?+V*fF{*iR6`*T#ku zyjx4MnZx0_^l@M4`bdWs&7Wp$kB4Zavo=d#v)gqfB`rjZ?L0oTn-~Z2JIzi=jgS%N zRBgGgC!V#B$}5u4Yepxl_HXvlE2dsgEu)kb63v#|gR)l&XXarfWZzv;@4_yJ@iVuJvrCXm>#{wV z$YVVF?U=rA@5W%QTlGgTZV$LDAdp-{gSwa(_gfy3Z;tZd1a52q0)t)_yMsSEUMCb^ zSJdZ&iyPe~jrZ+W&G$BsoAkK~oS?XYLq>r~Ik;XFtVx%8{`pI!uA~nw@Y0{)yT485 zH^4uN;dz!#dB&-7?kx7V9KwyvvTl6{4>w}tt1%p=+}n{Bo%=eCjSS&asOlMg+KDyP z!Tr7hZTTkL;(+mhdP1I6%!gyV&Cu=D6jQ9xH`grVYWP83PRxV>tSra1%SzCv(5|q= zTW-3%*kN4vr#rp(Pjgqdd?tb@=T|wZ7dOcoQh{SXpIq)PAx4V|pH8t!s3@ z46&(bDwI_2dm;rO&jjhH9j4KFcpvIEtAJ?m-aXm46GH4}dA{J1O9i0F_11S{;1DQT zF@<|bq9n0bIXJ91C@<+lXRm;K9IEW!-ctzJ?!rwk8PbFwGac}5->1dRg$cE`Qwg=L zM8Vcj8CccPY2T)``L&<&CU)8AmxwCXNA}C(3>hq+ekU~H8YPxW10-Wa4R;@$d2rNQ zUTeJ_r{#wwZ>=#qvYj< zQJ;;rysH*Y9Slob&d)(h3Er}%XTXBq+iq~BFBCt3jW0C_NDAa(<@kH}PglojSqd{? zu6keEH^}DNA6n{_P8<>3J9`;aPb@ucWsd2{i%4u4Mf0k7w|YXYVE#rL~S94o|LgQvg4~>XqZ`feg$96V8w-Lr(hGNhMw_3h`~f_hn7L`ll=}O@x3I90i_a*H^V>2dy>SYxvZY0$c@H95Lk0h@uTEH&s|H~2O6^EQIqwa!JG zpF!O=zOTB~B{fSl$mKTuCazr;LJ~?%CGMJ>zDVDrQ;#2qL6AiY9ADVb?_mWVh!8zDK4`1!&a4}HSX5ZI>jwmZGBIflSVCZI($!JN>G3qOp z=1RDUMv-YqZ3BpBkcAXF&8Sb$AWg+z!~JCctUAdO5_>94?4O0|#@|Lrsg3HVg?pFV zbD_Di%I^XSVVncT_p#nzd)|gEU&BgB_h@+F>^yK2x95?O&6CJ^UWOB+gYvx}&l$~z z%H2O~De7?QOicgqAl@<51RvRc+W2t%=^=^f;>zY0>KFw5hR3EwOdUbWmG>KPQ#}ZV zNLRYk0GkRgIMk7CmoQ4$-9f_Z5HHJ7g16|}yj5+W*PW#&8B*f-x_HY}fVt^^|LZ8Y z60#VW@)R@}81*_M)=yFrKuHs1Dwou3Cues_ct~%P@pJ~_dWhC#@+3sn1>1q5VELVY zIqWz`!-tnd;=}1F58c&3jc@O@d4rGHlkG)(CgYOqA;U`7$!ph!-=7P%iuuYr<&x?$ z_mB)VN1#9Ba6BAkL}`xM$2_rxzSqde3gJo=DD6k+i!EFyZzexhb&D-^RcelAcj^jW zinwOcQ9n@OfGyR~f2%bsSA`C818#6CXN6Xb`MWS*?t1$V?(Nv9ezNF8kZ+gK`iaf! zu#UZ0u#39uXt2Kc87^{4yDHHFx{vBLY|^_y4aHoq@?fH{@pCe|Y$Sc%VHoU)=q`4e zw|DmdLAs+%o&g;nFJuDD6l(cR=j6mC z`e}Rjo<hGTmRJY`uuN)+ds@qn`Im&R^kU1p>zZ`_oykBvZ6omMiNvJ z;R~Y4kh~FuqPkw}R%H~BX~O?PqF8=x-2`rr56(Xb)mDZ+e|40SB%K0}D8^M2OtKiO zY$&{T>y*ePFz!h+VAdiDYIO|WV{4McEOBL$BEg_>g1M5`)kyC7fR1J>Twy9IhC`?T<@b(}fH8g9rQWo0MhqTZ}QB=P;W8tO5tVS73)`fuZID_?ty$Vhc*BrF}0 zCGORzyRFgX+c(PZEtDl;0qZb72t4fak(IYV4jo1B2M*4kCnbgX$PU&ASBxbl$wl+_ z6SVQ(9ylSu%PGShf&%$YH*>o?NzrZJIyw-&!e2)E74zj)`$sFA#Mig%Oous!r)Ns- zi|bA*3Cf+3JuM8|N#~fuSv&4&7SZv~QWP#9HOz>FF`3h4az7$#hJ4g~b0{-i^KsD( ztt9;I+fvC;hV>3yu>17D&UD-3dsY^$r{~+p_|>Y!%N{1Flvz;U`^HvlI6v7FU0bwy z)F2xUTN*|$Pc>V@+PdCinTA>T#P@2pVXr<=DgC>xn;Xx>{n_f{M+QdUnE z4}A{)>7PU@%sGCO)i9(zXYh5CF1ncO-oQ4x^{LU|7uw#pY8C7Ir_9zb%-2Gg#_xT+ z#iYcM4L|0ew){E(X=r@A;ixOwo~bv`Ho49t&v(x_S)Q0l6w`M)>Sg_0DL%HESB=GQ znCFZArM5I|HT#RrfTCzEmj2aayovk()ho&W11gtF{|$Y1rySU) zRzARpxpw%_kIN(0tcEi7tp_#6gEbgnLB)iesZwJpzv;IIVth;C)(KszgmnsiWu`l~ zU|SS=WkkoABhIgc-JlxDbC@L>C9^7Y(xaoe#DzGS=kSGOgH|Go^Soj^*b_+QLE^C# zn!CbTRQe91xWe1h(`c_`Vcrz3k=@qQThBJiG|!MSXOJ=`1KW8iH<#iB?3!391$d^J zYUY@VJeOk!#gxgT5mDVCZou#T zMF%6UN8Q{9Z~Yt8Pnw3tD4z(A228W}G#aaJ-y5=cH)+#6i;QqE_7?_5Cad@YFn$59 z;*Y;IGJ#aP4g}C5LW4T+30Rg+G_J{+0t=4LsX9;f50j}!=!FETlKCDKQc0__>IfS9 z@>GOXmE#h9ZG(Naxpt|Iw_IJ9K8;B;Nf5Ra#K67YqzgeWL|7j98sfQDsJ_r^3<#w= zK;mSSm7qbn!CeoGRX%xyz7J#1H1}yu&x=gtZ~*y0iqdAg3D``k<8UZIcOd1rw(UFE5h`H@hj*%bzJXJGYsIB|9tR zp#y3Z3c$(%8U6~T*agM;`_n27G&>s``#;}Sbw}dfd_h^c(V9lnE`a+9fQ4P2^Gx`X zRp^E5l}ff?j!v2N5FinyUb|g4u*DfH)zu`6NlJl6YWrpW`sL&5RD{9PRRoVO$L4;t zp1vzJuXdXowPxqT&izv7s(jPJY?uh@QciQ#SY0vW#d`l?$>I~)Jt=n3O+17}Yi|p* znVY^TYasmO3C@c@8*wtK{5i3RzF6X<eoOA~CD-eWpsSYHKJM2_yg+BEO^Aa- z!$1g&1A4x$X1}FOv8U?S5sIq}htkKi3@GokJ)zAs!6(nN0daw1(&#|!Z~iQW)Ywqw z{j!o$`W*NXj0TIegj&Nk7P#DYwX>m3aR)C z6r16>D5Rd+=0Opc*GjwlAY91_f@aQ`UUpH%sM(kdq3D1NT+^ietkp{Eu9QLz^9g<; zN$J{r&uNtecjp8;WL`fmr>@`ePe&Haizd8u8Fr6il50W(bVkY4~b!nNd{RGRSXI9Aj>jzgiP%Y z56To&3{D8`Pne9IdD1}_>nf2W13;Ym>_Ll26vZeu!mA9uy5T7l@L5~&*bnf^&qiN$ z^C7chJmnwlNla@MD2&9*fM4_ukvzJlXf&B;*_OWdnLP3(Jd70WrWlbq7VladPA1{= z57UA8LSd30+^j6mE2w0+!QP`0V-9s-*rCu<{AI=OoFk5ZETq;X&ck8lwaDj3q|koQ1P*GyFE%ihQ+UFk5?NnMvcleB|_Yn z&-W*I%??m&TtYb|TD-`V{iBZpUWd7CCt?x+E3upTWN*weC#XYg9_6u!>B|}rW?&=T zvr@{cZimOSE_%z;L9Q*hI?oVBvOenyg`3GY4cyrjvDkZss)gU%#WA78G8pPl=Gas} zp8R6Nlt}0`(cCDZ!b}bo&-+Ppaq61n+?x7i0wWOD=6`)I39i?12J@mbp_FXrY z;dE7XoWM0_pxwTXg2`IRPYltr{uWkJDC#A=%6krMI@aEIYVx}KS_bZNKHAd;L0v-StN%vW2(G;Lmy#HbPP_H>>5L1hdqCy<7WFdVzosK$F`aiAMCYp#89adAPv^gE0Lpn~GeE~DE{%4<@jyv~_^h_c&gw_tTv*}^6WJ!KKF5Do$Swb1&9Q=6j zXmo}r3OdD`MV2Rsli=`sZxxW_Nu>2YvwH{Vq|morj=;@K#}nh>4RyD4=I~H`a@%;Y zEN<{5&e6#-0RzOCdo;VfT!I9sEqad?OU1uxKMDNlulMt8bMg5QLBGcBVxCdx?YvuZ zbL+dDpg3B|Yu&{|-`+<i|Oj99H7-mFAV)h_B^7ogt|6a9m50ItGbg_ z**<|&g_3*y)uV6i3}<|}KeBrWbu=6khdh@Rr7@kRN`OA!6ONH(#OttDJN=HUPdO}kyNilGc&a* zhKeu=c~c&&O_IkP^TnCDt68q%ULwQ=*%5NMY6QxnobNVzk*GKyv%0=UA>#!9A2#-eKB=H%gOX7Ss^4!(#2uxN4pEqUwc==8fL7u%n_urQ*9qq&o*E#hCx z?<+krHa5OLrEHws|D-&BQ;vV~9RHo?1uI7baKTQ|fY-1|sRG0V$HoBY z!AS7{5EwlUAOy$B!^zCY$`1Y(|5D+73_uc`k^l$0ue&hYWE(ECn2Jm1C0Q2RvopvgK37nY(K!PNs0uZ5~*dbYI03g&q z4~vj~Fu;=PrCQz-00*oj27C?HZU=y|{toBA4-(g(b9)f_4!{xA-}+==k|zKS*x)OG zj`r{H7?823J83xDm^qnSyo~hUk^lEbxPRY=0le@PAdAfLBK##{v|cK*gA=HMx&SU7 zaC8?y2f)Sm=Rp>N(hZ;{gW>{{Q@_aiqs@2|kb=$iH%9)gU2fLD4lG-MLMZUM78EkL z;&*@k=p)<#P}BYmy8o?@oAr-^e{YBFfAmp;U;Hq^!#e-L2e^BE2hY}$&uo&?F65;s|B0PVH@PboNf%ss4 zG$1+(_rG9p|AC?R5>oYOK$hPj^}<3F@&*HVh7R6G{qI2&rU2&sClH>0fZ)FYZUFvY zAUyv8gy#<){=Z0g{{so{KS)TVfpjQ5|DwV3hlUOqg97+x zfh5J_`)4s@Xa5sFFZ2ITY5+zOf6hEUk^Bo4bjW^yzGQbPL@oL78d3&_hJQSD*&Z%eq;Ne<=MjR z_YU|nNb9mdVla*(@HNHXTeB#6xZB$}{@ynK0m!0g;_xTS306=9mO-(BZxn%)P}~qA zCEykmH5WTC+sg|A4lZ3fG8P3VbBPxLWV90eFE}|_|ECa4r2;g2SwO$~LJ=Zykg-VF zxVpWB4Ida|3qS&7K{O?Upl6cZ8Y@=@#~Tk6Evu!w2ZsYf>(n9RCyY37Q+ z5C`$KYql8Nx+!r!BRO|bZ)@)&GYMf~X|tyD^|RvdRi-_gt#7>E@R&}-`@Az9JTV5> zW*9w|oSeQ!_V?3Oy4U<|N~f~&Z__-z<4n8jg+*t|Zzi3nZ$5nOeZ`|qH5v`cr+&q3 zW8qRv{#$V_l`(=#`IOv_97z^apWTUqBF>yT?M52yq8o(54rWC#iw1CpZV+<{;58L! zD-Ga&z3|?wSN`wr@NPIf>(KsVzux}U%Wm+!*6*Xm&9^gW^VetGFcO znYmW?=U&X&J5&GHi`x^V<(h0ah(|qCFezFRJ*i>w1vCXNPiR?R+GEzm+ro)9q+}D z_WK!@$Nkx(R@9vIZ)1eS<-_c&S|peLa+m)j=(^rzN07+*prhHz{0He8$5C8xG delta 18184 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 H{%%|V>ol1t From a007ff1e28224edc5bcde99e5c48eda75c600168 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 22:07:14 +0200 Subject: [PATCH 29/33] fix imprecise formulation --- paper/paper.md | 2 +- paper/paper.pdf | Bin 218584 -> 218562 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index f9cb8557..9a078eae 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -52,7 +52,7 @@ This will automatically install all dependencies and in particular the Unidata n # Features -The main objects in the netCDF data model are the dataset (typically representing a whole file), variables (named n-dimensional arrays with named dimensions), dimensions (mapping the dimension names to the corresponding length), attributes and groups (a dataset contained within a dataset). Groups can be recursively nested. Variable names must be unique within a given group, but two different groups can re-use the same name. Current features of NCDatasets include: +The main objects in the netCDF data model are the dataset (typically representing a whole file), variables (named n-dimensional arrays with named dimensions), dimensions (mapping the dimension names to the corresponding length), attributes and groups (a dataset contained within a dataset). Groups can be recursively nested. Variable names must be unique within a given group, but in two different groups, variable names can be re-used. Current features of NCDatasets include: * Attributes, dimensions and groups are exposed to users as dictionary-like objects. Modifying them will directly modify the underlying NetCDF file as long as the file is open in write mode. * Variables are exposed as array-like objects. Indexing these arrays with the usual Julia syntax will result in loading the corresponding subset into memory. Likewise, assigning a value to a subset will write the data to the disk. diff --git a/paper/paper.pdf b/paper/paper.pdf index 43a74dc514219ec6e86d382ea3ecc9c40e7aab3e..85e5a022eea7d8a5fe3bd653cea83478de81c9e4 100644 GIT binary patch delta 18150 zcmZshbwFIdmdDEs?pj=nySo)H?(XicMFxlBK1eBU#dUxp#k~}FcP~;XzO?=AzPJ1K z56I0)PVP6KoFsSd&3rjZcR5N8DH4#2jTem34Zr~jjl@y%Io>=)Jp@hfKfXeQk?_!9 zYJ;3}ulJZLIaK)XH`R9hx=~Qcm!P9yfAa#V}7eP<_@P7+6NNeTTtvHAGx5J^Pq?*I5U( z+TjnnJyEmqQsIs&HEs2~zh@R*3ov}TqbTxJB>;lB`~ZGl)u8+9Jr-B4+IT0(?zKR} zVCr+jL|u=4>~~?qkI~&n+Ac||b+5~7s(;Dy#iKEQSTFkp0o|4{pFN|zStYoXc^AQe zX!E#35RCo4+ZLfna^XeH5(mPurNG$FBl=BfejL@F=E|IGmo_J(9ScsrLY2vi)Y*=C~`b3T7V}g?0lL z;h_&y*9M61p06_=`l7H4U4h&mVe&Ka31!c&-EgagqqZ4;hAL}3U<7zryAjr`uyU<~ z9*$$AcvBV*_GA!Za9Dg=da*Zm3oEfFAr@uyWfgRV>^U*pupj)mgv~t@Z%@h`E}8UB7rR`+_`S3#jQPhGMYG|pj{@$%l}zlF9S}>4>OD=E z7kd$7zj@%CPaghPCe*e^#K6HL%zb}Qi!Riq`tHT$EnAC6}KYlD;`|c><8k*^J^65&z%4gf``4Gku?@C)@K0pI1cFy(T5PN$I5$%lE++zNWpA~qbUh$*Tn&BUzkZ}W=6_;i~1pSQ^ zU-3S8?O%wwR`w#5bnn=PB1qZ1ZxFjhx9=iO<0XHanl4A83KL-_P{fV{+^1SY>fn$m zJsu$759WK9>?&C<+VEzOg#TC)-u1^&BWBJ4Ho7cswZmI*5G-_FMud`X z|10Mn{)s$Xzq9Yk6Y)5KFt%i(Aa@mVG|6Q84|+PTt6!qSp(^@TQ`B`(kd6w@#@7FgmPhnT%$XP*}p6)C~s%-5wJxICWR9XNp2I`@47%dK0 zepgx*i|wh_K(|kKHdd+yV9n3av#ELQ9vsi2nd3(jYa>{XCN}e_*mhEX_p?SVCow~P z`$R>WZ6#x(J?83tHl#QuR|xaS`}TH=aadZt#R}&JR>K{edIb4E)ITiT$Y3{<$)=G= zrQ5*GGptofgQgxkOIm~f5+q*B_?EyS;Nr-h!6Gvs10$h0g3J$@%6Ky{K_2>}N@@-F z5_Rea{aUT&71J?=5Emf+>sh)VK|n>YF;B{Q+okWc@Y~36ulZ(P4wNtk__=qb{kl&i zN*gH|dKePagF}L8aZP%9+UJu?Rg9GkuLJ8Gi~{P!kTQAmWZ`fU0zuG(R6Etfk~>8! z^sT1&hZP|4jhO4~Fco{);!%y=u93NmV&UM`82&s&#`vzjw%ai&(nw3?XpAcZe+Zji ziWFv&AKm=)^xBRg5QO8A*C|qZzRdpK$+z(&?JCvw**HO6@=LWWgOee?TT|slEDj=p zhK0^KT*Y^j(hjkiqedB$Aq|2x#sXVk*MnkvlC)cb0ua-Rk=)Jm_+(|9kHx5u`GI9J z-=T>40jhW&U0A=YVdV$HVkHLcnj?eWbL3yfpVBJr5Dsc z<}RKZ+n(olRzO>_saVz7IA<*KS%7I2zdY@Wp3uAYJ5yP*++H{9MBz4n*gJTp9IkIP z2Ev~7jTE90I7XYsXw^S`;jj4UhgQ($>nl_s^y~U4h1(PKr=Dy$fk%_mPS=o9a!Y9p z?koKR6Fn8Xyd2n3Je-W@(`)^@o&k5d$1dvn>7ml7Z=ix?sJao}n`8R7y4K&XUKPGU zVg!E?H_jr`*x#LJDr}(%O<0jxu z#}u7Q@unE}bazxk-$5}?obo_y7@?=3$)yf;AGMMx?XXpTtde_6!sb-K_FQ}Jp==rH z(C4^$#u+3Lsfqbc!7HHNXh~1kB93}7zj!7CWpY}{SQcHQMu|*94;BvzM@x>V6-ixg zR`gQ(@#&p*>__9OfKj|P`$ySsPtkD)7u(ssq%MUw&D29gAMtrl>OFaeQe5DZIDBZw z1*c~{52kB#>;~Nzb4H-xPN>}B83x_Vm$ueTSZDnB%?mqAn!QQL!k4;?~~-n>TX%Pks&q@BLRH}i3|Fq2eM2l&vLD;s z$q4~5k%_+x9%EQULszd=mlKxllynj(_D<99TOIuV6;;*yjQzx&xnDv8hr}2j2Tywb zl`meP*5UP{~$r>3{53}o%g)FG;&Isjf_=-!t(oa zf>2HuxJsK_)-!bg1O}GY)Pn%;=b|UC_2qQB?{zt$M_MWk1+#RKL-97Fa}h@Far0|O z!>(RGXde`Qfm?(@cIo7Bd1Yx|Kcl|H0)p~3ZG~O^+x{6)#i7VpG~7(*s``&6kfVz# zSB*8U%J$gnkLFc4m2%g;z6#NFi`=!3N%Yxekfh;65o`QewBi7JlWI1~oe1a4H$3{* znjzS|_-w#U6;GA!5XLMS{R?#xlMJ6T6D;_k`Jy#F6(onoO;{cjDJ!N7ZR3Qn#(wgN zCc46`C@w?ZY}Am2tL0bo2{XiHpjpxRy2CfaFkc$m!-_RE+4LZB9)qbT!&sf+l-1rc z7-x1#yVj#67=;p^LZKHQ61ptRy6%-atzadc?w||_i#AJ z?a`z=9zwFD=q`L^zA8IFom{dWgwfBwj}727E_$VRAZzTgCT}F}7r(F~2f8$L=ivJB zqbstWmb5mMmM1HaRLU)-hQeuy-P18=WhcwS;tHxbyR=2IWhuY+_m&vW!a zAOOq8bKqB7nDwy^GeKFL{`RLI3c6UK@v#h6)wu|VVJaK#rqugBsi0KMO*(_~V*xbo z))W$l_zPr#fl0Iv?0&jK(8qZyxzj$?mF{TV^Rqb?iayx(^Wp;Tza|E#s#Td2x9>R_ z^~P(>gTlim_XudBTpG(i&5t@&#VBe2oN7~Y?U#AC9V6W~Yd8B{5t>-5Vk2v=n{6q) zTZt)}LWC=+ZOV0mCKYtqRMKnT<8j|c;zr&tgqyF@Gg)%mAQWqrcHv9tg&#xKBRU6?k3JjUsW zn?VhPRjRn8j-|f!5W8=uYBv{N)v%IR-h(40gXzoxd2E>u0#ZMpG zGfFYJ)dI7aw4Fo`YuJ^Wz7l84v17{$H8^>hLzS?F=F_UJ3{^hjm(TmNHhQ0CCqhP- zba(LuK+qU_S)aalP!nMI$^^{GHl8Zlf7AW~A+3w!kT@IC2(NvLB<`3QX>VK^xFhP< zomUJniO?b{s+tDDX!IjnOu#xmqSPgu}hGiOXPF!dsu-S@LADmE`6f#uaT z?l44lUW1{jR7J+8jlCAcp!}8nJUXKI8JV=p+f z_rd%`2J?E89w&SYB6sFGQ|{I^x$w)F+|>S68v?Zjg=Yf;i*%7}RujBUcP`4dk!BD^ zr6Kw)phbwPFOZc!h^xSgY>;V>xK*&F@m#S5uHbPTdC@{1kun*8e%D=BgM1kf(e+NO z4B3_{p;R4oX30{jaSa$ig~-_|h3(VeyGjsj>WlOwa3dH|v9+GfTw8Oys?UAu!8b(r#=`0S*jXmXzu%kO-|P!vhTOmuc>`y6NH+IR zq5L1GX_ua@q1TGqdzwG0nL8I`GATp+HiioP>Ti|0g3rBox{&jVBu)n#_p%o<_d^i_ zPNR!XvW*LBtFy$O9946nk{I}?VGdm#6h;~X%oaK`tE%awdzPl=bO!|Mg{8EeO~-i; z+-15!q25ke#zHq@+H07w?HftvSBK4| z9@!2ieWzBnE9ngW&NLoj+74H(8->M^I?`D;U1J;!3&W*{z`4B(0uKa&Pi9dcA_uY2 zZugc)afIQ^QO5WBTR`qdA%RX$pVK@j(Tv+b@4H~*2@iUU#f7QwPqXu!$>G`w^z~d3 z50LpgLeoWd)tQyzxLa_Jyq!XRXg64W$q2K8a5g${*Xduyy{n6e*`>7KO0NEO{LPqx z(N)%4%8wUZJ%)cBA7N!EAEm6{$VD@4I}U>)EYyUYF+WlDp5F#n&sxeU951-ThdFc| zG)csat+lv2XC+T>^?wmul=`T}$}-yP|Q6sOOOcY6ij>Yp7fO9H$X-sRhvl+XouCWS}^zkw6l0xeI| zBe0A`1zC$IO>YBUV~xnf17=!<*g+V3W&7g2L_9S#4F%fiiL&;PP*V|GjEKI=xbNm8gPu*j; z;h@#4L3<;g3N6>`z%kP+j4TTV6JyyD>w+2?+(iSt16`!h$K#RLP(R+lae_X*Cq@0R zHId8>`b;Rz;EgU}6*eHDWsdE}e*bk(F1rAu%YC6%QX@w3y2WPWdjxL)2}rWNNq61_U3 z9>f@pMMy~L-sg$eZ;ZJlfLMDbnu-+#Ij3i57O8!j)&vx%>MgM|#JAcs9oHojabV){ z^$WQ;%d}8lpp3+Sk}-?m@~Cm+S(K09q#t%iX4KcsDRwSXJWn)3W&&B3f45(=^RE9?OqUfjU%i?VWIlxxzc^~} zfeNvrYoG5aSfHTZF5i9-wCF*x+eG*jf3OLKSTV}rkptl7B~NZu2x+o9niqcU%r`Xs zhH-Fu!#>>rpC;)LuElY3I$fHD?7Qk7>3BxOgppjeQwOP?!JZB1+HK1+I@dzWl@_OT zWvt*8mSy;Enf1?UT-7%u9dnOcgkRh-oMN1DNkh49J$CY&$_!feQ!r-BJa;x{t6^(2 zH10f@pJTesHB)lI2TMruk#*Q=22Rr6vGtvd+hX??dD}PK=0j`u7UUIgi#_V?l6@b* zVWrhVaEh*a0c!xz#?#<<}sH(`Ux&YsDforz3^? zo<{cM_P1ow_XMpXn54b=;)xvD^bE`qqBu#;Ad7(F2_Ywkkds4^ zKtu6BM5&;1*`Zh=8(L7Q7*HJGmy{OB&C31zEiX2xU4JOft_5YKv-$^GiY|}~N(!o~ zj=0b(yUn0L3n58?;BDQ|nKTxitQYP59ThE}#aek{;h=a_lHkzQ%~>ZHba7Q8;+Gsv z^Vv^@W+#OeQBjx9q(Jy_=f>&zj=JrN{nKJ65r%pF`c)$GRHZlvD((O+oPd*Tp(sJt&nyQE zj|Kx*--d5^w)~#bh#6&tM&}h zV%QT0oH@(s37KP)wq6(PW3v*O76e3v++FRRMRexpGM9~2WAtPA?g0hPRjuD}gqLoV z57W*gr;}y!X%9>1$45U3W21mn(ghn`XzxB{4R6b>8eHTL!gqX!Pk;s(2T0Z&PGkHP1hQ_9I0tL85QlRE`?3< zqjiaLGifs!H;SEAjh^H&HjjtbjB`IfdR3Bc<6bmfyC^?N$-chjh#$@Y$(JuGj*Lp8 zljGStOP8+3u(e3+Ptg`pv`{QPzmJ8`pU@#ZI4 zto_HP%9v`uM4l#HVY~81$rauh*SGpt_LD`Fxha#SH37s%3{Jkj=%pmd1B&b^Z@-kP z(blxiqrUurpQL#6BQ!3l9z^f?Haa~I^w}QXN|BQ_Y9jP%h|~9^wesqYV#WP7qk{xE1$x4ho{|r^E3Hdt{@sPLd7v3 zcGqKMj(jO^!~F_%J@pXOk~M>s`@cDyvXj{fIcGqDg+J_3xg6KZOoCoa@4|U1u;m+uW)^p}ukd(ZP*X6#>QelX#c^IHSKUTE+Kw zV5Jkbnake!q+Y7}I%}l4;L6X=deb%82{n1~(Vl`(=~aAHg>fDbk~1g7xt-VpjP~MS zB(G}93b;NuA{z`P$O>py*wBNzOJB0aaAi#)BhFUrr%v$-y3N2Fb7}byjpDS%R@&4M ztgQYdn%x{x1d~r$fDJ5NNo((+{*_Crkl>r!!1Z%fQ}hH2%i~vhnrX?469oy(?lKTz zgV`2O-EA(u>)2d}Oyhcb{%~n~usd(G9;p}iO{Kw*J-=$aWVc#V^*6tz?SCzsss@WCz-Z=(d zUdUE5aN@nt&Qk_xKkOQ*+ktG7TLy&_Phv3~BL-=3$BqZ1?H$qtb2zK>z^4H&wPssq zyh2r{v4HUhA=>P%$SC)ItK5bh&azll=oy@BIjM8E5xJz%HCn)OHvPxBV|m)*uEXm5 zAm%GYuLimIft6Q_wT8`Xhk{jaR;6H~TjFMyJ4ikIV)aKsn>q*7-6d}k_paoYh9xN2AD_{f{`9wI;K7gQ&+2vOB%AU-~}9s-*tvA z+uzR24}K<^(o>JFgV!_@f@;%=EXwTiu7ngN9_kfGP)v!}9+4BF;2x`b9m}0-l-z3% zU6#BLWP{cRfw#pMhjQ9jkthgHiTx)@hFhC(sC{+9IZtB-^OlMy&Gy&O%r+CZ=uz~` z3KHh2S*UtRR6-FyRGO3yLC&PPuBN5&YlLaf@kO*N!!FYLmnE!=LCg8im2Mr(ug1+V z*>k_OTm@j7d@?Z<70Y*Sex}rbQSYlOQ~*IW(eji+8KD-9yw1mMqp-=w1KD6px`h zZm`OQ2(@F721W3y#=mlFP(1Ulm77aYFD$ISvZadR=&f06lJ>L|unSY8VBJUY z62+N_IaAPibqu7@e9|(G4W?W975OaZ72A1>Wmt2fc2;!KbIx2-e0)Nlo5th`gR(J1 zGD6SBdMPGocUX?R+*wEIA%8N-T*W<-E2R>na~fTEs}NKNz8ckmTyW1S9bsTxIElXFzfI}N$Ll&zs#C*kOd)Wed-CG^|>TokZflz|M# zgq(TVwpn*oG! zCfsQ_4p;k8bZj~2jFntPBDk;EVL@Fy^EH-hENA|w(0m9x+eOWwgr6jJA&y}e8P-@8 z;|5Z{slm;m{YrIUVxjZNDScF;L9hON@)6ORsd1|=Ns1| zX(=zY9aMUqV3g4A3?aA~Hi)_mpe$d8_~h4OuI(nDSn^1I_U3D_>UeEc!rMb^J(;+c zwmZpNk*ym19}rp^6R)g{etuPz(SDQDmiP;&t<>Wx-%QV|#EU%enghD@gCo;wZCN#xabrRc!2tq?9lB7!D>qZU80U8 z4;a(rZ#E#*)%fcHJ*ZUq)f@B??!ceN89<{OGiIUST|NV@rOV)gmobVr?{1^O8iJOv zxGhfiz$!|gVK_%4^%)cx1T92VDa|{Qb+O3OQ+k8UGI!b2HXT{13RU96gDQ9NB#NJp zyx{a(-7lG0;!S`+F#;hqnJ-)h5tl;+bzql%D%i;ZK@$Yoq4K!lX3{%&bk^Z9Gr=m4 zeovY1>wIy`k!3wXrT%TOxNi*`gKYZX#%LKu?dx_9*=oAoyUEp7P`~qlsHoMo*^t=c zZIT2(>N+S+jcBQhv?i*mrqC?KrTe%qR{}&7sNS2F3!x?W z)g>>7S8Sa%)ZjS=Di!1T{8s7kGWRoHhD`8=A)6FEldMwE0rA=GSPCaqhgS5DA_;lB zDgjjm&vjAqyFBPC{^TQRN80zcDR_!p^R#r9&U;&ULc-X*`wN*QZcayqyT5!$4{-xr z%Rxuiu4Ee&#(tCvqzfW-QS)bLJ8_&(M|h#ClxktSpTdsDK&ESLf^-uyJ+3>6B0Ef$ z6KLr9ZHXMb=}_YL&oIWhHh5cZtt*_-3SW)4NsLR))_}+!r}0qXpO}&u+mxzH-g5WW z2nf{}LT~MUoDd=sN`frO?WFbDb!`g8SI` zVJ(-2Cpn1W{hreNdvij>AQR#3j|0tJ^MSY8mPaZjji`+L?bp-6*-hDFiEJgF%lYKo z5i(rJTfpV;)O*wsEf)ekMWg!+gu4hLUWp9+CF+a`v;j%Y>Bx!h<|--f{EssWIz(R> zm41kxdp}i6zh$!gDiM<5`n_#`lS%t^P{Adpn^XWu0%sfoD#@;4`_ei+SfoBh6Qk){ zj=)Jdb!ItiPUk}X(dCNsqGX`3M9r;P)FzRH-!6=uJucI{_rZyKGO6nIcQpe`Rsrae z+}m+9EPG<*Z_?^MOVA`a2j&x^-gQB!QgH9?p~M+%&SQ%u)vH8MH{w1PkoO?j9P8Rb zb)3P2q>5h|!x-T6FnDh9Brpr?slHKbe;UXa7Ei3r8|2k%t8CRu8z<@4M!Y+#=;$hB z=W&EI&JORUY((^wo{VtzyXfbLe?bK;Gvy;?m7AjS~H+3VnFgbmXr5 z977>$YLU|-*rlK=)mNC@pevGuY?M)%x&-(RvNwrSTISGm_v)?+V*fF{*iR6`*T#ku zyjx4MnZx0_^l@M4`bdWs&7Wp$kB4Zavo=d#v)gqfB`rjZ?L0oTn-~Z2JIzi=jgS%N zRBgGgC!V#B$}5u4Yepxl_HXvlE2dsgEu)kb63v#|gR)l&XXarfWZzv;@4_yJ@iVuJvrCXm>#{wV z$YVVF?U=rA@5W%QTlGgTZV$LDAdp-{gSwa(_gfy3Z;tZd1a52q0)t)_yMsSEUMCb^ zSJdZ&iyPe~jrZ+W&G$BsoAkK~oS?XYLq>r~Ik;XFtVx%8{`pI!uA~nw@Y0{)yT485 zH^4uN;dz!#dB&-7?kx7V9KwyvvTl6{4>w}tt1%p=+}n{Bo%=eCjSS&asOlMg+KDyP z!Tr7hZTTkL;(+mhdP1I6%!gyV&Cu=D6jQ9xH`grVYWP83PRxV>tSra1%SzCv(5|q= zTW-3%*kN4vr#rp(Pjgqdd?tb@=T|wZ7dOcoQh{SXpIq)PAx4V|pH8t!s3@ z46&(bDwI_2dm;rO&jjhH9j4KFcpvIEtAJ?m-aXm46GH4}dA{J1O9i0F_11S{;1DQT zF@<|bq9n0bIXJ91C@<+lXRm;K9IEW!-ctzJ?!rwk8PbFwGac}5->1dRg$cE`Qwg=L zM8Vcj8CccPY2T)``L&<&CU)8AmxwCXNA}C(3>hq+ekU~H8YPxW10-Wa4R;@$d2rNQ zUTeJ_r{#wwZ>=#qvYj< zQJ;;rysH*Y9Slob&d)(h3Er}%XTXBq+iq~BFBCt3jW0C_NDAa(<@kH}PglojSqd{? zu6keEH^}DNA6n{_P8<>3J9`;aPb@ucWsd2{i%4u4Mf0k7w|YXYVE#rL~S94o|LgQvg4~>XqZ`feg$96V8w-Lr(hGNhMw_3h`~f_hn7L`ll=}O@x3I90i_a*H^V>2dy>SYxvZY0$c@H95Lk0h@uTEH&s|H~2O6^EQIqwa!JG zpF!O=zOTB~B{fSl$mKTuCazr;LJ~?%CGMJ>zDVDrQ;#2qL6AiY9ADVb?_mWVh!8zDK4`1!&a4}HSX5ZI>jwmZGBIflSVCZI($!JN>G3qOp z=1RDUMv-YqZ3BpBkcAXF&8Sb$AWg+z!~JCctUAdO5_>94?4O0|#@|Lrsg3HVg?pFV zbD_Di%I^XSVVncT_p#nzd)|gEU&BgB_h@+F>^yK2x95?O&6CJ^UWOB+gYvx}&l$~z z%H2O~De7?QOicgqAl@<51RvRc+W2t%=^=^f;>zY0>KFw5hR3EwOdUbWmG>KPQ#}ZV zNLRYk0GkRgIMk7CmoQ4$-9f_Z5HHJ7g16|}yj5+W*PW#&8B*f-x_HY}fVt^^|LZ8Y z60#VW@)R@}81*_M)=yFrKuHs1Dwou3Cues_ct~%P@pJ~_dWhC#@+3sn1>1q5VELVY zIqWz`!-tnd;=}1F58c&3jc@O@d4rGHlkG)(CgYOqA;U`7$!ph!-=7P%iuuYr<&x?$ z_mB)VN1#9Ba6BAkL}`xM$2_rxzSqde3gJo=DD6k+i!EFyZzexhb&D-^RcelAcj^jW zinwOcQ9n@OfGyR~f2%bsSA`C818#6CXN6Xb`MWS*?t1$V?(Nv9ezNF8kZ+gK`iaf! zu#UZ0u#39uXt2Kc87^{4yDHHFx{vBLY|^_y4aHoq@?fH{@pCe|Y$Sc%VHoU)=q`4e zw|DmdLAs+%o&g;nFJuDD6l(cR=j6mC z`e}Rjo<hGTmRJY`uuN)+ds@qn`Im&R^kU1p>zZ`_oykBvZ6omMiNvJ z;R~Y4kh~FuqPkw}R%H~BX~O?PqF8=x-2`rr56(Xb)mDZ+e|40SB%K0}D8^M2OtKiO zY$&{T>y*ePFz!h+VAdiDYIO|WV{4McEOBL$BEg_>g1M5`)kyC7fR1J>Twy9IhC`?T<@b(}fH8g9rQWo0MhqTZ}QB=P;W8tO5tVS73)`fuZID_?ty$Vhc*BrF}0 zCGORzyRFgX+c(PZEtDl;0qZb72t4fak(IYV4jo1B2M*4kCnbgX$PU&ASBxbl$wl+_ z6SVQ(9ylSu%PGShf&%$YH*>o?NzrZJIyw-&!e2)E74zj)`$sFA#Mig%Oous!r)Ns- zi|bA*3Cf+3JuM8|N#~fuSv&4&7SZv~QWP#9HOz>FF`3h4az7$#hJ4g~b0{-i^KsD( ztt9;I+fvC;hV>3yu>17D&UD-3dsY^$r{~+p_|>Y!%N{1Flvz;U`^HvlI6v7FU0bwy z)F2xUTN*|$Pc>V@+PdCinTA>T#P@2pVXr<=DgC>xn;Xx>{n_f{M+QdUnE z4}A{)>7PU@%sGCO)i9(zXYh5CF1ncO-oQ4x^{LU|7uw#pY8C7Ir_9zb%-2Gg#_xT+ z#iYcM4L|0ew){E(X=r@A;ixOwo~bv`Ho49t&v(x_S)Q0l6w`M)>Sg_0DL%HESB=GQ znCFZArM5I|HT#RrfTCzEmj2aayovk()ho&W11gtF{|$Y1rySU) zRzARpxpw%_kIN(0tcEi7tp_#6gEbgnLB)iesZwJpzv;IIVth;C)(KszgmnsiWu`l~ zU|SS=WkkoABhIgc-JlxDbC@L>C9^7Y(xaoe#DzGS=kSGOgH|Go^Soj^*b_+QLE^C# zn!CbTRQe91xWe1h(`c_`Vcrz3k=@qQThBJiG|!MSXOJ=`1KW8iH<#iB?3!391$d^J zYUY@VJeOk!#gxgT5mDVCZou#T zMF%6UN8Q{9Z~Yt8Pnw3tD4z(A228W}G#aaJ-y5=cH)+#6i;QqE_7?_5Cad@YFn$59 z;*Y;IGJ#aP4g}C5LW4T+30Rg+G_J{+0t=4LsX9;f50j}!=!FETlKCDKQc0__>IfS9 z@>GOXmE#h9ZG(Naxpt|Iw_IJ9K8;B;Nf5Ra#K67YqzgeWL|7j98sfQDsJ_r^3<#w= zK;mSSm7qbn!CeoGRX%xyz7J#1H1}yu&x=gtZ~*y0iqdAg3D``k<8UZIcOd1rw(UFE5h`H@hj*%bzJXJGYsIB|9tR zp#y3Z3c$(%8U6~T*agM;`_n27G&>s``#;}Sbw}dfd_h^c(V9lnE`a+9fQ4P2^Gx`X zRp^E5l}ff?j!v2N5FinyUb|g4u*DfH)zu`6NlJl6YWrpW`sL&5RD{9PRRoVO$L4;t zp1vzJuXdXowPxqT&izv7s(jPJY?uh@QciQ#SY0vW#d`l?$>I~)Jt=n3O+17}Yi|p* znVY^TYasmO3C@c@8*wtK{5i3RzF6X<eoOA~CD-eWpsSYHKJM2_yg+BEO^Aa- z!$1g&1A4x$X1}FOv8U?S5sIq}htkKi3@GokJ)zAs!6(nN0daw1(&#|!Z~iQW)Ywqw z{j!o$`W*NXj0TIegj&Nk7P#DYwX>m3aR)C z6r16>D5Rd+=0Opc*GjwlAY91_f@aQ`UUpH%sM(kdq3D1NT+^ietkp{Eu9QLz^9g<; zN$J{r&uNtecjp8;WL`fmr>@`ePe&Haizd8u8Fr6il50W(bVkY4~b!nNd{RGRSXI9Aj>jzgiP%Y z56To&3{D8`Pne9IdD1}_>nf2W13;Ym>_Ll26vZeu!mA9uy5T7l@L5~&*bnf^&qiN$ z^C7chJmnwlNla@MD2&9*fM4_ukvzJlXf&B;*_OWdnLP3(Jd70WrWlbq7VladPA1{= z57UA8LSd30+^j6mE2w0+!QP`0V-9s-*rCu<{AI=OoFk5ZETq;X&ck8lwaDj3q|koQ1P*GyFE%ihQ+UFk5?NnMvcleB|_Yn z&-W*I%??m&TtYb|TD-`V{iBZpUWd7CCt?x+E3upTWN*weC#XYg9_6u!>B|}rW?&=T zvr@{cZimOSE_%z;L9Q*hI?oVBvOenyg`3GY4cyrjvDkZss)gU%#WA78G8pPl=Gas} zp8R6Nlt}0`(cCDZ!b}bo&-+Ppaq61n+?x7i0wWOD=6`)I39i?12J@mbp_FXrY z;dE7XoWM0_pxwTXg2`IRPYltr{uWkJDC#A=%6krMI@aEIYVx}KS_bZNKHAd;L0v-StN%vW2(G;Lmy#HbPP_H>>5L1hdqCy<7WFdVzosK$F`aiAMCYp#89adAPv^gE0Lpn~GeE~DE{%4<@jyv~_^h_c&gw_tTv*}^6WJ!KKF5Do$Swb1&9Q=6j zXmo}r3OdD`MV2Rsli=`sZxxW_Nu>2YvwH{Vq|morj=;@K#}nh>4RyD4=I~H`a@%;Y zEN<{5&e6#-0RzOCdo;VfT!I9sEqad?OU1uxKMDNlulMt8bMg5QLBGcBVxCdx?YvuZ zbL+dDpg3B|Yu&{|-`+<i|Oj99H7-mFAV)h_B^7ogt|6a9m50ItGbg_ z**<|&g_3*y)uV6i3}<|}KeBrWbu=6khdh@Rr7@kRN`OA!6ONH(#OttDJN=HUPdO}kyNilGc&a* zhKeu=c~c&&O_IkP^TnCDt68q%ULwQ=*%5NMY6QxnobNVzk*GKyv%0=UA>#!9A2#-eKB=H%gOX7Ss^4!(#2uxN4pEqUwc==8fL7u%n_urQ*9qq&o*E#hCx z?<+krHa5OLrEHws|D-&BQ;vV~9RHo?1uI7baKTQ|fY-1|sRG0V$HoBY z!AS7{5EwlUAOy$B!^zCY$`1Y(|5D+73_uc`k^l$0ue&hYWE(ECn2Jm1C0Q2RvopvgK37nY(K!PNs0uZ5~*dbYI03g&q z4~vj~Fu;=PrCQz-00*oj27C?HZU=y|{toBA4-(g(b9)f_4!{xA-}+==k|zKS*x)OG zj`r{H7?823J83xDm^qnSyo~hUk^lEbxPRY=0le@PAdAfLBK##{v|cK*gA=HMx&SU7 zaC8?y2f)Sm=Rp>N(hZ;{gW>{{Q@_aiqs@2|kb=$iH%9)gU2fLD4lG-MLMZUM78EkL z;&*@k=p)<#P}BYmy8o?@oAr-^e{YBFfAmp;U;Hq^!#e-L2e^BE2hY}$&uo&?F65;s|B0PVH@PboNf%ss4 zG$1+(_rG9p|AC?R5>oYOK$hPj^}<3F@&*HVh7R6G{qI2&rU2&sClH>0fZ)FYZUFvY zAUyv8gy#<){=Z0g{{so{KS)TVfpjQ5|DwV3hlUOqg97+x zfh5J_`)4s@Xa5sFFZ2ITY5+zOf6hEUk^Bo4bjW^yzGQbPL@oL78d3&_hJQSD*&Z%eq;Ne<=MjR z_YU|nNb9mdVla*(@HNHXTeB#6xZB$}{@ynK0m!0g;_xTS306=9mO-(BZxn%)P}~qA zCEykmH5WTC+sg|A4lZ3fG8P3VbBPxLWV90eFE}|_|ECa4r2;g2SwO$~LJ=Zykg-VF zxVpWB4Ida|3qS&7K{O?Upl6cZ8Y@=@#~Tk6Evu!w2ZsYf>(n9RCyY37Q+ z5C`$KYql8Nx+!r!BRO|bZ)@)&GYMf~X|tyD^|RvdRi-_gt#7>E@R&}-`@Az9JTV5> zW*9w|oSeQ!_V?3Oy4U<|N~f~&Z__-z<4n8jg+*t|Zzi3nZ$5nOeZ`|qH5v`cr+&q3 zW8qRv{#$V_l`(=#`IOv_97z^apWTUqBF>yT?M52yq8o(54rWC#iw1CpZV+<{;58L! zD-Ga&z3|?wSN`wr@NPIf>(KsVzux}U%Wm+!*6*Xm&9^gW^VetGFcO znYmW?=U&X&J5&GHi`x^V<(h0ah(|qCFezFRJ*i>w1vCXNPiR?R+GEzm+ro)9q+}D z_WK!@$Nkx(R@9vIZ)1eS<-_c&S|peLa+m)j=(^rzN07+*prhHz{0He8$5C8xG delta 18184 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 H{%%|V>ol1t From f8d7643879fc1f828e804266655df09138dd4281 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 28 May 2024 22:12:47 +0200 Subject: [PATCH 30/33] extend Acknowledgements --- paper/paper.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/paper/paper.md b/paper/paper.md index 9a078eae..ab0e3340 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -70,7 +70,7 @@ The Julia package [NetCDF.jl](https://github.com/JuliaGeo/NetCDF.jl) from Fabian # Acknowledgements -I thank [all contributors](https://github.com/Alexander-Barth/NCDatasets.jl/graphs/contributors) to this package, among others, George Datseris, Tristan Carion, Martijn Visser and Charles Troupin as well as Unidata for the [netCDF C library](https://github.com/Unidata/netcdf-c) and their time and efforts responding to my questions and issues. All contributors to the [Yggdrasil.jl](https://github.com/JuliaPackaging/Yggdrasil/) project for their effort in building the netCDF library and the required dependencies are also acknowledged. +I thank [all contributors](https://github.com/Alexander-Barth/NCDatasets.jl/graphs/contributors) to this package, among others, George Datseris, Tristan Carion, Martijn Visser, Charles Troupin, Rafael Schouten, Argel Ramírez Reyes, Kenechukwu Uba, Philippe Roy, Gregory L. Wagner, Gael Forget and Haakon Ludvig Langeland Ervik as well as Unidata for the [netCDF C library](https://github.com/Unidata/netcdf-c) and their time and efforts responding to my questions and issues. All contributors to the [Yggdrasil.jl](https://github.com/JuliaPackaging/Yggdrasil/) project for their effort in building the netCDF library and the required dependencies are also acknowledged. # Funding From 04e1c74ab5d9599e7a2e83649c4c207d317e730b Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Thu, 30 May 2024 08:47:33 +0200 Subject: [PATCH 31/33] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d030d655..f7c814b6 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![codecov.io](http://codecov.io/github/Alexander-Barth/NCDatasets.jl/coverage.svg?branch=master)](http://app.codecov.io/github/Alexander-Barth/NCDatasets.jl?branch=master) [![documentation stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://alexander-barth.github.io/NCDatasets.jl/stable/) [![documentation dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://alexander-barth.github.io/NCDatasets.jl/dev/) +[![DOI](https://joss.theoj.org/papers/10.21105/joss.06504/status.svg)](https://doi.org/10.21105/joss.06504) `NCDatasets` allows one to read and create netCDF files. From dde1dd4948ee44e34ccb547227df7bfb71cf1cc4 Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Thu, 30 May 2024 08:49:39 +0200 Subject: [PATCH 32/33] Create CITATION.cff --- CITATION.cff | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 CITATION.cff diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 00000000..402a7a61 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,28 @@ +cff-version: "1.2.0" +authors: +- family-names: Barth + given-names: Alexander + orcid: "https://orcid.org/0000-0003-2952-5997" +doi: 10.5281/zenodo.11067062 +message: If you use this software, please cite our article in the + Journal of Open Source Software. +preferred-citation: + authors: + - family-names: Barth + given-names: Alexander + orcid: "https://orcid.org/0000-0003-2952-5997" + date-published: 2024-05-29 + doi: 10.21105/joss.06504 + issn: 2475-9066 + issue: 97 + journal: Journal of Open Source Software + publisher: + name: Open Journals + start: 6504 + title: "NCDatasets.jl: a Julia package for manipulating netCDF data + sets" + type: article + url: "https://joss.theoj.org/papers/10.21105/joss.06504" + volume: 9 +title: "NCDatasets.jl: a Julia package for manipulating netCDF data + sets" From 35991a8ca7ecf742594510fbdc8075efc4f5e02b Mon Sep 17 00:00:00 2001 From: Alexander Barth Date: Tue, 16 Jul 2024 13:46:17 +0200 Subject: [PATCH 33/33] update paper --- paper/paper.pdf | Bin 218562 -> 215352 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/paper/paper.pdf b/paper/paper.pdf index 85e5a022eea7d8a5fe3bd653cea83478de81c9e4..54d6ee584871746b19d75f19e6548c09f04e9379 100644 GIT binary patch delta 33037 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