-
Notifications
You must be signed in to change notification settings - Fork 8
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
Upgrade 1-Degree to 025-Degree RYF Configuration #48
Upgrade 1-Degree to 025-Degree RYF Configuration #48
Conversation
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.
Well done Ezhil! Apologies for many questions!
Can you rebase this to use the latest RYF config changed please?
5. Used a default ice initial condition for cold start, which will be updated with the initial conditions generated by running this configuration for a longer period.
For the 1deg we used initial conditions from 3 hour run of OM2, did we still want to generate those?
Shall we update ice_in
to match the OM2 config now or in a later PR?
Does @minghangli-uni have suggestions for performance changes or is that also a later PR?
Shall we try and make a clean commit history to explain each change of somesort? (Or is this all one merge commit?)
I suggest so. For This is the updated
The default
With the updated
A clean commit history is better for users to track and understand changes made. |
Thanks @minghangli-uni . I think you can push that change straight to this branch (025deg_jra55do_ryf_iss101), or if your prefer, make a PR into this branch for Ezhil to review first. |
Sure thing. I can make a PR into this branch soon. |
MOM_input
Outdated
@@ -1,7 +1,7 @@ | |||
! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6). | |||
|
|||
! === module MOM === | |||
DT = 1800.0 | |||
DT = 1350.0 |
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.
Should DT_THERM
be an integer multiple of DT
?
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.
Ideally, DT_THERM
should be an integer multiple of DT
and less than the forcing or coupling time-step (DT = 1350.0). However, there are no warnings or errors with the current DT_THERM
but we have to reduce it, any thoughts @aekiss ?
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.
If we want to do what you've done here, we'll also need to set THERMO_SPANS_COUPLING = True
, which may require some testing.
But do we really want to change the coupling timestep? Is this done only because the CICE and coupling timesteps are currently linked? Could we instead try to relax this requirement?
(Sorry, lot's of questions)
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 issue will be handled in a separate PR as discussed 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 think we need to decide what to do about DT_THERM
here. The current settings are confusing:
DT_THERM > DT
but THERMO_SPANS_COUPLING = False (by default)
.
With these settings, I think the value of DT_THERM
in the MOM_input
will not be used - instead DT_THERM
will be reset internally to DT
. If we do want to have DT_THERM > DT
we need to set THERMO_SPANS_COUPLING = True
which will require we also change to DIABATIC_FIRST = False
due to limitations in the MOM6 NUOPC cap.
Thoughts @aekiss?
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's certainly confusing. Do we set single_step_call
anywhere? It defaults to true, in which case DT
, DT_THERM
and THERMO_SPANS_COUPLING
are ignored, according to this.
Additional relevant documentation in MOM6 cap is 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.
As discussed in today's meeting, let's do option 1 for now.
We can then explore option 2 with different DT_THERM
in subsequent tests and PRs. (Note that when THERMO_SPANS_COUPLING = True
, DT_THERM
will be rounded down to an integer number of coupling timesteps.)
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.
Given how confusingly these parameters interact, it will be good to have MOM_parameter_doc.*
added to the repos to provide a sanity check on what is actually being used for the tests when we do option 2 - see COSIMA/access-om3#117. We could do this manually until CI is in place to automate 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.
In option 2, if DT_THERM
exceeds the coupling timestep, but the coupling timestep matches the dynamic timestep in CICE and baroclinic DT
in MOM6, would it make sense to set the thermo timestep in CICE to match that in MOM?
This would involve setting ndtd
in CICE to DT_THERM/DT
and setting the CICE thermo timestep to ndtd*DT
.
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.
Open question: can CICE run with a thermo timestep greater than the coupling timestep?
There's an ongoing discussion about the ice initial conditions as highlighted in issue #50. We initially used the default option due to uncertainties in using OM2-generated initial conditions when switching to a C-grid, as discussed here. The question remains: should we generate these initial conditions? or leave running the current configuration for a longer duration and examining the ice area output can provide insights into whether using OM2-generated initial conditions is needed or not. |
d5d6449
to
5224c31
Compare
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.
Thank @ezhilsabareesh8. A couple of initial comments. I'd still like to try and run the configuration, but I haven't had time today.
I think we maybe need to discuss whether we really want to be changing the coupling timestep here (and if so, what we want to do with MOM's thermodynamic timestep).
Also, from what I can tell the tool to generate the CICE grid isn't yet finialised. Should this wait until there is a single established tool?
MOM_input
Outdated
@@ -1,7 +1,7 @@ | |||
! This input file provides the adjustable run-time parameters for version 6 of the Modular Ocean Model (MOM6). | |||
|
|||
! === module MOM === | |||
DT = 1800.0 | |||
DT = 1350.0 |
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.
If we want to do what you've done here, we'll also need to set THERMO_SPANS_COUPLING = True
, which may require some testing.
But do we really want to change the coupling timestep? Is this done only because the CICE and coupling timesteps are currently linked? Could we instead try to relax this requirement?
(Sorry, lot's of questions)
@ezhilsabareesh8 I see you just force-pushed changes which has made Github think that some of my review comments are outdated. Please view my comments in this conversation, rather than in the "Files changed" tab, where a number of comments have disappeared. |
I think we should generate the initial conditions, so that
|
I guess we could reduce the CICE timestep without reducing the coupling timestep? Is that what you are thinking? Isn't changing the coupling timestep here just matching the OM2 configuration?
I think we should progress:
|
@dougiesquire In the current NUOPC setup, if the coupling timestep exceeds or equals 1800s, below two issues popped up,
From my perspective, the issues mainly stem from CICE, irrespective of the values assigned to |
Yeah, really just wondering whether that's even sensible. Probably not. And yeah, in OM2 the atmosphere-to-ice coupling is fixed at 3 hourly, but the ice-to-ocean coupling changes with the ocean-baroclinic/ice-thermodynamic timestep (which are the same). In MOM6 we have to think about what we want to do with |
Okay, so maybe we don't really have a choice (at least for now). Changing the coupling timestep along with the ice and mom-baroclinic timesteps is certainly the easiest approach and aligns best with OM2. So the question that remains is what to do now with (P.S. the reason I'm so hung up on |
For reference, Kieran did test a patch to the CICE nuopc driver to run cice several times per coupling timesteps when he was messing around with the atmosphere coupling. It's looking like it won't be needed though. |
Also - can someone make the 025deg_jra55do_ryf branch write protected? |
@dougiesquire These two COSIMA/mom6-panan#28 and https://github.com/jsimkins2/nwa25/tree/main/run could be useful for For a quick update, my current test case with |
Did you also set |
No. |
If you do not set |
It was discussed in https://forum.access-hive.org.au/t/namelist-configuration-discussion-meeting/1917/8 and agreed to better leave it in default first. |
Hi @minghangli-uni, did you change 'DIABATIC_FIRST' to true in the '1deg_jra55do_ryf' branch?. Since this PR is rebased from that. |
b2a31a0
to
6eee1f6
Compare
For |
I think the ADDED: Of course, that is, unless we decide to have |
Do we also want to merge this or do that as a separate PR? |
Thanks @dougiesquire, yes that would be great. |
This is a reasonable default, I haven't investgated in detail.
Co-authored-by: Dougie Squire <[email protected]>
Co-authored-by: Dougie Squire <[email protected]>
043f97b
to
2e34841
Compare
I think the changes in https://github.com/COSIMA/MOM6-CICE6/tree/025deg_jra55do_ryf_iss135 that aren't already included in this PR should be handled in separate PR(s). @minghang, can you have another look at the changes here to check that you're happy with them before we merge. The CICE |
Hi @dougiesquire My account is @minghangli-uni instead of @minghang, which you have been referring to. Regarding the parameters Given that we have reliable references to validate these parameter values, I prefer to maintain I am happy for the rest of the change. |
Whoops, sorry! |
No problem at all. I'm concerned about you quoting the wrong person, and I might not receive your message in time. |
The larger block sizes seem like a more sensible default :) Feel free to mess with the numbers as much as you would like during the profiling work. The cice doco states:
So moving to bigger blocks rather than increasing max_blocks might make sense. Also see https://cice-consortium-cice.readthedocs.io/en/main/user_guide/ug_implementation.html#fig-distribscorecard . I don't know why we use 'sectrobin' either. Anyway - this is for future work, not this PR :) |
So this ran for me, but it took 19 hours to complete 1 year-long run. Is that expected? |
Yes, with the current configuration, using |
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.
Thanks @ezhilsabareesh8 et al. LGTM and ran as is.
Can this get merged ? |
@ezhilsabareesh8 we're happy for you to merge |
Thanks @dougiesquire , I will merge then |
This pull request addresses the upgrade of the 1-Degree RYF configuration to a higher resolution of 0.25-Degree RYF configuration.
Changes Implemented:
A new CICE grid has been generated from the MOM super grid to resolve the longitude mismatch issue in these PRs 1 and 2
The CFL violation error caused by bad departure points has been fixed by adjusting the time step of CICE and MOM, similar to OM2 quarter-degree configurations. Note that only the time step has been changed and
ndtd
is not changed to avoid truncation errors in MOM6 refer here.Fixed Restart File Issue: Multiple restart files were being generated by MOM6 due to netCDF file limits. This issue has been addressed and fixed in this PR.
Updated
datm_in
,drof_in
, andnuopc.runconfig
files with a nomask ESMF mesh file for atmosphere and runoff components to resolve NaN.Used a default ice initial condition for cold start, which will be updated with the initial conditions generated by running this configuration for a longer period.
All input files for this configuration have been updated with OM2 input files refer here.
This 025 degree configuration has been tested and executed for two years without encountering any errors.
Note that the MOM6 parameters listed here needs to be updated and the block size in
ice_in
needs to be optimised for performance.