-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add 0.25 degree model configurations #17
Comments
There is a topography update that we may want to wait until it is added. And an issue with misaligned ocean/ice grids has recently been spotted We can go ahead and make the configurations now and update them when fixes are available, or wait until the issues are ironed out. Any comment @aekiss? |
|
Awesome. Thanks. |
The BGC input files will need to be copied over, c.f. 1 degree model |
Input files copied into
|
Current plan is to defer release of 0.25 degree configurations until updated an updated ice grid is available and a model verification experiment has been completed. The |
Plans have changed. 0.25 degree will be part of this release. |
release-025deg_jra55_iaf, release-025deg_jra55_ryf, release-025deg_jra55_iaf_bgc and release-025deg_jra55_ryf_bgc are all at version 2.0 now :) I think this is done! |
Great work, thanks @anton-seaice |
Overview
The full ACCESS-OM2 release requires the 0.25 degree configurations, IAF and RYF atmospheric forcing, with physics only and bgc.
The goal is to have all four COSIMA 0.25 configurations as specially named branches in this repository, versioned (2.0) and tagged:
release-025deg_jra55_ryf
(repo)release-025deg_jra55_iaf
(repo)release-025deg_jra55_ryf_bgc
(repo)release-025deg_jra55_iaf_bgc
(repo)For each configuration this requires the following steps:
dev-*
branchgit checkout
an update branch from thisdev-*
branch, modify it to use input paths fromvk83
, ACCESS-NRI deployed model versions and update some metadata and configuration optionsdev-*
branch created above. Ensure QA checks pass, then mergerelease-*
branch if one doesn't already exist from thedev-*
branch and run a special workflow to add reproducibility checksums, version and tag.The release-1deg_jra55_ryf branch is the template to follow for RYF configurations. Similarly the release-1deg_jra55_iaf branch is the template to follow for IAF configurations.
There is a Contributing Guide which covers in more detail how to add and change configurations, but below are specific instructions for this specific task of porting COSIMA configurations to this repo.
The ACCESS-OM2 spack.location file gives the paths to the installed components:
The ACCESS-OM2-BGC spack.location file gives the paths to the BGC installed components (note only the MOM5 build differs from the physics only ACCESS-OM2):
Steps to follow to add a COSIMA configuration to this repo:
gh repo clone ACCESS-NRI/access-om2-configs
gh repo clone COSIMA/025deg_jra55_ryf
cd access-om2-configs
remote add 025deg_jra55_ryf ../025deg_jra55_ryf
git checkout -b dev-025deg_jra55_ryf 025deg_jra55_ryf/master
Steps to modify a configuration:
Because this is modifying an existing COSIMA configuration we would like to make sure the changes we're making are not introducing any source of error. There is a slow way (test bit reproducibility) or a fast way (use manifest checksums). Both options are outlined below. Choose which you're comfortable using. If you do choose the slow way, it probably isn't necessary to do it for all configurations, as it is possible to compare the branches and use that as a sanity check, as they should differ in small but deterministic ways.
dev-
orrelease-
), e.g.git checkout update-1deg_jra55_ryf
Either Option 1: make changes and rely on manifests for error checking (fast)
config.yaml
input paths to point to the new structure invk83
(see 1 degree config). Note paths toqv56
for IAF configs remains unchanged.payu setup
to generate new input manifests. Rungit diff manifests/input.yaml
and confirm that onlyfullpath
andbinhash
entries modified. Allmd5
hashes should be unchanged. This confirms the inputs are identical to the COSIMA configuration.vk83
(see above for paths, and note there are different CICE executables for the different resolutions)payu setup
to generate new executable manifests. Rungit diff manifests/input.yaml
and confirm thatfullpath
,binhash
andmd5
entries are all modified. Allmd5
hashes should be changed.Or Option 2: make changes and use model runs to check reproducibility (or close to it)
runlog: false
to prevent unnecessary git commits during testingconfig.yaml
input paths to point to the new structure invk83
(see 1 degree config). Note paths toqv56
for IAF configs remains unchanged.vk83
(see above for paths, and note there are different CICE executables for the different resolutions)git mv resub.sh tools/.
. Update config.yaml as required to point to new locations.collate
exe
to point to/g/data/vk83/apps/mppnccombine-fast/0.2/bin/mppnccombine-fast
git push
update branch to repository and create a pull request to thedev-*
branch you created and pushed in first section.2.0
to indicate that this is no longer bit reproducible with the COSIMA (1.0) versions.As a guide this GitHub comparison shows the changes required for the 1 degree RYF configuration.
224b125...3f4cd6e
Bit reproducibility comparisons
We no longer have bit reproducibility with historical (COSIMA) versions of ACCESS-OM2 because we have opted to turn on compile options to ensure we have reproducibility across modified restart boundaries.
However the outputs should remain bit reproducible until the point where executables are modified.
Regardless, even when the executables are modified it is a good idea to run the model to check the differences after a short time are what we'd expect: just some noise in the fields.
For comparing model outputs I recommend a few different tools:
nccmp
(/g/data/hh5/public/apps/miniconda3/envs/analysis3-23.07/bin/nccmp
)nccmp
is silent when files are equivalent, otherwise it will echo to STDERR whether metadata or a specific variable differs. By default, comparing stops after the first difference.ncdiff
(/g/data/hh5/public/apps/miniconda3/envs/analysis3-23.07/bin/ncdiff
)ncdiff
subtracts one netcdf file from anotherncview
(/apps/ncview/2.1.7/bin/ncview
)Simple Xwindows based netCDF file viewer. When subtracting one file from another it is a good idea to make sure the files contain actual data. If they're empty you may get a false negative for bit reproducibility as they will be identical.
6/4: Instructions updated
The text was updated successfully, but these errors were encountered: