Skip to content

Commit a32ab03

Browse files
Merge pull request #984 from NCAR/nan_check_attributes
bug-fix: adds check to ensure attribute values that are NaNs are consistent across restarts
2 parents 482d18b + 66fc08d commit a32ab03

File tree

7 files changed

+30
-6
lines changed

7 files changed

+30
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ convert_amsu_L1
171171
convert_L2b
172172
convert_goes_ABI_L1b
173173
MOD29E1D_to_obs
174+
hf_to_obs
174175

175176
# Test programs built by developer_tests
176177
rttov_test

CHANGELOG.rst

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ individual files.
2222

2323
The changes are now listed with the most recent at the top.
2424

25+
**November 13 2025 :: HF Radar converter. Tag 11.19.0**
26+
27+
New features:
28+
29+
- High Frequency (HF) Radar ocean observation converter
30+
- ROMS–Rutgers: Option to use Sea Surface Height from the template file,
31+
assuming the ensemble mean is provided in that file.
32+
33+
Bug-fix:
34+
35+
- Corrected consistency check across restarts when fill or missing attributes are NaN.
36+
2537
**November 11 2025 :: Aether Cube Sphere. Tag v11.18.0**
2638

2739
- Aether cube sphere interface added to DART.

assimilation_code/modules/io/io_filenames_mod.f90

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -718,7 +718,12 @@ subroutine check_attribute_value_r4(ncFile, filename, ncVarID, att_string, spval
718718
real(r4) :: ret_spvalR4
719719

720720
if ( nf90_get_att(ncFile, ncVarID, att_string, ret_spvalR4) == NF90_NOERR ) then
721-
if (ret_spvalR4 /= ret_spvalR4) then
721+
if (ret_spvalR4 /= ret_spvalR4) then ! ret_spval is NaN
722+
if (.not. (spvalR4 /= spvalR4)) then ! spval is not NaN, so they are not the same
723+
write(msgstring,*) ' variable attribute, ', trim(att_string), ' in state', spvalR4, &
724+
' does not match ', trim(att_string), ' ', ret_spvalR4, ' in ', trim(filename)
725+
call error_handler(E_ERR, 'check_attribute_value_r4', msgstring, source)
726+
end if
722727
return
723728
endif
724729
if (spvalR4 /= ret_spvalR4) then
@@ -746,7 +751,12 @@ subroutine check_attribute_value_r8(ncFile, filename, ncVarID, att_string, spval
746751
real(r8) :: ret_spvalR8
747752

748753
if ( nf90_get_att(ncFile, ncVarID, att_string, ret_spvalR8) == NF90_NOERR ) then
749-
if (ret_spvalR8 /= ret_spvalR8) then
754+
if (ret_spvalR8 /= ret_spvalR8) then ! ret_spval is NaN
755+
if (.not. (spvalR8 /= spvalR8)) then ! spval is not NaN, so they are not the same
756+
write(msgstring,*) ' variable attribute, ', trim(att_string), ' in state', spvalR8, &
757+
' does not match ', trim(att_string), ' ', ret_spvalR8, ' in ', trim(filename)
758+
call error_handler(E_ERR, 'check_attribute_value_r8', msgstring, source)
759+
end if
750760
return
751761
endif
752762
if (spvalR8 /= ret_spvalR8) then

conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
author = 'Data Assimilation Research Section'
2222

2323
# The full version, including alpha/beta/rc tags
24-
release = '11.18.0'
24+
release = '11.19.0'
2525
root_doc = 'index'
2626

2727
# -- General configuration ---------------------------------------------------

guide/available-observation-converters.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ Each directory has at least one converter:
2525
- ``GRACE``: See ``DART/observations/obs_converters/GRACE``
2626
- ``GSI2DART``: :doc:`../observations/obs_converters/GSI2DART/readme`
2727
- ``GTSPP``: :doc:`../observations/obs_converters/GTSPP/GTSPP`
28+
- ``HFradar``: :doc:`../observations/obs_converters/HFradar/readme`
2829
- ``MADIS``: :doc:`../observations/obs_converters/MADIS/MADIS`
2930
- ``MIDAS``: :doc:`../observations/obs_converters/MIDAS/MIDAS_to_obs`
3031
- ``MODIS``: :doc:`../observations/obs_converters/MODIS/MOD15A2_to_obs`

observations/obs_converters/HFradar/hf_to_obs.f90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,9 @@ program hf_to_obs
6767
integer :: num_copies = 1, & ! number of copies in sequence
6868
num_qc = 1 ! number of QC entries
6969

70-
character(len=30), dimension(3) :: obs_names = ['Eastward Sea Water Velocity' , &
70+
character(len=30), dimension(3) :: obs_names = ['Eastward Sea Water Velocity ' , &
7171
'Northward Sea Water Velocity', &
72-
'Radial Sea Water Velocity' ]
72+
'Radial Sea Water Velocity ' ]
7373

7474
character(len=256) :: next_infile, instrument
7575
character(len=512) :: string1, string2, string3

observations/obs_converters/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,7 @@ converters) include:
377377
- ``GRACE``: See ``./GRACE``
378378
- ``GSI2DART``: :doc:`./GSI2DART/readme`
379379
- ``GTSPP``: :doc:`./GTSPP/GTSPP`
380-
- ``HFradr``: :doc:`./HFradr/readme`
380+
- ``HFradar``: :doc:`./HFradar/readme`
381381
- ``MADIS``: :doc:`./MADIS/MADIS`
382382
- ``MIDAS``: :doc:`./MIDAS/MIDAS_to_obs`
383383
- ``MODIS``: :doc:`./MODIS/MOD15A2_to_obs`

0 commit comments

Comments
 (0)