Opened 6 years ago

Closed 5 years ago

Last modified 4 years ago

#638 closed task (fixed)

svn merge of cb_tp_bending [5 d]

Reported by: Ian Culverwell Owned by: Ian Culverwell
Priority: normal Milestone: ROPP9.1 carry over
Component: ropp_utils Version: 9.0
Keywords: Cc:

Description

Attachments (1)

lonlataz_interp.png (53.6 KB ) - added by Ian Culverwell 5 years ago.
lonlataz_interp.png

Download all attachments as: .zip

Change history (11)

comment:1 by Ian Culverwell, 5 years ago

Equivalent changes have been introduced at r5901.

Notes:

  • We still have separate ropp_pp_occ_tool ropp_pp_invert_tool programs, so the implementation is a little hard. But it compiles OK.
  • We haven't (yet) included ropp_pp_interpolate_latlonaz.f90 in the build (that's to be done in #613), so I've just used go_l1_ip = bangle%impact_L1 rather than bangle%impact in the four calls to ropp_pp_interpol. Note that this is enough to break the make test tests:
    test_pp_occ.sh     
     
    Running t_pp_occ_1 (PP occ; default options) ...
    
    ----------------------------------------------------------------------
                         ROPP PP File Comparison Tool
    ----------------------------------------------------------------------
    
    INFO (from ropp_pp_compare):  Comparing ropp_pp_test_2m.nc and ../data/ropp_pp_test_2m_reference.nc:
       the results of running test t_pp_occ_1 (PP occ; default options)
     
    ERROR (from ropp_io_fields_compare):  Profile 1 Lev1b%lat_tp values ARE significantly different: |diff| =                   1.68866E+00 >  1.00000E-04
     
    ERROR (from ropp_io_fields_compare):  Profile 1 Lev1b%lon_tp values ARE significantly different: |diff| =                   4.40170E-01 >  1.00000E-04
     
    ERROR (from ropp_io_fields_compare):  Profile 1 Lev1b%azimuth_tp values ARE significantly different: |diff| =               7.35844E-01 >  1.00000E-02
    INFO (from ropp_pp_compare):  Differences occurred in profile 1
    INFO (from ropp_pp_compare):  3 elements of ropp_pp_test_2m.nc and ../data/ropp_pp_test_2m_reference.nc differ significantly
    ****************************
    ********** *FAIL* **********
    ****************************
    ... examine t_pp_occ_1.log for details
    

Likewise for test_pp_occ_gnos.sh and test_pp_rs.sh, which use ropp_pp_occ_tool, so we end up with a final test table looking like

************************* COMPARISON OF MODULE TEST RESULTS **************************
--------------------------------------------------------------------------------------
|                   Test name    |              Description       |    Run? |  PASS? |
--------------------------------------------------------------------------------------
|                  t_pp_invert_1 |     PP invert; default options |     Run |  PASS  |
|                     t_pp_occ_1 |        PP occ; default options |     Run | *FAIL* |
|                t_pp_occ_gnos_1 |              PP occ; GNOS data |     Run | *FAIL* |
|                      t_pp_rs_1 | PP raw sampling; default optio |     Run | *FAIL* |
|                    t_pp_abel_1 |          PP Abel/Inv; def opts |     Run |  PASS  |
|                t_pp_spectra_1a |    PP spectra; def opt (L1 dt) |     Run |  PASS  |
|                t_pp_spectra_1b |    PP spectra; def opt (L2 dt) |     Run |  PASS  |
|                t_pp_spectra_1c |    PP spectra; def opt (L1 ep) |     Run |  PASS  |
|                t_pp_spectra_1d |    PP spectra; def opt (L2 ep) |     Run |  PASS  |
|                    t_pp_wopt_1 |         PP WOPT; quick options |     Run |  PASS  |

This is probably OK - the differences are rather small. But it beard recording. I will need to update the test reference file. This may also affect the test folder. UG needs updating too.

comment:2 by Ian Culverwell, 5 years ago

Also: where's a decent reference to the method? Code refers to Foelsche et al. AMT 2011, but I can't find anything relevant. Ask Stig.

comment:3 by Ian Culverwell, 5 years ago

Reference:

@Article{Foelsche2011a,
  Author         = {Foelsche, U., Syndergaard, S., Fritzer, J. and Kirchengast, G.},
  Title          = {Errors in {GNSS} radio occultation data: relevance of the 
                    measurement geometry and obliquity of profiles},
  Journal        = {Atmospheric Measurement Techniques},
  Volume         = {4},
  doi            = {doi:10.5194/amt-4-189-2011},
  Pages          = {189--199},
  year           = 2011
}

added to ropp_templates/bibtex/bib/meteorology.bib, and included in header of ropp_utils/coordinates/tangent_point.f90.

comment:4 by Ian Culverwell, 5 years ago

The difference in the lons, lats and azis brought about by the use of bangle%impact_L1 rather than bangle%impact as the independent variable in the call to ropp_pp_interpol is shown in lonlataz_interp.png It's around a degree in all the variables at the bottom of the profile - not insignificant. Expect effects on the test folder.

by Ian Culverwell, 5 years ago

Attachment: lonlataz_interp.png added

lonlataz_interp.png

comment:5 by Ian Culverwell, 5 years ago

(Likewise for the differences in the results of test_pp_occ_gnos.sh and test_pp_rs.sh.)

comment:6 by Ian Culverwell, 5 years ago

Note that these changes are not relevant to ropp_pp_invert_tool, though the change effected at r5595 - namely the bug-fix

        WHERE ( out_ba%impact_L1 > config%Pmax - 5000.0_wp )

to

  	WHERE ( out_ba%impact_L1 > out_ba%impact_L1(imax) ) 
  • probably should. When DMI talk about 'occ' now, they mean 'occ'+'invert'. This inconsistency should really be addressed now, though it could involve a lot of work in documentation, test suites (auto and test folder), etc. Open new ticket #654 on it for ROPP10.0.

comment:7 by Ian Culverwell, 5 years ago

Updated ropp_pp reference files have been committed at r5902.

comment:8 by Ian Culverwell, 5 years ago

Reference manual changes committed at r5903; bibliography updated at r5904; ROPP_PP user guide changes committed at r5905.

comment:9 by Ian Culverwell, 5 years ago

Resolution: fixed
Status: newclosed

Closing ticket. Expect this work to be re-examined when the occ and invert unification is addressed in #654.

comment:10 by Ian Culverwell, 4 years ago

Stig pointed out a problem with the condition

            IF ( ANY(ro_data%georef%r_coc < ropp_MDTV) ) THEN

in ropp_pp_occ_tool.f90. Valid components of r_coc can easily be > 10 km (~ropp_MDTV), and therefore fail the condition. He proposes the replacement

            IF ( ANY(ro_data%georef%r_coc < 10.0_wp*ropp_MDTV) ) THEN

This tests out OK, so commit change to trunk at r6545.

Note: See TracTickets for help on using tickets.