-
Notifications
You must be signed in to change notification settings - Fork 15
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
Workflow for ZPPY- PCMDI for E3SM diagnostics (with fixes on issues found in #624) #640
base: main
Are you sure you want to change the base?
Conversation
The modification attemts to interpolate the 3D model level data to standard pressure level specified by vrt_remap_plev19.nc. This is needed by e3sm_to_cmip to convert these variables into cmip type
Develop a script pcmdi_diags.py along with pcmdi_diags.bash to run the pcmdi diagnostics using the E3SM model simulations
* Update mypy python version * Update conda python version
* Update pre-commit dependencies * Update pre-commit deps in `conda/dev.yml` * Fix `black` formatting errors * Fix `flake8` programming errors
@chengzhuzhang @forsyth2 : Hi Jill and Ryan, I closed the #624 as some of the fixes are made on the issues pointed our by you. I open this new pull request for the continuing discussion. |
From the original PR#624, I ran into an env problem that suggests I can't access your build of pcmdi_metrics_master conda environment. All other tasks like
However In the new PR I ran into an error much ealier, right after issuing the zppy command line, as below:
I think the error is caused by the conflicting In any case, I think i now have a better understand of your implementation, after testing and reviewing the results. And perhaps we can have a chat sometime next week about design details. |
@chengzhuzhang: Hi Jill, when I submitted this new PR, I did a code rebase to make sure that my code is consistent with the zppy master branch. However, I just found that a certain amount of the changes have been made in zppy-master branch. Due to these changes, I need to make modifications to my pcmdi workflow. Overall, please hold, and I may need to resubmit a PR again. I apologize for the inconvenience. |
@zhangshixuan1987 Oh, no worries! I didn't realize it is still a draft. Thanks for the heads-up. I'm happy to test again when it is ready. No hurry. |
I've unfortunately been busy with other priorities, but I've been trying to follow this work at a high level. I would like to again raise my concern about repeating design decision mistakes that have caused issues in the
Yes, I mentioned in #624 (comment) that #628 made some changes to clean up the |
I'm hesitant to make too many comments without fully reviewing and running the latest code myself, but my specific design decision concerns at the moment are the following. Perhaps I just need more context though, which we can discuss in a meeting.
It appears we are once again adding a de facto analysis package inside
|
I'm still not convinced that we should consider a stand-alone package for the My view of zppy is that it not only provide interface to connect multiple diagnostics tools, it also closes any gaps that these packages won't cover but E3SM requires. In the case of zppy-PMP workflow, there is missing pieces from PMP, including decoupled plotting capability and no viewer is generated. It feels that it is inevitable that we need to use zppy to close such gaps. Another thing i would note is that there are several scripts use |
If that is going to continue to be the purview of zppy. I think there needs to be a yaml file or something similar that defines the dependencies and their constraints for each tool like |
@xylar yes, dependencies such as |
I think Ryan's point is that global_time_series is currently poorly maintained because its buried inside zppy. The cost of making it a separate package is offset by the benefit of better testing. |
I agree with both @rljacob and @forsyth2, I don't think it's great if zppy becomes a kitchen-sink package. The extra maintenance is already there and breaking our distinct packages should provide transparency for users and developers. I realized we're short on staff. But bundling packages together doesn't really solve that problem, it just obscures it. In general I think zppy should return to being a workflow manager and not try to also be the tool that adapts all other tools for E3SM's needs. That's really messy to try to bundle into a single package. |
hmmm, is it possible to make the global_time_series capability more modular and testable in zppy before considering packaging it as a stand-alone package? I don't know if such a package is useful beyond zppy. |
@chengzhuzhang @xylar @forsyth2: Hi all, I may not fully understand all your discussions here. The
To me, The above issue will not be a problem anymore once the PCMDI is updated in the e3sm-unified environment. One step further, I currently used the ZPPY preferred method to load the conda environment pcmdi_metrics_master by adding following lines in the ".cfg" file:
I think that @chengzhuzhang has a problem calling "conda activate pcmdi_metrics_master" as there is no such coda environment installed in her local machine. However, this is not because there is a module called "pcmdi_metrics_master" within any Python scripts of the zppy-pcmid workflow. My point here is that the above method to activate the customized PCMDI library will not cause any issues within zppy-pcmdi workflow. |
@zhangshixuan1987, you are right. We are hijacking your PR to have what has meandered into a very important discussion but one that is not related. |
Let's move the broader discussion to #641 and keep this PR focused on its original purpose. There is still, of course, room to discuss whether this work should be done outside of zppy for similar reasons to what moves over to that discussion. |
@zhangshixuan1987 Sorry for this distraction. I'm grateful that Xylar created a separate discussion item. For the |
is shown to be more efficient and stable
@chengzhuzhang @forsyth2: I am not intended to interrupt the discussions. I think all discussions here are very useful to me as well. I am also very interested in the further discussions at the #641. |
@chengzhuzhang : Hi Jill, I have checked and made modifications to the PCMDI workflow. The test on my side indicates that the workflow can work as expected. Below are the example results for the E3SM AMIP simulation run with revised workflow: An updated ".cfg" file is attached here for your test: Also, I think that my built "pcmdi_metrics_master" environment can not be sourced as like @xylar's likely because I did not install the miniconda environment by myself, rather, I relied on the "e3sm_unified" environment on Chrysalis. Therefore, to make sure that you can test the package successfully, I converted my package to a ".yml" file:
Finally, I am trying to work on a viewer function following the one in E3SM diagnostics, I will let you know if I can quickly figure this out. Please let me know if you could be available for a meeting, and I would like to discuss with you for the strategy and the requirements that I should follow. |
Issue resolution
Select one: This pull request is...
1. Does this do what we want it to do?
Objectives:
Required:
If applicable:
2. Are the implementation details accurate & efficient?
Required:
If applicable:
zppy/conda
, not just animport
statement.3. Is this well documented?
Required:
4. Is this code clean?
Required:
If applicable: