-
Notifications
You must be signed in to change notification settings - Fork 25
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
new CESM stream relaxation capability for sss and sst #342
new CESM stream relaxation capability for sss and sst #342
Conversation
@mvertens @matsbn |
@TomasTorsvik - this capability is used in many places in CESM to obtain forcing (CAM, CTSM, POP) and of course all of the CDEPS data components. The way I implemented this was to only activate this in CESM - and let ben02 still have backwards compatibility. The key issue is that I wanted to make sure that you could still do stand-alone testing without needing to compile in CDEPS (which then requires PIO2 and ESMF). |
@mvertens - thanks for the explanation, generally speaking the suggested changes look reasonable to me. I just wanted to point out that the code change removes calls to some functions provided by |
@TomasTorsvik - sorry for not being clear. Yes - those changes were only needed for cesm - so they were removed. My goal was to still keep the namelist variables srxday and trxday the same for both stand-alone and cesm - but when using cesm those variables would trigger the new stream functionality. |
fmltfz, sfl, ztx, mty, ustarw, slp, abswnd, & | ||
lamult, lasl, ustokes, vstokes, atmco2, atmbrf, & | ||
flxdms, flxbrf | ||
use mod_ben02, only: initai, rdcsic, rdctsf, fnlzai |
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.
It seems these functions are no longer used anywhere in BLOM after this PR. Is that intentional?
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.
Actually there are calls to initai, rdcsic and rdctsf in mod_ben02.F in the routine inifrc_ben02clim
c --- Prepare interpolation of surface fields.
call initai
c
c --- Read climatological sea-ice concentration.
call rdcsic
c
c --- Read climatological surface temperature.
call rdctsf
And inifrc_ben02clim is called from inifrc.F90 if expcnf is 'ben02clim' - so I don't think we can remove these routines unless ben02clim is a mode that will no longer be used. Am I missing something?
…ion file for all model resolutions with cesm
Great with stream capability for BLOM relaxation fields in NorESM! If I'm not mistaken, it seems the stream capability requires NUOPC and that the old relaxation procedure is unavailable with MCT. OMIP type experiments, that require SSS relaxation, with MCT is still used a lot for testing, so it would be good to find a way to still support those use cases. |
@matsbn - thanks for pointing this out. The stream capability is actually available with the data functionality in mct. Its just that its must less flexible. I will add this in. However, as we move to 2.5 - mct will no longer exist so at some point we need to decide when blom master will no longer support it. |
Just to add - testing the mct stream capability will need to be done in the noresm2.3 code base and not the noresm2.5 code base. |
@matsbn @TomasTorsvik - after some more prototyping I've concluding that your original suggestion today of using the original interpolation for mct was actually easier. The problem is that additional domain files need to be specified for mct - and that makes things a lot more complicated. I've introduce a new namelist use_stream_relaxation that is set to .true. for nuopc and .false. for mct by default - and the code triggers off of this namelist and is therefore backwards compatible with mct but allows new stream usage for nuopc. I've pushed that back to this PR - and verified that using this branch in noresm2_3_develop for SMS_D_Ld1.T62_tn14.NOINYOC.betzy_intel works. |
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 that is a good and pragmatic choice for MCT, thanks!
This introduces new CDEPS stream capability for use of BLOM in CESM to permit new relaxation to salinity and temperature.
The capability is still triggered by trxday and srxday - but the new time and spatial interpolation are done in the new files:
drivers/nuopc/ocn_stream_sss.F90 and drivers/nuopc/ocn_stream_sst.F90
This capability permits spatial interpolation of forcing data as well as the ability to use multi-year time samples (for example daily data for a number of years). The data is not all read in at once - but only two time periods are read in at a time to do the time interpolation. The advantage of this new capability is that only one relaxation file can be specified and can be used for multiple resolutions.
The code uses the CDEPS inline stream capability in $SRCROOT/components/cdeps/streams.
New namelist groups stream_sss and stream_sst are introduced that turn this new capability on:
Still to do: