Open atteggiani opened 1 month ago
This could be the subject of a separate issue, but what will this environment contain? Consider that u-dg768
already uses hh5
conda
modules.
This environment will contain any packages needed to run ACCESS-RAM that are currently loaded through hh5
conda
.
It is to replace the usage of:
module use /g/data/hh5/public/modules
module load conda
with this environment (location still to be decided but something like):
module use /g/data/<project>/public/modules
module load access-ram
In an approach similar to what has been done for ACCESS-OM2 and ACCESS-ESM1.5.
I suggest for the name to simply reflect the release tag ( so something like
access-ram/1.0
oraccess-ram/1.3
, etc.)
Will this be used for only ACCESS-RAM3
or for future versions(?) of ACCESS-RAM
? If it's the former, maybe the environment should be access-ram3
instead of access-ram
.
Furthermore, when you say the release tag, do you mean the tags in ACCESS-NRI/ACCESS-RAM3
? In that case, we use a modified version of CalVer (YEAR.MONTH.MINOR
eg. 2024.08.0
) rather than the SemVer you have in your comment (1.0
, 11.3
),
Will this be used for only
ACCESS-RAM3
or for future versions(?) ofACCESS-RAM
? If it's the former, maybe the environment should beaccess-ram3
instead ofaccess-ram
.
That's a good question.
Looking at the how to run instructions, ACCESS-OM2 doesn't seem to require a tailored environment to be loaded. It just uses the payu
environment.
Does anyone know what is the plan for ACCESS-ESM1.5? @aidanheerdegen Since ACCESS-ESM1.5 will require some other modules (for example the um2nc-standalone), I believe it will need a dedicated environment (??).
I think it would be good to have an access-ram
conda environments folder that might contain multiple folders depending on the model version (access-ram3
, access-ram3.5
, etc.) and each of these would have subfolders for the specific release version (for example access-ram3/2024.08.0
).
One issue about this:
With the scheme above a new environment (for example access-ram3/2024.08.0
would need to be released every time a new ACCESS-RAM3 model release occurs).
However, a new ACCESS-RAM3 model release might involve no changes that would need an environment change (if for example the python scripts are not touched), meaning the environment wouldn't really need to be changed (previous environment release would still work fine).
A solution to this could be to have symlinks instead of having a new environment folder, in case a previous environment is valid.
However, a new ACCESS-RAM3 model release might involve no changes that would need an environment change (if for example the python scripts are not touched), meaning the environment wouldn't really need to be changed (previous environment release would still work fine). A solution to this could be to have symlinks instead of having a new environment folder, in case a previous environment is valid.
We don't necessarily have to have them in lockstep. They can be versioned separately, and that seems to be the easier option.
True, then I would go with the SemVer
for the access-ram
environments release: access-ram3/1.0
, access-ram3/1.1
, access-ram3/2.0
, etc.
I think access-ram3
would clash with the eventual model modules names for loading spack executables - see https://github.com/ACCESS-NRI/ACCESS-RAM3/pull/2#issuecomment-2277203000 has module load access-ram3/pr2-6
.
So might have to use access-ram-conda
or something that is different?
Maybe access-ram-scripts
?
I think @aidanheerdegen has suggested conda/access-ram
I think it makes sense to call it conda/access-ram
to emulate the hh5 conda/analysis3
environments.
Sounds good to me
I would add the versioning in the name with a hiphen, as done in the hh5 conda/analysis3
environments (analysis3-22.01
, analysis3-23.04
).
So it would be something like conda/access-ram-1.0
or conda/access-ram-3.2
, and conda/access-ram
for the latest release.
How do we want to handle the environment release versioning/naming?
The
access-ram
conda environment name is not to be related to any specific package version (different, for example, from the payu-condaenv that has multiple versions depending on itspayu
version) or python versions (for the moment).How do you think would be best to name the conda package (and folders where the package reside on Gadi)?
I suggest for the name to simply reflect the release tag ( so something like
access-ram/1.0
oraccess-ram/1.3
, etc.)Any strong opinions on this?