-
Notifications
You must be signed in to change notification settings - Fork 7
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
Bad coupler diagnostics #44
Comments
I tried setting Segfault was user error. Diagnostic coupler fields here have the same 32/64 bit issue as OM3 |
Not sure if this helps, but is |
FYI
|
Using this commit I've output instantaneous snapshots of all fields every timestep for a 2-step run:
This includes state fields |
The input files
yields
Not sure where the conversion from single to double precision is occurring. Could be in DATM or CMEPS I suppose. |
DATM's exported fields are all double precision |
The diagnostic fields are written by routine Perhaps the PIO write isn't as flexible with mixed types as plain netCDF? |
Aha! Thanks @MartinDix, I was also looking through that bit of code but you nailed it first. For the record, here's the offending line: |
So is the underlying bug in |
If PIO passes things straight to netCDF the conversion should work. Need to have a look at the PIO tests. |
We need to check if this issue is still present in the latest version of the code. |
It may be the pio_initdecomp: or the lfillvalue, which are both hardcoded double / real8 and don't adjust for use_float. I suggest we just put in a patch for |
#100 should fix this issue for us by using doubles, which is probably what we want to use anyway to properly check coupling is correct. However it uses a patch, so it would be better to have this fixed upstream for when we update our CMEPS version. I think we should post an issue on the CMEPS repo if this bug is still present on the CMEPS main branch. It still uses |
I went for a patch because the real fix requires more investigation and changes - (assuming support for singles is needed). That probably doesn't preclude us raising an issue though. Ok - ill do a build without the patch and using CMEPS main branch and see what happens. |
thanks @anton-seaice |
I built with CMEPS main and confirmed the error still exists: ![]() And raised with ESCOMP: Shall we close this issue? Or park it to see if there is a CMEPS fix? |
Thanks @anton-seaice let's use your patch for now but leave the issue open until we adopt a fix from upstream, at which point we can remove your patch and close the issue. |
The fix for this has gone in, see ESCOMP/CMEPS#488 we can remove the patch and test next time we update the components |
The fix was included through #250 , mediator output works |
There seems to be a 32/64 bit mixup in some coupler diagnostics - see #40 (comment)
The text was updated successfully, but these errors were encountered: