Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 Dataset file locked during lifetime of script #847

Closed
jsnel opened this issue Oct 3, 2021 · 0 comments · Fixed by #848
Closed

🐛 Dataset file locked during lifetime of script #847

jsnel opened this issue Oct 3, 2021 · 0 comments · Fixed by #848
Labels
Type: Bug Minor issues, non-crashing bug, slowdowns

Comments

@jsnel
Copy link
Member

jsnel commented Oct 3, 2021

Describe the bug

A minor issue when reading in / loading data from nc file. When doing so the files are locked throughout the runtime of the script.

Solution

Instead of

@register_data_io("nc")
class NetCDFDataIo(DataIoInterface):
    def load_dataset(self, file_name: str) -> xr.Dataset | xr.DataArray:
        return xr.open_dataset(file_name)

One can instead use:

@register_data_io("nc")
class NetCDFDataIo(DataIoInterface):
    def load_dataset(self, file_name: str) -> xr.Dataset | xr.DataArray:
        with xr.open_dataset(file_name) as ds:
            return ds.load()

which avoids file locking.

@jsnel jsnel added the Type: Bug Minor issues, non-crashing bug, slowdowns label Oct 3, 2021
@jsnel jsnel closed this as completed in #848 Oct 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug Minor issues, non-crashing bug, slowdowns
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant