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

New ESACCI AEROSOL CMORizer (Python version) #3629

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

axel-lauer
Copy link
Contributor

@axel-lauer axel-lauer commented May 28, 2024

Description

This PR provides new downloading and formatting scripts for ESACCI AEROSOL data (monthly and daily values) in Python replacing the old NCL version supporting monthly values only.

Checklist

It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

New or updated data reformatting script

Copy link
Contributor

@hb326 hb326 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 the downloader and formatter for two years (since otherwise it would have taken hours to wait for the data to download). Both worked fine for the two years. The files look ok, and I checked if the values are in a meaningful range. Looks all fine.

Well done, @axel-lauer!

I have a few comments regarding the description in some of the files.

@@ -420,11 +420,14 @@ datasets:
ESACCI-AEROSOL:
tier: 2
source: ftp://anon-ftp.ceda.ac.uk/neodc/esacci/aerosol/data/
last_access: 2019-01-24
# last_access: 2019-01-24
Copy link
Contributor

Choose a reason for hiding this comment

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

Do you leave this line in (just commented out) to show how the cmorizer would work with the older version of the data? This is not clear here.

ATSR2_SU/L3/v4.21/MONTHLY/ (1997-2002)
AATSR_SU/L3/v4.21/MONTHLY/ (2003-2011)
# ATSR2_SU/L3/v4.21/MONTHLY/ (1997-2002)
# AATSR_SU/L3/v4.21/MONTHLY/ (2003-2011)
Copy link
Contributor

Choose a reason for hiding this comment

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

Same here. I think you commented it out to so that it could be used again for the older version, but it would be nice if this would be described somewhere.

@@ -156,8 +156,23 @@ diagnostics:
scripts: null


ESACCI-AEROSOL:
description: ESACCI-AEROSOL check
# ESACCI-AEROSOL:
Copy link
Contributor

Choose a reason for hiding this comment

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

I think also here it would be nice to have an additional comment that describes why the collection of lines were commented out.

Copy link
Contributor

@valeriupredoi valeriupredoi left a comment

Choose a reason for hiding this comment

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

nice one @axel-lauer many thanks, mate! I reviewed only the Python bits (apols for me not speaking NCL), found just a couple minor points, so am moving this to "in technical review" 🍺

dataset_time_calender)
nan_cube.coord('time').points = float(newtime)

return nan_cube
Copy link
Contributor

Choose a reason for hiding this comment

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

note however that those values are not NaNs in the strict data type sense, they are numpy.Masked objects (that look like -- and have actual values of fill_value which I think it's 1.e+20 here)

cube.add_dim_coord(time_coord, 0)

for attr in drop_attrs:
if attr in cube.attributes.keys():
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
if attr in cube.attributes.keys():
if attr in cube.attributes:

loop_date += relativedelta.relativedelta(months=1)

iris.util.unify_time_units(full_list)
cube = full_list.concatenate_cube()
Copy link
Contributor

Choose a reason for hiding this comment

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

any chance this may fail (differing attributes etc)? Could try use the more accommodating esmvalcore.preprocessor._io.concatenate if it fails

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants