Opened 9 years ago
Closed 9 years ago
#429 closed defect (duplicate)
eum2ropp -l needs to convert r_leo etc from ECI to ECF coords
Reported by: | Ian Culverwell | Owned by: | Ian Culverwell |
---|---|---|---|
Priority: | normal | Milestone: | 9.0 |
Component: | ropp_io | Version: | 8.0 |
Keywords: | Cc: |
Description
Running the attached script through the attached datafile generates this output (also attached):
Generating netCDF file with level 1a content: eum2ropp_l1a.nc r_leo from eum2ropp -l: r_leo:reference_frame = "ECI" ; r_leo[0]=-1074675.19168 r_leo[19073]=-3927680.39718 r_leo[38146]=-5945752.48389 Generating netCDF file without level 1a content: eum2ropp_l1a.nc r_leo from eum2ropp: r_leo:reference_frame = "ECF" ; r_leo[0]=3812868.29909 r_leo[1]=-1867721.91995 r_leo[2]=-5822922.34771 Generating BUFR file from ROPP file with level 1a content: eum2ropp_l1a.nc.bufr r_leo from eum2ropp -l | ropp2bufr: IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THEM -1074675.25 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTHSM -3927680.50 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTM -5945752.50 Generating BUFR file from ROPP file without level 1a content: eum2ropp_l1b.nc.bufr r_leo from eum2ropp | ropp2bufr: IN DIRECTION OF 0 DEGREES LONGITUDE, DISTANCE FROM THEM 3812868.25 IN DIRECTION 90 DEGREES EAST, DISTANCE FROM THE EARTHSM -1867721.88 IN DIRECTION OF THE NORTH POLE, DISTANCE FROM THE EARTM -5822922.50 Generating netCDF file from BUFR file with level 1a content: eum2ropp_l1a.nc.bufr.nc r_leo from eum2ropp -l | ropp2bufr | bufr2ropp: r_leo:reference_frame = "ECF" ; r_leo[0]=-1074675.25 r_leo[1]=-3927680.5 r_leo[2]=-5945752.5 Generating BUFR file from ROPP file without level 1a content: eum2ropp_l1b.nc.bufr.nc r_leo from eum2ropp | ropp2bufr | bufr2ropp: r_leo:reference_frame = "ECF" ; r_leo[0]=3812868.25 r_leo[1]=-1867721.88 r_leo[2]=-5822922.5 **** Axel's equivalent output *** r_leo when going with level 1a: r_leo = -1074675.25, -3927680.5, -5945752.5 ; } r_leo when going without level 1a: r_leo = 3812868.25, -1867721.88, -5822922.5 ; }
Note that the lev1a satellite coordinates (r_receiver etc), which are in ECI coords, are transplanted without transformation into the BUFR file, where they are assumed to be in ECF coords ('cos that's what BUFR needs). bufr2ropp therefore outputs the unchanged numbers in that format too. This is obviously wrong. They should be converted to ECF coords (via a call to eci2ecf) as soon as they are read in, and the reference frame changed to 'ECF'.
Note that you can only get the lev1b (single value) r_leo etc (which are in ECF coords, so no need to fix these) by running the attached version of ropp_io_read_ncdf_get.f90, which contains the crucial difference from the ROPP8.0 version that
IF (getbufr) THEN
has been replaced by
IF (.NOT. getlevel1a) THEN
at about line 2537. We should include this change in ROPP too.
Attachments (4)
Change history (7)
by , 9 years ago
by , 9 years ago
GRAS_1B_M02_20080701000214Z_20080701000329Z_R_O_20150413081448Z_G19_NN.nc
comment:1 by , 9 years ago
Trying this in a branch converts
r_leo from eum2ropp -l: r_leo:reference_frame = "ECI" ; r_leo[0]=-1074675.19168 r_leo[19073]=-3927680.39718 r_leo[38146]=-5945752.48389
to
r_leo:reference_frame = "ECF" ; r_leo[0]=3680094.93176 r_leo[19073]=-1743129.76089 r_leo[38146]=-5945752.48389
which is a lot closer to the 'straight' eum2ropp values of
r_leo from eum2ropp: r_leo:reference_frame = "ECF" ; r_leo[0]=3812868.29909 r_leo[1]=-1867721.91995 r_leo[2]=-5822922.34771
So it looks sensible.
comment:2 by , 9 years ago
comment:3 by , 9 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
test1.sh