ecmwf / fckit

A Fortran toolkit for interoperating Fortran with C/C++
https://confluence.ecmwf.int/display/fckit
Apache License 2.0
29 stars 13 forks source link

test_field_wrapdataslice failure #44

Open DJDavies2 opened 1 week ago

DJDavies2 commented 1 week ago

What happened?

This test fails like this:

105: /spice/scratch/frwd/cylc-run/mi-be984/work/1/git_clone_atlas/atlas/src/tests/field/fctest_field_wrap.F90:121: warning: FCTEST_CHECK_EQUAL(data(i,j,l) , real(1000i+100j+10*k+l,c_double) ) 105: --> [ 1.1210000000000000E+03 != 1.1120000000000000E+03 ]

What are the steps to reproduce the bug?

Build with NAG and run this ctest.

Version

head of develop

Platform (OS and architecture)

Linux, nagfor

Relevant log output

No response

Accompanying data

No response

Organisation

Met Office

DJDavies2 commented 1 week ago

I don't know if there is a solution for this. I think the code as it stands isn't standard conforming; the implementation relies on this:

stridesf = array_strides(data)

in atlas_Field_wrap pass data by reference but there is nothing in the Fortran standard that guarantees that; it can be passed via copy in/copy out and it seems that this is what nag is doing.

DJDavies2 commented 1 week ago

Sorry, I should clarify, the test failure above is actually at atlas test failure. So perhaps this should be opened there. However I think the fckit code is problematic.