Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Simplify conda env yaml files and combine into single env #144
Simplify conda env yaml files and combine into single env #144
Changes from 4 commits
a5b5162
d68d41e
7d2c529
f1217e6
00299aa
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
This file was deleted.
This file was deleted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should probably do
nodefaults
here and across the entire E3SM ecosystem, but I would defer to Xylar to make a recommendation.https://conda-forge.org/docs/user/tipsandtricks.html#using-multiple-channels
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good idea. I need to start replacing
defaults
withnodefaults
across the many conda env yaml files in E3SM repos.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Packages are considered direct dependencies if they are directly imported by
datasm
, or some datasm module call requires an 'optional' dependency (e.g., xarray with the matplotlib optional dependency for xarray plotting).Update this section by removing or adding any dependencies as needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
esgcet>=5.2.0
now includes an-xarray
flag to replaceautocurator
. I removedautocurator
as a result, which allowed me to combineproc.yml
withpub.yml
.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow - Thanks Tom! This is great. I have some 5/6 different environments (some for dev, some for pub), some customized for v1 or v2 Large Ensemble processing, some with/without e2c v1.10.0rc1 (nee rc2) - and it will be great to cut them down.
I have long-running CMIP6 jobs running (expected to complete around Sept 5) and just finished a publication run) so I'll need to create a new environment (or two) to test these - don't want to destabilize running stuff...
I need to think about how to test this (publish without actually publishing, etc) or else publish something small.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No problem Tony! I hope this optimizes your workflow so you don't need to manage many different conda environments.
Ideally, you should have just two environments: 1 for production and 1 for development.
e3sm_to_cmip=v1.10.rc1
) to testdatasm
on.This brings a good point that we might need a
dev.yml
to define the development environment.For the custom environments, it will be harder to version control if you install packages manually without using the yaml file specs (as you are probably aware of by now). Also as I mentioned before,
pip
installing a local build ofe3sm_to_cmip
can cause issues too.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tomvothecoder Given that there as never been a datasm "stable release", this would leave me with only a "dev" environment ...
The scope of datasm is so broad, no regression testing makes headway before operational exigencies demand changes to accommodate new data irregularities. Not to mention - I have scores of big jobs queued up that are pushing against slurm "PENDING (resources)". I suppose I need to develop a "non-slurm" test regime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tomvothecoder Although the prod.yml includes
- cwltool >=3.1.20220202173120
when I build a prod environment and pip install datasm (and e3sm_to_cmip, FWIW), datasm postprocess fails with
/var/spool/slurmd/job210469/slurm_script: line 7: cwltool: command not found
The environment I built shows (mamba list):
(not that I ever looked for cwltool before, so I don't know what to expect.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tomvothecoder This could be my fault (naturally...). I changed "- default" to "- nodefault", having read a comment about that. Now that I've changed it back and rebuilt, cwltool appears... magic!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's weird...
cwltool
only exists in conda-forge (i.e.,nodefaults
shouldn't impact it ...) ... hmmm 🤔https://anaconda.org/search?q=cwltool
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be superstition on my part. Other intervening changes may have occurred. I should create another env with "nodefaults" and check again. Maybe the (acme1) base environment is different. (too many variables...)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't worry about it --- whatever gets the job done! 😄
This file was deleted.