Implementation of the UCI vertical interpolation and forcing for Linoz - #5860
Conversation
rljacob
left a comment
There was a problem hiding this comment.
Fix the PR title and description.
Hi @rljacob Rob, I've made a fix. Please let me know if there are other suggestions. Thank you! |
|
Do you know why the CircleCI check is failing? Did the logs become harder to read of late? Never mind, here it is: You can test fixing this locally by using the gnu compiler |
tangq
left a comment
There was a problem hiding this comment.
Need to repeat the test runs to confirm the results are reasonable and clean up the code a bit as suggested above. The code changes look good to me.
mahf708
left a comment
There was a problem hiding this comment.
I checked the internal docs on this PR. The intended behavior is climate changing.
- I cannot tell if that there is way to turn these changes on/off because some xml files are edited in place. Could you explain how one would turn this on/off?
- RESTOM changes by 0.20 W/m2 in the AMIP runs. Can we account for this? I could guess it is the O3 changes (for the better, right?) but it would be good to rigorously do this. Would you be able to assess the direct and indirect O3--radiation interactions before this PR is merged? Same for other fields. It would be good to account for the radiative changes carefully.
mahf708
left a comment
There was a problem hiding this comment.
Status update. Based on the new simulations of the before- and after-fixes implemented by Wuyin, the fixes are climate changing and therefore I can no longer stand by my earlier assessment about this PR. In particular, RESTOM changes are on the order of 0.20 W/m2 in the F2010 tests, which I usually consider well above the threshold of noise and roundoff. In fact, that change (0.20) is about the same as the change introduced by this PR to begin with, which we have labeled CC. I don't think it is reasonable to ask for more simulations on this PR (given a lot of simulations have already been done, sadly to apparent waste due to the complex ozone--climate interactions). Instead, we may have to consider lumping the three prominent climate changing PRs for v3alpha03. I will defer to the coupled team to assess and make a decision.
|
All, should this PR be tagged as a bug fix? |
|
Status update in this PR. Before the merging, a bug that affects the surface boundary for Linoz tracers is detected. A bug was found during our discussion with Wuyin. A fix is now in the PR to incorporate the fix. Simulation using the latest commit has shown a RESTOM of -0.03 W/m2 as compared to the -0.04 W/m2 in the pre-bug fix simulation. Decomposition of the radiation effect following the above analysis show similar results, including minor aerosol effect. Inspection of the results in other variables also show similar effect, indicating the minor impact of this bug and the previous documented results shown in this PR and on confluence are overall applicable. The latest simulation results are documented here. |
mahf708
left a comment
There was a problem hiding this comment.
Approving based on the results based on pre-v3a3 branch by Wuyin. The combined results show minimal effects on aerosol forcing. After the fix by Wuyin and the additional fix by Jinbo, I think this PR is close to climatological equivalence before/after. That is, the CC label may not be necessary, but I would keep it on just in case as my testing isn't thorough; the RP is definitely NBFB though. At any rate, this PR should be safe for merging from the standpoint of aerosol forcing. Thanks @wlin7 and @jinboxie; let me know if you'd like any additional tests from me.
|
@wlin7 : should this be tagged as a bugfix PR? |
|
If you're referring to the fixes within the PR by Wuyin and Jinbo, I don't believe these commits count as bug fixes because the respective bugs were caught and corrected before merging, thus they're just part of the PR process. In totality, I don't believe this PR merits a bug fix label, but I could be wrong. I believe this is the main summary (as well as the main description): |
|
Its only a bugfix if the bug is on master. |
…add_linoz_new' into next (PR #5860) Implementation of the UCI vertical interpolation and forcing for Linoz Implement the UCI vertical interpolation and forcing to Linoz. The rationale behind it is that the linoz in e3sm currently use the linear interpolation that does not conserve mass. The UCI interpolation is implemented to remedy this problem and the associated forcing is also implemented. [CC] [NML]
|
Merged to next. |
| deallocate(wrksrf) | ||
| else | ||
| !!padding for derivative terms | ||
| wrksrf=0.0_r8 |
There was a problem hiding this comment.
@jinboxie , look like there is no need of this (padding for derivative).
wrksrf in the else block is never allocated. While runs with intel compiler didn't complain, all gnu tests failed due to invalid memory reference.
There was a problem hiding this comment.
Hi Jinbo, I used the following to test my PRs with gnu:
./create_test e3sm_developer --compiler=gnu -p e3sm --machine=chrysalis --baseline-root=/lcrc/group/e3sm/baselines/chrys/gnu -c -b 82c581e
Note that I generated baselines for 82c581e as part of my testing, so the command above will both run the tests and compare them against baselines. You could also change e3sm_developer with e3sm_integration for a more expansive test suite
There was a problem hiding this comment.
You likely shouldn't run the comparison since this PR is CC/NBFB. So take out -c -b 82c581e from my line above
There was a problem hiding this comment.
Verified: Commenting out lines 1723-1725 allows gnu tests to run, while having no impact on intel tests.
There was a problem hiding this comment.
Ok, thank you guys!
…add_linoz_new' into next (PR #5860) Implementation of the UCI vertical interpolation and forcing for Linoz Implement the UCI vertical interpolation and forcing to Linoz. The rationale behind it is that the linoz in e3sm currently use the linear interpolation that does not conserve mass. The UCI interpolation is implemented to remedy this problem and the associated forcing is also implemented. Remerged after a fix. [CC] [NML]
|
Remerged to next after the fix commit 51dd660 |
|
|
||
| <compset> | ||
| <alias>FSSP585</alias> | ||
| <lname>SSP585_eam_EAM%CMIP6_ELM%SPBC_MPASSI%PRES_DOCN%DOM_MOSART_SGLC_SWAV</lname> |
There was a problem hiding this comment.
What does the "eam" do in this longname? I didn't think that was allowed in CIME.
There was a problem hiding this comment.
Hi Rob @rljacob , it was used as the F for SSP585 compset when we were testing using the original alpha01 version. It is used to test the linoz-v2 configuration for future compset. Under this compset, we used several future scenario forcings as like done before. In the naming convention of correspondent files in use_cases of eam namelist_files, there was one with SSP585_cam5_CMIP6_bgc.xml, so I named it with eam to discriminate between the two.
|
The PR description was missing important content (above the line) so I added it. |
…add_linoz_new' into next (PR #5860) Implementation of the UCI vertical interpolation and forcing for Linoz Implement the UCI vertical interpolation and forcing to Linoz. The rationale behind it is that the linoz in e3sm currently use the linear interpolation that does not conserve mass. The UCI interpolation is implemented to remedy this problem and the associated forcing is also implemented. Remerged after a fix. [CC] [NML]
|
Merged to master. |
Fix linoz data file for 1pctCO2 use_case PR #5860 updated linoz data files for use cases. But the PR did not involve the use_case file for WCYCL1850-1pctCO2 as it was introduced at a later time. This fixes WCYCL1850-1pctCO2 tests, though some machines were able to run with the old file. [non-BFB] only for compy and anvil prod tests that were able to run with the old file.
Fix linoz data file for 1pctCO2 use_case PR #5860 updated linoz data files for use cases. But the PR did not involve the use_case file for WCYCL1850-1pctCO2 as it was introduced at a later time. This fixes WCYCL1850-1pctCO2 tests, though some machines were able to run with the old file. [non-BFB] only for compy and anvil prod tests that were able to run with the old file
Implement the UCI vertical interpolation and forcing to Linoz. The rationale behind it is that the linoz in e3sm currently use the linear interpolation that does not conserve mass. The UCI interpolation is implemented to remedy this problem and the associated forcing is also implemented.
Also change linoz_data_file in several use cases from 2015_2010JPL_cmip6_historical_10deg_58km_c20210625.nc to
2017_CMIP6_Hist_10deg_58km_c20230705.nc
Allow output of surface level of 7 tracers (o3, n2o, noy, ch4, h2o, t, o3col).
[CC]
[NML]
This includes 3 commits, and basically on the UCI interpolation algorithm change & the i/o structure (commit 1), adding global average ch4 input (commit 2), and other compsets change for forcing files (commit 3).
Commit 1
Commit 2
Commit 3
a. 1850_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml
b. 2010_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml
c. 20TR_eam_CMIP6_chemUCI-Linoz-mam5-vbs.xml
d. scm_arm97_chemUCI-Linoz-mam5-vbs.xml
e. scm_generic_chemUCI-Linoz-mam5-vbs.xml
Figures and diagnostics
The diagnostic package of the results is tested against alpha01 master results of Golaz, the link for our results is summarized in here. Due to a new bug fix, the latest fixed results are updated here.
Related-PRs
This PR concerns two PR in v3atm and one PR in master shown below:
E3SM-Project/v3atm#62
E3SM-Project/v3atm#64.
#5831