-
Notifications
You must be signed in to change notification settings - Fork 26
-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error in pygac data zenith angle #18
Comments
Hi, Indeed, it could be so that the data was to blame. Have you looked at the quality flags in the data ? |
Sorry for asking, but could you point me to the location of the quality flag. I could not find it in the hdf5 file. Sill, it would be interesting to understand why we could not reproduce the error. |
you probably should have a corresponding l1c file for that scene I suppose, with the quality flags in it. |
Ok, we talked about this with @abhaydd , and he pointed out that the version of the code used for CLARA-A2 and within the ESA-CCI project are what is now the 'feature-clock' branch. It seems that the files that you are using matches is from one of these projects, so you could try to change the version of pygac. The latest updates, including updating the calibration routines is available on the 'develop' branch. The master branch hasn't been updated yet as some features are still work in progress (like merging lac and gac reading). So please try the 'feature-clock' branch and give us an update :) |
partially good news. Using the 'feature-clock' branch (55d2107) gives correct results for the different channels, but still we do not reproduce the features in the angles. Looking at the code |
I'll drag in @sfinkens in the conversation, he might have some ideas. |
@mattescarlos Interesting analysis. I assume what you refer to as |
Hi @sfinkens, yes, it is the data from From the git logs of pyorbital, I was very confident that this might explain the issue, but maybe it is an artifact of the specific TLE you have been using for processing the affected files, e.g. NSS.GHRR.M1.D13001.S2257.E0039.B0150910.SV. Many thanks in advance! |
@mattescarlos Sure, but it might take some time. One question though: Do you really need to reproduce the faulty behaviour? I think you'd be better off with the most recent version (or at least the |
Hi @sfinkens, Thank you for the swift reply. Using the most recent version might be the way to proceed. Well, from the software engineering point of view, reproducing errors is crucial to check the deterministic behavior of software. Only understood issues can reliably be fixed. The quality of our products depends on that. Initially, we wanted to use the already existing hdf5 files, but our reprocessing software started to raise exceptions. The subsequent back tracing finally brought us here. |
@sfinkens Does someone in the CMSAF have a complete list of the software versions used for CLARA-A2 ? |
Yes, there is an internal document listing all the versions. I cannot post it here, but I can paste the version numbers:
|
Sorry, @mattescarlos, I cannot reproduce your results. I processed But I can reproduce similar plots if I don't exclude fill-values. Are you sure you mask fill-values before applying gain & offset? Here is an example: import h5py
import matplotlib.pyplot as plt
import numpy as np
h5 = h5py.File('ECC_GAC_sunsatangles_metopb_99999_20130101T2257085Z_20130102T0039455Z.h5')
variables = {'solzen': '/image1',
'satzen': '/image2',
'relazi': '/image3',
'solazi': '/image4',
'satazi': '/image5'}
ncols = 3
nrows = 2
fig, axes = plt.subplots(nrows=nrows, ncols=ncols)
for i, (variable, path) in enumerate(variables.items()):
# Read metadata
what = h5.get(path + '/what')
fv = what.attrs['missingdata']
gain = what.attrs['gain']
offset = what.attrs['offset']
# Mask fill values and decompress data
data = gain * np.ma.masked_equal(h5.get(path + '/data')[:], fv) + offset
# Plot 100th pixel in all scanlines
row, col = i // ncols, i % ncols
ax = axes[row, col]
ax.plot(data[:, 100])
ax.set_ylabel(variable)
plt.show() |
Hi @sfinkens, Sorry for the confusion, the angle error is in the v2 data. The v3 data is fine. From our side, we can close the ticket. Thank you! |
@mattescarlos Glad you figured it out! You can close the issue now. |
Hello,
For our reprocessing activities at EUMETSAT, we are using your AVHR GAC data from ECMWF FS. Unfortunately, some files show an artifact on the zenith angle.
My college Kristina Petraityte has already been in contact with Stephan Finkensieper who advised us to raise a ticket here.
The Error:
Not all files affected, but for example in ECC_GAC_sunsatangles_metopb_99999_20130101T2257085Z_20130102T0039455Z.h5 on image2 at row index 10081, the values for all 409 pixels are about twice the expected value (~12000 instead of ~6000).
We tried to reproduce the file using
pygac
, but surprisingly in our case, the feature disappeared. This means that the software seems to be correct. However, I would recommend to add the TLE lines into the output, because we are not sure, if we are using exactly the same input as you did.More details on our reproduction of ECC_GAC_sunsatangles_metopb_99999_20130101T2257085Z_20130102T0039455Z.h5
branch: develop
git hash: bdd31d0
TLE: '1 38771U 12049A 13001.30683292 -.00000109 00000-0 -29853-4 0 9993\n',
'2 38771 098.7267 063.7881 0001633 317.7328 042.3723 14.21473300 15006\n'
pyorbital version: 1.5.0
python: latest anaconda 2.7 64 bit installer
Many thanks in advance!
The text was updated successfully, but these errors were encountered: