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

Arm diags v4 #31

Merged
merged 33 commits into from
Sep 30, 2024
Merged

Arm diags v4 #31

merged 33 commits into from
Sep 30, 2024

Conversation

EmmyChengTao
Copy link
Collaborator

  • Developed based on the branch "ARM_Diags_V3".

@EmmyChengTao EmmyChengTao self-assigned this Aug 17, 2024
Base automatically changed from ARM_Diags_V3 to master August 27, 2024 18:00
@chengzhuzhang
Copy link
Contributor

@EmmyChengTao Hi Cheng, it looks like neither you and I merged Xiaojian's last Pull Request #29 . So I just merged it right now. Could you add a description summarize the new features in this Pull Request discussion?

},
{
"diags_set": "set10_twolegged_metric",
"variables": ["Atmospheric Coupling Legs","Terrestrial Cooupling Legs"],
Copy link
Contributor

Choose a reason for hiding this comment

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

Are both strings actually variable names in the input netcdf files? are they pre-computed?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Both strings refer to the name of the metrics (not the variable names), which will be shown on the corresponding html. The two-legged metrics show the covariance relationships between two variables. Please let me know if you would this to be exactly the variable names. Thank you!

import calendar
import math

def get_seasonal_3hr(var,seasons,years):
Copy link
Contributor

Choose a reason for hiding this comment

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

get_seasonal_3hr and get_seasonal are repeated in two new component. If they are identical, we can move them under utils, also I'm wondering if the existing climo function can provide the same capabilities. Do both functions to get seasonal mean from 3hr and daily datasets?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@chengzhuzhang, I checked climo function. It differs from get_seasonal_3hr and get_seasonal, which outputs the diurnal cycle for each season. I rewrote the function, which merged get_seasonal_3hr and get_seasonal into one function, and moved them under utils. Please check get_diurnal_cycle_seasons under utils.py for details. Thank you!

Copy link
Contributor

@chengzhuzhang chengzhuzhang left a comment

Choose a reason for hiding this comment

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

Hey Cheng, thank you for the PR! It looks good, I left a couple of comments, please let me know, i think we can address them together.

setup.py Outdated Show resolved Hide resolved
@EmmyChengTao EmmyChengTao reopened this Sep 6, 2024
@EmmyChengTao
Copy link
Collaborator Author

@chengzhuzhang , please find a summary of the Pull Request #29 below:

  • Specify the start/end years for the test models in basicparameter.py
  • Add the aerosol activation metrics via /src/aerosol_activation.py
  • Edit /src/annual_cycle_aci.py with filenames following the ARM standard
  • Edit /src/annual_cycle_zt.py by 1) allowing the detection of temporal resolution of input data automatically; 2) change the contour levels to site-dependent
  • Edit /src/create_htmls.py by creating htmls for newly generated metrics on aerosol-cloud interactions

@EmmyChengTao
Copy link
Collaborator Author

@chengzhuzhang, I just updated the arm_diags_v4 branch with your comments addressed. The major changes include:

  • Merged "get_seaonal" and "get_seasonal_3hr" into one function named "get_diurnal_cycle_seasons", and moved the function under "utils.py".
  • Fixed an issue in the "convection onset" metrics. Previously, the figures cannot be generated. Also, adjusted the setting of y-axis in the figures.

Please let me know if anything. Thank you for your time and review!

@chengzhuzhang
Copy link
Contributor

@EmmyChengTao the changes look good to me. I tested on NERSC and the new features are run successfully. Just to confirm, the plots for PBL annual cycle and Terrestrial Cooupling Legs for models are not created, this is expected because the tested version of model doesn't have needed variables included, correct?

@chengzhuzhang
Copy link
Contributor

Also we should probably upload the v4 technical doc to https://github.com/ARM-DOE/arm-gcm-diagnostics/tree/master/docs, also it would be nice to add Xiaojian's paper as a reference paper in READ.me.

At the same time, I will attempt to re-use the climo function to get diurnal-cycle.

Almost there for a new release!

@EmmyChengTao
Copy link
Collaborator Author

EmmyChengTao commented Sep 13, 2024 via email

@EmmyChengTao
Copy link
Collaborator Author

EmmyChengTao commented Sep 13, 2024 via email

@chengzhuzhang
Copy link
Contributor

@EmmyChengTao yes, I used the e3sm_unified env on perlmutter to test.

@chengzhuzhang
Copy link
Contributor

@EmmyChengTao I think this PR is ready to merge. Though I don't see a commit that updates the README, could it be that the commit is not pushed to remote?

@chengzhuzhang chengzhuzhang merged commit b85c29a into master Sep 30, 2024
3 checks passed
@chengzhuzhang chengzhuzhang deleted the arm_diags_v4 branch September 30, 2024 17:03
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.

3 participants