netcdf 0.12.0

High-level NetCDF bindings for Rust
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use crate::{error::Result, utils::checked_with_lock};

use netcdf_sys::nc_type;

#[derive(Copy, Clone)]
#[repr(i32)]
pub(crate) enum AccessMode {
    Independent = netcdf_sys::par::NC_INDEPENDENT,
    Collective = netcdf_sys::par::NC_COLLECTIVE,
}

pub(crate) fn set_access_mode(ncid: nc_type, varid: nc_type, mode: AccessMode) -> Result<()> {
    checked_with_lock(|| unsafe {
        netcdf_sys::par::nc_var_par_access(ncid, varid, mode as i32 as std::ffi::c_int)
    })
}