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

FIX: read_arm_mmcr fails when using a read-only input file #888

Merged
merged 3 commits into from
Dec 19, 2024

Conversation

isilber
Copy link
Contributor

@isilber isilber commented Dec 11, 2024

act/io/arm.py Outdated Show resolved Hide resolved
act/io/arm.py Outdated
if nc is not None:
ds = xr.open_dataset(xr.backends.NetCDF4DataStore(nc))
# Change heights name to range to read appropriately to xarray
if 'heights' in ds.dims:
ds = ds.rename_dims({"heights": "range"})
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are using heights later on for some calculations, this might break

Copy link
Contributor Author

@isilber isilber Dec 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zssherman Well, it doesn't, and I've tested it. Note that ds also has the 'heights' dim name changed prior to this PR.
As it stands, ARM currently holds only the b1 MMCR files, which have that dimension. The issue was with read-only files. Other than that, everything remained the same.
You can try the few lines of code in the issue I opened and see that it works.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah i was curious on why we are checking for nans later on etc for height and if that would break if we had range, but I see we check for range as well. Thanks for the clarification.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might need to test this out. There were issues with opening the mmcr dataset I was working with without renaming that dimension ahead of opening up with xarray. This week is hectic but I'll try and fit it in.

@zssherman
Copy link
Collaborator

Tests failing is unrelated to this PR

…did not work on my mac after downloading data.
@AdamTheisen
Copy link
Collaborator

AdamTheisen commented Dec 17, 2024

@isilber I was running into errors when using this change on my local machine but I've tested this out on read only files and seems to work. Would you be able to test this out first before we merge?

Copy link
Collaborator

@AdamTheisen AdamTheisen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tested this fix out on ARM's dev system and was able to read from /data/archive. I think we can go ahead and merge this in @zssherman. Thanks all!

act/io/arm.py Outdated
if nc is not None:
ds = xr.open_dataset(xr.backends.NetCDF4DataStore(nc))
# Change heights name to range to read appropriately to xarray
if 'heights' in ds.dims:
ds = ds.rename_dims({"heights": "range"})
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I might need to test this out. There were issues with opening the mmcr dataset I was working with without renaming that dimension ahead of opening up with xarray. This week is hectic but I'll try and fit it in.

@zssherman zssherman merged commit 0125b37 into ARM-DOE:main Dec 19, 2024
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ACT fails to run read_arm_mmcr when using read-only files as input
3 participants