pytroll / satpy

Python package for earth-observing satellite data processing
http://satpy.readthedocs.org/en/latest/
GNU General Public License v3.0
1.04k stars 287 forks source link

this is regarding slstr_l1b geometry #2708

Closed kameshvinjamuri closed 5 months ago

kameshvinjamuri commented 6 months ago

the slstr_l1b files have different stripes, but the geometry is only for the 't' stripe, geometry_tn.nc. or geometry_to.nc . But when I read the solar_zenith_angle or any other viewing angle from geometry_tn.nc. files, I get it at the native resolution of stripe 'a' , how can I get the geometric angles for the size of stripe 'i'

should change CHUNK_SIZE in satpy/etc/readers/slstr_l1b.yaml?

kameshvinjamuri commented 6 months ago

hi, I think if you mentioned resolution='1000' or '500', then the data are read in those spatial extents. no need to change .yaml (if someone have the same doubt)

dq = DataQuery(name='solar_azimuth_angle', stripe='i', view='nadir', resolution=1000)

djhoese commented 6 months ago

@kameshvinjamuri Could you please provide example code, what you expect the results to be, and what you're actually getting? It looks like you deleted the github issue template which asks for this information.

kameshvinjamuri commented 6 months ago

hi @djhoese sorry for getting back late, i was with no internet, for the past few days. i didn't delete anything if i am not wrong! i edited some stuff to make more sense so, the slstr has different resolutions (.5km, 1km) for different stripes (a,b, and c). but the viewing angles (sza, vza ...) are given at the tie point grid which is an extrapolated grid for both .5km and 1km. previously i read like the following


dq = DataQuery(name='solar_azimuth_angle', stripe='i', view='nadir')
var_ret = load_data(dq, scn)

but this one gives the dimension of .5km (by default it seems). but i need for 1km. for all other data change the stripe the resolution changes, but for viewing angles it is not the case (since there is only one stripe for this data product). it is better to give resolution to it (as resolution is also a variable from .yaml files). the following worked


dq = DataQuery(name='solar_azimuth_angle', stripe='i', view='nadir', resolution=1000)
var_ret = load_data(dq, scn)

i hope my understanding is correct?

djhoese commented 6 months ago

This is how I understand this as well. Here in the YAML

https://github.com/pytroll/satpy/blob/442325df2c28167bf7b32059c86915588bc24681/satpy/etc/readers/slstr_l1b.yaml#L293-L301

There is no "stripe" defined so specifying that likely has no effect in your DataQuery (it is ignored). You need to specify the resolution if you want a specific one. By default Satpy will try to find the finest/highest resolution version of a requested product if not specified by the user (500 in this case).