ROPP8.0 beta reviewer Stig Syndergaard (DMI) suggests:

In our local working version (dmi_trunk_7.1 based on ROPP 7.1) we 
have recently included an option to extract the L2 bending angle 
based on L1 - L2 extrapolation. That might be a useful option for 
others as well.

You can see my changes in dmi_trunk_7.1 here:
https://trac.romsaf.org/ropp/changeset/4412/ropp_src/branches
/dev/Share/dmi_trunk_7.1/ropp_io/tools.

Agree that this would be a useful feature.

Note that a better changeset reference is https://trac.romsaf.org/ropp/changeset/4412/ropp_src/branches/dev/Share/dmi_trunk_7.1/ropp_io.

Attachments (4)

bangle_p2_old.png (43.5 KB ) - added by Ian Culverwell 9 years ago.
bangle_p2_old.png
bangle_p2_new.png (41.0 KB ) - added by Ian Culverwell 9 years ago.
bangle_p2_new.png
bangle_p2_new-p2_old.png (39.3 KB ) - added by Ian Culverwell 9 years ago.
bangle_p2_new-p2_old.png
bangle_ca_p2_diff.png (54.3 KB ) - added by Ian Culverwell 9 years ago.
bangle_ca_p2_diff.png

Download all attachments as: .zip

Change history (10)

by Ian Culverwell, 9 years ago

Attachment: bangle_p2_old.png added

bangle_p2_old.png

by Ian Culverwell, 9 years ago

Attachment: bangle_p2_new.png added

bangle_p2_new.png

by Ian Culverwell, 9 years ago

Attachment: bangle_p2_new-p2_old.png added

bangle_p2_new-p2_old.png

comment:1 by Ian Culverwell, 9 years ago

This seems to work OK. In the standard ROPP test dataset, ropp_io/data/eum_test.n4, the extrapolated L1-L2 difference fields looks like

bangle_ca_p2_diff.png

(the mark of Zorro?)

When combined with L1 via eum2ropp -e ... it generates this L2 field:

bangle_p2_new.png

which should be compared to the original:

bangle_p2_old.png

It's clearly a bit smoother at the bottom, and about the same higher up. This is clearer in L2(new)-L2(old):

bangle_p2_new-p2_old.png

by Ian Culverwell, 9 years ago

Attachment: bangle_ca_p2_diff.png added

bangle_ca_p2_diff.png

comment:2 by Ian Culverwell, 9 years ago

Numerically it checks out (eum_test.n4=input; eum_test_cntl.nc=standard output; eum_test_test.nc='-e' output):

thinned/bangle_ca --> bangle_L1:

/data/users/idculv/ROPP/Work/ROPP9.0/ropp_io/eum2ropp
idculv@eld037:> ncks -H -Q -dz,0,4 -vthinned/bangle_ca eum_test.n4
/data/level_1b/thinned/bangle_ca
bangle_ca[0]=2.2999161743e-05 
bangle_ca[1]=2.32842194997e-05 
bangle_ca[2]=2.36024902842e-05 
bangle_ca[3]=2.39380217732e-05 
bangle_ca[4]=2.42731216519e-05 

/data/users/idculv/ROPP/Work/ROPP9.0/ropp_io/eum2ropp
idculv@eld037:> ncks -H -Q -ddim_lev1b,0,4 -vbangle_L1 eum_test_cntl.nc
bangle_L1[0]=2.2999161743e-05 
bangle_L1[1]=2.32842194997e-05 
bangle_L1[2]=2.36024902842e-05 
bangle_L1[3]=2.39380217732e-05 
bangle_L1[4]=2.42731216519e-05 


thinned/bangle_p2 --> bangle_L2:

/data/users/idculv/ROPP/Work/ROPP9.0/ropp_io/eum2ropp
idculv@eld037:> ncks -H -Q -dz,0,4 -vthinned/bangle_p2 eum_test.n4
/data/level_1b/thinned/bangle_p2
bangle_p2[0]=4.62856903476e-05 
bangle_p2[1]=4.64069391526e-05 
bangle_p2[2]=4.52049687164e-05 
bangle_p2[3]=4.33026901147e-05 
bangle_p2[4]=4.12731260088e-05 

/data/users/idculv/ROPP/Work/ROPP9.0/ropp_io/eum2ropp
idculv@eld037:> ncks -H -Q -ddim_lev1b,0,4 -vbangle_L2 eum_test_cntl.nc
bangle_L2[0]=4.62856903476e-05 
bangle_L2[1]=4.64069391526e-05 
bangle_L2[2]=4.52049687164e-05 
bangle_L2[3]=4.33026901147e-05 
bangle_L2[4]=4.12731260088e-05 

thinned/bangle_ca_p2_diff --> extrapolated bangle_L1 - bangle_L2 

/data/users/idculv/ROPP/Work/ROPP9.0/ropp_io/eum2ropp
idculv@eld037:> ncks -H -Q -dz,0,4 -vthinned/bangle_ca_p2_diff eum_test.n4
/data/level_1b/thinned/bangle_ca_p2_diff
bangle_ca_p2_diff[0]=-1.14799518969e-05 
bangle_ca_p2_diff[1]=-1.16573443727e-05 
bangle_ca_p2_diff[2]=-1.17570172724e-05 
bangle_ca_p2_diff[3]=-1.17987010827e-05 
bangle_ca_p2_diff[4]=-1.18015017023e-05 

Instead of the earlier bangle_L2, the 'eum2ropp -e ...' gives us

/data/users/idculv/ROPP/Work/ROPP9.0/ropp_io/eum2ropp
idculv@eld037:> ncks -H -Q -ddim_lev1b,0,4 -vbangle_L2 eum_test_test.nc
bangle_L2[0]=3.44791136399e-05 
bangle_L2[1]=3.49415638724e-05 
bangle_L2[2]=3.53595075566e-05 
bangle_L2[3]=3.57367228559e-05 
bangle_L2[4]=3.60746233543e-05 

Check: L2(extrap) := L1 - (L1-L2) = (2.2999161743e-05) - (-1.14799518969e-05) = 3.44791136399e-05

And nceq.pl eum_test_test.nc eum_test_cntl.nc --> diff.nc, where

/data/users/idculv/ROPP/Work/ROPP9.0/ropp_io/eum2ropp
idculv@eld037:> ncks -H -Q -ddim_lev1b,0,4 -vbangle_L2 diff.nc
bangle_L2[0]=-1.18065767077e-05 
bangle_L2[1]=-1.14653752803e-05 
bangle_L2[2]=-9.84546115976e-06 
bangle_L2[3]=-7.56596725882e-06 
bangle_L2[4]=-5.19850265457e-06 

And new L2 - old L2 = (3.44791136399d-05) - (4.62856903476e-05) = -1.180657785655045e-05

comment:3 by Ian Culverwell, 9 years ago

eum2bufr [-e] seems to be working too:

diff eum_test_test2.bufrout eum_test_cntl2.bufrout |grep -v "\-\-\-"
6c6
< Reading eum_test_test2.bufr
> Reading eum_test_cntl2.bufr
95c95
<  BENDING ANGLE                                         RADIANS       0.00003448
>  BENDING ANGLE                                         RADIANS       0.00004629
117c117
<  BENDING ANGLE                                         RADIANS       0.00003494
>  BENDING ANGLE                                         RADIANS       0.00004641
139c139
<  BENDING ANGLE                                         RADIANS       0.00003536
>  BENDING ANGLE                                         RADIANS       0.00004520
161c161
<  BENDING ANGLE                                         RADIANS       0.00003574
>  BENDING ANGLE                                         RADIANS       0.00004330
183c183
<  BENDING ANGLE                                         RADIANS       0.00003607
>  BENDING ANGLE                                         RADIANS       0.00004127
205c205
...

These numbers agree with the results of eum2ropp, above.

comment:4 by Ian Culverwell, 9 years ago

(And when the bufr files are passed through bufr2ropp the resulting ROPP files differ from the results of eum2ropp as expected (~1e-8 frac diffs, as a result of staging them through bufr).)

comment:5 by Ian Culverwell, 9 years ago

All looking good, so commit change at r4778.

comment:6 by Ian Culverwell, 9 years ago

Resolution: fixed
Status: newclosed

Closing ticket as 'fixed'

Note: See TracTickets for help on using tickets.