Opened 16 years ago

Closed 16 years ago

#163 closed enhancement (fixed)

DMI ropp_io updates

Reported by: Huw Lewis Owned by: Huw Lewis
Priority: normal Milestone: 3.0
Component: ropp_io Version: 2.0beta
Keywords: Cc:

Description

Stig proposed a series of minor updates to ropp_io code in order to achieve consistent thinned bending angles with EUMETSAT. These updates need to be integrated into next ROPP release.

Summary of changes proposed for next release:

1) ropp2bufr.f90:

Fixing a bug on line 831 (lon = lon - 360 instead of lon = 360 - lon).

Widening range-check values on L1, L2, LC BAs to [-1e-3 : 8.288e-2]

2) ropp_io_thin_select.f90

Check on values instead of levels (line 130)

3) ropp_io_thin_fixed.f90

Deleted condition to skip interpolation if two impact parameters 
are less than 0.1 m apart (lines 273 and 329 in original code 
deleted)

4) ropp_io_types.f90

Increased upper limit on azimuth from 359.9 to 360.0.


Attachments (4)

ropp2bufr.f90 (87.7 KB ) - added by Huw Lewis 16 years ago.
updated ropp2bufr.f90 file
ropp_io_thin_fixed.f90 (13.0 KB ) - added by Huw Lewis 16 years ago.
updated ropp_io_thin_fixed.f90 file
ropp_io_thin_select.f90 (8.1 KB ) - added by Huw Lewis 16 years ago.
updated ropp_io_thin_select.f90 file
ropp_io_types.f90 (35.2 KB ) - added by Huw Lewis 16 years ago.
updated ropp_io_types.f90 file

Download all attachments as: .zip

Change history (6)

by Huw Lewis, 16 years ago

Attachment: ropp2bufr.f90 added

updated ropp2bufr.f90 file

by Huw Lewis, 16 years ago

Attachment: ropp_io_thin_fixed.f90 added

updated ropp_io_thin_fixed.f90 file

by Huw Lewis, 16 years ago

Attachment: ropp_io_thin_select.f90 added

updated ropp_io_thin_select.f90 file

by Huw Lewis, 16 years ago

Attachment: ropp_io_types.f90 added

updated ropp_io_types.f90 file

comment:1 by Huw Lewis, 16 years ago

Reply from Dave:

> 
> Summary of changes proposed for next release:
> 
> 1) ropp2bufr.f90:
> Fixing a bug on line 831 (lon = lon - 360 instead of lon = 360 - lon).
> Widening range-check values on L1, L2, LC BAs to [-1e-3 : 8.288e-2]

OK, we agreed the wider limits on all BA values. Sorry about the L831 bug 
- obviously a value of 270 is intended to throw to -90 not +90.

[But if all longitudes 180-360deg are being thrown East instead of West, 
that would surely have given some very poor O-B results? Since we don't 
have any obvious problem, it must be that all longitudes are already 180 
to +180 for GRAS and CHAMP/GRACE-A??]


> 2) ropp_io_thin_select.f90
> Check on values instead of levels (line 130)

I'm not ready to sign that one off without looking more closely at the 
implications. Levels were tested for a good reason (GRAS IPs were rubbish). 
Even if GRAS no longer has such missing values, clearly they can (and have) 
been present so a test should still be made.

[range_check() should have caught any invalid IPs, so only 'missing' ones 
need he checked here.]

> 3) ropp_io_thin_fixed.f90
> Deleted condition to skip interpolation if two impact parameters are 
> less than 0.1 m apart (lines 273 and 329 in original code deleted)

I'm not particularly happy to have real .EQ. real tests in general, but 
here we only need to guard against div-by-zero errors, so the values 
only need to be different (and if now pre-sorted, they won't be in the 
wrong order). I'd still be happier to keep the test, but reduce the 
threshold (say 0.001m).

> 4) ropp_io_types.f90
> Increased upper limit on azimuth from 359.9 to 360.0.

I don't agree with that one. Any azimuth >= 360.0 should throw to 0.0.
If you want to retain more decimal places (e.g. 359.999) then if 360.0 
is the limit, ensure the test in range_check() should be for .GE. not 
just .EQ. (BUFR only goes to 1 d.p. so 359.9 is appropriate for that 
separate test).

comment:2 by Huw Lewis, 16 years ago

Resolution: fixed
Status: newclosed

See [2098]

Updated thinner routines in line with Stig reccommendations from tests of DMI thinning vs EUMETSAT. See #163.

1) ropp2bufr Bug fix on longitude wrapping and widen bending angle valid range in ropp2bufr.

2) ropp_io_thin_select Testing for BOTH valid data and valid levels in finding good data.

3) ropp_io_thin_fixed Reduced minimum impact parameter interval from 10 cm to 1 mm in testing for interpolation between impact parameters (guards against divide by zero, but will generally allow for 'close' impact parameters).

4) No change to ropp_io_types See comment from Dave above.

Incorporated most significant elements from Stig's updates for ROPP-3. Ticket closed as fixed.

Note: See TracTickets for help on using tickets.