Opened 10 years ago
Closed 9 years ago
#409 closed enhancement (fixed)
Apply EUMETSAT L2-L1 extrapolation to generate L2
Reported by: | Ian Culverwell | Owned by: | Ian Culverwell |
---|---|---|---|
Priority: | normal | Milestone: | 9.0 |
Component: | ropp_pp | Version: | 7.1 |
Keywords: | L2_L1 | Cc: |
Description
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)
Change history (10)
by , 9 years ago
Attachment: | bangle_p2_old.png added |
---|
comment:1 by , 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
(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):
comment:2 by , 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 , 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 , 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).)
bangle_p2_old.png