-
Notifications
You must be signed in to change notification settings - Fork 313
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
Fix and improve anomaly forcings for ISSP cases #2686
base: master
Are you sure you want to change the base?
Conversation
Instead of having to specify anomaly_forcing = 'Anomaly.Forcing.Precip', 'Anomaly.Forcing.Temperature', etc.
Branch ssp-fix: Fix more typos of "anomaly."
Branch ssp-fix: Add Anomaly.Forcing.cmip6.ssp126.
ssp-fix branch: Add Anomaly.Forcing.cmip6.245, 370, 585.
Branch ssp-fix: Merge tag 'cdeps1.0.34' into ssp-fix
Branch ssp-fix: "anomaly_forcing now automatically set based on compset (ISSP*)." Also updates testmods accordingly.
Branch ssp-fix: Now actually sets anomaly_forcing based on compset.
0a71fe6
to
728257b
Compare
Branch ssp-fix: Only set anomaly_forcing for DATM SSP compsets.
Branch ssp-fix: Provide hint in error message if namelist variable invalid due to surrounding quote marks.
Branch ssp-fix: Make datm buildnml more robust.
To match what's run in aux_clm.
Branch ssp-fix: Bugfix to future-proofing of datm buildnml.
Marking as blocked while I wait on the ESCOMP/CDEPS#292 PR. |
@ekluzek Requesting your review as discussed. Note, however, that this is blocked until the CDPS-side PR (ESCOMP/CDEPS#292) is done. I don't have permissions to request your review there. |
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.
Really glad to see this coming in, and appreciate all the work here. I have quite a few suggestions on changes. So we should meet to discuss this and the CDEPS PR.
url = https://github.com/ESCOMP/CDEPS.git | ||
fxtag = cdeps1.0.34 | ||
url = https://github.com/samsrabin/CDEPS.git | ||
fxtag = 25c7b920de8fdf1a90b00276a0d7b003b4a845a9 |
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.
This of course will need to change once we have a tag here.
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 did review the CDEPS PR as well, and have quite a few suggestions there.
@@ -1989,6 +1989,7 @@ | |||
<machines> | |||
<machine name="izumi" compiler="intel" category="aux_clm"/> | |||
<machine name="derecho" compiler="nvhpc" category="aux_clm"/> | |||
<machine name="derecho" compiler="nvhpc" category="ssp"/> |
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.
Ahhh, adding a new testlist for ssp. That sounds interesting.
I do suggest that you use intel or gnu here though, as we know there are problems with nvhpc.
@@ -2513,15 +2514,46 @@ | |||
<option name="comment" >Transient production future scenario SSP3-7.0 case with isotopes with a december 2050 start</option> | |||
</options> | |||
</test> | |||
<test name="SMS_D_Ld5" grid="f09_g17" compset="ISSP126Clm50BgcCrop" testmods="clm/datm_ssp126_anom_forc"> | |||
|
|||
<test name="SMS_D_Ld5" grid="f09_g17" compset="ISSP126Clm50BgcCrop" testmods="clm/default"> |
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 actually shouldn't have a testmod for this. We want to have this handled based on the compset, so you shouldn't need a testmod for it.
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.
Or is this something particular about the ssp126 case? You don't do this with the other SSP's below...
</machines> | ||
<options> | ||
<option name="wallclock">00:20:00</option> | ||
<option name="comment" >Transient production with anomaly forcing future scenario SSP1-2.6 case</option> | ||
</options> | ||
</test> | ||
<test name="SMS_D_Ld5" grid="f10_f10_mg37" compset="ISSP245Clm50BgcCrop" testmods="clm/default"> | ||
<machines> | ||
<machine name="derecho" compiler="intel" category="ssp"/> |
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 think maybe we add this one to aux_clm as well.
@@ -0,0 +1 @@ | |||
flanduse_timeseries = '$DIN_LOC_ROOT/lnd/clm2/surfdata_esmf/ctsm5.2.0/landuse.timeseries_0.9x1.25_SSP2-4.5_1850-2100_78pfts_c240216.nc' |
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.
You shouldn't need to do this. And you are asking for the ctsm5.2 dataset, which isn't going to work.
So I think this testmod should be removed. But, I might be missing something.
@@ -0,0 +1,46 @@ | |||
#!/bin/bash | |||
set -e |
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.
What are these two scripts about? Something temporary needed while the PR is created and then removed at the last moment?
If so that's an interesting strategy that sounds useful.
|
||
Users may wish to also update files such as the landuse\_timeseries and aerosol and Ndepostion files to correspond to the appropriate SSP. | ||
TODO: IS THIS ACTUALLY 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.
Good question.
It could be worth trying it without it to make sure it is required for all the fields. Setting it for some fields was required in the past, but may not be anymore.
@@ -5,41 +5,69 @@ | |||
============================== | |||
Running with anomaly forcing | |||
============================== | |||
Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called 'anomaly forcing'. The anomaly forcing method uses a previously completed fully coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. | |||
Because performing fully coupled climate simulations is computationally expensive, an alternate method of running land-only simulations forced by future climate projections was developed for CTSM called "anomaly forcing." The anomaly forcing method uses a previously-completed, fully-coupled simulation to create monthly anomalies, relative to the present day, of near-surface atmospheric states and fluxes. These anomalies, representing the evolution of future climate projections, are applied to a repeating cycle of present day atmospheric forcing data, either as an additive (for states) or multiplicative (for fluxes) quantity. Thus, high-frequency variability is obtained from the present day atmospheric forcing data, while the long-term evolution of the climate is determined by the anomaly forcing dataset. |
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.
These documentation changes all look good to me, and I'm glad you went ahead and handled it.
I'm just reviewing this, so I took my name off the assignee for it. |
Description of changes
Fixes a bug, and also makes it much simpler to run land-only SSP cases. Depends on ESCOMP/CDEPS#292.
Specific notes
Contributors other than yourself, if any: @ekluzek
CTSM Issues Fixed (include github issue #):
Are answers expected to change (and if so in what way)? Yes, for cases that were being bitten by #2301 before.
Any User Interface Changes (namelist or namelist defaults changes)? Yes; see ESCOMP/CDEPS#292.
Does this create a need to change or add documentation? Did you do so? Yes; yes.
Testing performed, if any:
datm_rcp45_anom_forc
test unaffected as of 4b96267.datm_ssp126_anom_forc
test unaffected as of c4ec313.Remaining work
ssp
test suite: Removedatm_ssp*_anom_forc
testmods, replacing tests using those withdefault
Running-with-anomaly-forcing.rst
ISSP126
test with 10x15ISSP245
test? Would presumably be quicker to get through queue.tmp_scripts/
.