-
Notifications
You must be signed in to change notification settings - Fork 300
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
Cannot load ABI or FCI L1 datasets from Scene combining L1 and L2 #1913
Comments
Oh very interesting. So the problem is that the ABI L2 reader has a C10 that it can load: satpy/satpy/etc/readers/abi_l2_nc.yaml Lines 80 to 85 in 4950ccd
If you asked for the "calibration='radiance'" version of that channel I would suspect it to work. I'm not sure there is an easy way to fix this. It would require the portion of the Scene/DependencyTree that is asking the reader for a dataset to check all readers that know about a dataset and attempt to load the dataset from each one until it is successful (or fails). |
I vote for renaming the ABI L2 |
The only issue with that is then they can't be used when making composites as most of the composites use the specific product name. |
Possibly related? #2331 |
Wow, can't believe this issue already exists. @simonrp84 brought this up on slack which I'm guessing is why you commented here. In his case he was able to get a L1b + L2 composite to work when he updated the composites using L1b channels to specify a The main issue(s) I discovered after last diving into the dependency tree code is that the dependency tree looks at all known DataIDs and doesn't consider whether or not the DataIDs are available. Also the dep tree says "here are all the DataIDs from all the readers that match the request, which one matches most closely". In the L1b/L2 case, just by chance of the way it was coded, when a resolution isn't specified in the request, the Regardless of the above, even if L2 specified resolution for its
|
On your second point, I think that if both L1 and L2 dataset files are provided by the user them the higher level dataset should be used by default. |
This also affects FCI: import hdf5plugin
from satpy import Scene
from glob import glob
sc = Scene(
filenames={
"fci_l1c_nc": glob("/media/nas/x23352/MTG/FCI/L1c/2024/12/17/12/*FDHSI*BODY*O_0073_*.nc"),
"fci_l2_nc": ["/media/nas/x23352/MTG/FCI/L2-cases/202412171200/W_XX-EUMETSAT-Darmstadt,IMG+SAT,MTI1+FCI-2-CLM--FD------NC4E_C_EUMT_20241217121531_L2PF_OPE_20241217120000_20241217121000_N__C_0073_0000.nc"]})
sc.load([0.91]) fails with
In this case, the level-2 product defines the wavelength, so there is no product we can rename. satpy/satpy/etc/readers/fci_l2_nc.yaml Lines 779 to 788 in 7a0dc1a
|
Describe the bug
When I load ABI or FCI L1 and L2 data into the same Scene, there are restrictions on loading L1 datasets.
To Reproduce
ABI example:
FCI example:
Expected behavior
I expect the loading to work just as it would (and does) when I pass only L1 files upon Scene initiation.
Actual results
It fails to load channel 10 because it says the file types
abi_l2_cmip_c10
andabi_l2_cmip
are missing. That's wrong. I shouldn't and don't need L2 CMIP data to load L1 channel 10.Results for ABI:
Resampling does not generate C10 either.
Results for FCI:
Environment Info:
The text was updated successfully, but these errors were encountered: