NCAR / DART

Data Assimilation Research Testbed
https://dart.ucar.edu/
Apache License 2.0
189 stars 142 forks source link

Formatting fix for the write to obs_seq.final with cce #491

Open mjs2369 opened 1 year ago

mjs2369 commented 1 year ago

Description:

There are inconsistencies in the obs_seq.final formatting across compilers on Gust. Specifically, the cce compiler produces an output of 2*-1 rather than -1 -1 (for intel and ifx) for obs%prev_time, obs%next_time, and obs%cov_group

I added formatting to the write statement on line 2508 of obs_sequence_mod.f90

Fixes issue

Fixes #484

Types of changes

Documentation changes needed?

Tests

Ran filter with lorenz_96 on Gust with intel and cce, compared obs_seq.final files.

Checklist for merging

Checklist for release

Testing Datasets

mjs2369 commented 1 year ago

@hkershaw-brown there is still a bit of difference in these lines of the obs_seq.final. The first is with Intel, the second with cce after the formatting was added:

       39999          -1          -1
   39999,      -1,      -1

I added commas to the format statement because they are present in the obs_seq.final originally with cce. But they aren't with Intel. Similarly, there's extra spaces between values with intel.

Do you think we should make them look identical in these ways as well?

mjs2369 commented 1 year ago

With edits made, the writes for obs%prev_time, obs%next_time, and obs%cov_group output as such for the different compilers.

intel:
       39999          -1          -1
gfortran:
       39999          -1          -1
cce:
   39999      -1      -1

cce is just missing some spacing.

mjs2369 commented 1 year ago

Final edits fix the inconsistencies in the spacing so that all compilers produce the exact same output. This also matches the formatting for intel and gfortran on Cheyenne.

intel:
       39999          -1          -1
gfortran:
       39999          -1          -1
cce:
       39999          -1          -1