#644 closed task (fixed)
Get now also platform reference coordinates when running occ_point [1 d]
| Reported by: | Ian Culverwell | Owned by: | Ian Culverwell |
|---|---|---|---|
| Priority: | normal | Milestone: | ROPP9.1 carry over |
| Component: | aftermath | Version: | 11.0 |
| Keywords: | Cc: |
Description
Get now also platform reference coordinates when running occ_point: https://trac.romsaf.org/ropp/changeset/5432/ropp_src/branches/dev/Share/dmi_trunk_9.0
Get now also platform reference coordinates when running occ_point. Remove use of occ_point in ropp_pp_preprocess_grasrs.f90 for two reasons: 1) velocities there are in ECF - we want reference velocities in ECI 2) necessary occ_point info is already in the input ro_data structure
Change history (2)
comment:1 by , 4 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
| Version: | 9.0 → 11.0 |
comment:2 by , 4 years ago
As an aside, I checked the coordinate transformation after the call to occ_point in ropp_pp_occ_tool.f90:
CALL occ_point( ro_data%lev1a%dtime, &
ro_data%lev1a%r_leo, ro_data%lev1a%v_leo, &
ro_data%lev1a%r_gns, ro_data%lev1a%v_gns, &
ro_data%georef%lat, ro_data%georef%lon, &
ro_data%georef%r_coc, ro_data%georef%roc, &
ro_data%georef%azimuth, &
ro_data%georef%undulation, &
ro_data%georef%leo_pod%pos, &
ro_data%georef%leo_pod%vel, &
ro_data%georef%gns_pod%pos, &
ro_data%georef%gns_pod%vel, &
ro_data%georef%time_offset, &
config%egm96, config%corr_egm96)
! Rotate reference velocities to ECI-BUFR (ECI frame aligned to ECF)
ro_data%georef%leo_pod%vel = eci2ecf(ro_data%dtocc%year, ro_data%dtocc%month, &
ro_data%dtocc%day, ro_data%dtocc%hour, &
ro_data%dtocc%minute,ro_data%dtocc%second, &
ro_data%georef%time_offset + &
ro_data%dtocc%msec/1000.0_wp, &
ro_data%georef%leo_pod%vel)
ro_data%georef%gns_pod%vel = eci2ecf(ro_data%dtocc%year, ro_data%dtocc%month, &
ro_data%dtocc%day, ro_data%dtocc%hour, &
ro_data%dtocc%minute,ro_data%dtocc%second, &
ro_data%georef%time_offset + &
ro_data%dtocc%msec/1000.0_wp, &
ro_data%georef%gns_pod%vel)
The input file has
v_gns =
-1288.82484742801, -1288.83517629421, -1288.84550514969, -1288.85583397906, -1288.8661628131,
2414.69485266608, 2414.69467141563, 2414.69449014458, 2414.69430885317, 2414.69412754089,
-2746.90900125233, -2746.90436531614, -2746.89972935637, -2746.89509337995, -2746.89045737304 ;
v_leo =
-2122.93123362148, -2122.90486073667, -2122.8784869507, -2122.85211230285, -2122.82573671451,
-1312.48896794681, -1312.63901259307, -1312.78905665345, -1312.9390999044, -1313.08914279312,
6995.11622736296, 6995.09566702654, 6995.07510370152, 6995.05453741855, 6995.03396811631 ;
Without eci2ecf rotation we get
v_gns_ref =
-1327.339, 2413.874, -2729.425 ;
==> |v_gns_ref| = 3877.93467446552023
v_leo_ref =
-2018.216, -1868.427, 6897.544 ;
==> |v_leo_ref| = 7425.65340619402999
Similar to input.
With eci2ecf rotation we get
v_gns_ref =
-2607.045, -889.9047, -2729.425 ;
==> |v_gns_ref| = 3877.93435191109082
v_leo_ref =
1491.263, -2310.92, 6897.544 ;
==> |v_leo_ref| = 7425.65349403707367
Dissimilar to input.
(Note no difference in z-cmpts.)
This makes sense, as the input file says
v_leo:reference_frame = "ECI" ; v_gns:reference_frame = "ECI" ;
So that's what the velocities stay if we don't rotate them to ECF (which is where we need them.)

There are two aspects to this change:
The
occ_pointcode has been updated at r6852. The ROPP UTILS UG has been updated at r6853.This code-calling change (note that ropp_pp_wopt_2D_tool.f90 also needed updating) caused the core tests to fail:
This is not surprising, because we have changed (e.g. for the first 5 times of the 2D wopt test)
r_gns_ref = -9.9999e+07, -9.9999e+07, -9.9999e+07 ; r_leo_ref = -9.9999e+07, -9.9999e+07, -9.9999e+07 ; v_gns = -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000 ; v_gns_ref = -9.9999e+07, -9.9999e+07, -9.9999e+07 ; v_leo = -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000, -99999000 ; v_leo_ref = -9.9999e+07, -9.9999e+07, -9.9999e+07 ;to
r_gns_ref = 6458137, -2.578158e+07, 0 ; r_leo_ref = 6367918, 3312894, 0 ; v_gns = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; v_gns_ref = 0, 0, 0 ; v_leo = -3230.23474820294, -3230.57792015161, -3230.92108351687, -3231.2642382978, -3231.60738449349, 6657.74612549189, 6657.57961287951, 6657.41308257841, 6657.24653458904, 6657.07996891183, 0, 0, 0, 0, 0 ; v_leo_ref = -3415.29, 6564.739, 0 ;(Note that he similarities of the reference POD values of pos and vel are close to the timeseries values, which shows that
occ_pointis doing the right thing.)Only the grasRS test shows differences in other fields:
azimuth = 350.2512 ; lat = -79.48388 ; lon = -12.17495 ; time_offset = 26.19351 ;changes to
azimuth = 350.2515 ; lat = -79.48389 ; lon = -12.17523 ; time_offset = 26.197 ;and there are ~1e-6 change in bangle, 1e-6 in refrac, 1e-5 in tdry and 1e-4 in impact, etc. I guess this is as expected.
Code-calling changes committed at r6854.
ROPP-11 PP UG changes made at r6855.
Closing ticket.