-
Notifications
You must be signed in to change notification settings - Fork 56
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 a diag_send_complete call #101
Add a diag_send_complete call #101
Conversation
@rem1776 - with Niki's comment about sub-stepping in the ocean component, will this fix be sufficient? |
I am not sure. I was under the impression this call would be needed regardless, and other updates would go to the ocean component to handle the sub-stepping if needed. @uramirez8707 @nikizadehgfdl What do you guys think? |
@rem1776 - what's the behavior for diag_send_complete when I call it twice in a row with no new send_data calls in between? This is where we might end up with trouble by having it in both the component and the coupler driver. |
That will not be good. |
Yeah it'd be incrementing the time step along with running the reduction an extra time. |
|
I could try to add that in and then have it ignore any un-needed reductions from extra calls, but would that solve the issues with the ocean model substeps? |
This is going to prevent the math from being done twice: NOAA-GFDL/FMS@efbb9f0 The ocean model substeps still need to call diag_send_complete. If they don't the code will crash with something like: https://github.com/NOAA-GFDL/FMS/blob/bb6de937f70a08a440f5e63b8553b047c1921509/diag_manager/fms_diag_file_object.F90#L1204-L1206 |
Is this going to add on to the model time? I don't think the math needs to be done in fms_diag_send_complete in the ocean model because there isn't any threading. The math should all be done in accept_data |
no it doesn't add to the model time. It just updates the model_time with whatever was passed in send_data. That commit also sets |
…A-GFDL#101)" This reverts commit d15c35a.
Add a diag_send_complete call. This is needed for the new diag manager. It is backwards compatible with the old diag manager.