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.
Attachment: | bangle_p2_old.png added |
---|
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
(the mark of Zorro?)
When combined with L1 via eum2ropp -e ... it generates this L2 field:
which should be compared to the original:
It's clearly a bit smoother at the bottom, and about the same higher up. This is clearer in L2(new)-L2(old):
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
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.
(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).)
bangle_p2_old.png