[GRASS-user] i.atcorr with Sentinel2

Markus Metz markus.metz.giswork at gmail.com
Thu Jan 25 02:15:40 PST 2018


On Thu, Jan 25, 2018 at 10:51 AM, Stefan Blumentrath <
Stefan.Blumentrath at nina.no> wrote:
>
> Hi again,
>
> Now, there is a new patch attached to the ticket (#3482 that also covers
the update of S2A curves).

Your patch has e.g.

    /* SR_AV_B1 of sentinel_2B_msi */
    static const float sr1[17] = {
        .0076, .0059, .0053, .0025, .0026, .0034, .0035, .0506,
        .5946, .8712, .9090, .9460, .9615, 1.0000, .9591, .8855,
        .4542
    };

while I get

    /* SR_AV_B1 of sentinel_2B_msi */
    static const float sr1[21] = {
        .0000, .0000, .0076, .0059, .0053, .0025, .0026, .0034,
        .0035, .0506, .5946, .8712, .9090, .9460, .9615, 1.0000,
        .9591, .8855, .4542, .0305, .0000
    };

i.e. I get a few more values at the beginning and end. Same for other
bands, where your patch is missing some relatively high values.

Did you use the latest create_iwave.py in trunk?

>
> If those changes are applicable to 7.4(.1?) too, I can provide a diff for
the release branch as well…

For 7.4, the response values in iwave.cpp could be updated.

>
> In addition I opened a new ticket for updating the other sensors (
https://trac.osgeo.org/grass/ticket/3483).
>
> I expect that I will update the curves for the sensors one by one
(starting with worldview2/3), cause I don`t think I manage to do all at
once …

One by one makes sense.

Markus M
>
>
>
> And thanks again for all the support we received!
>
>
>
> Cheers
>
> Stefan
>
>
>
>
>
> From: Stefan Blumentrath
> Sent: onsdag 24. januar 2018 14.55
> To: Stefan Blumentrath <Stefan.Blumentrath at nina.no>; Žofie Cimburová <
zoficimburova at gmail.com>
> Cc: GRASS user list <grass-user at lists.osgeo.org>
> Subject: RE: [GRASS-user] i.atcorr with Sentinel2
>
>
>
> So, now there are two updated patches attached to:
https://trac.osgeo.org/grass/ticket/3482
>
> One for changes in create_iwave.py and one to add S2B curves.
>
>
>
> Big thanks to all (and esp. Markus M) who put effort into checking,
fixing, guiding  and helping us with S-2 in i.atcorr!
>
> Very much appreciated!
>
>
>
> Hope the latest changes are OK, so I can update S2A too.
>
>
>
> Cheers
>
> Stefan
>
>
>
> From: grass-user [mailto:grass-user-bounces at lists.osgeo.org] On Behalf Of
Stefan Blumentrath
> Sent: onsdag 24. januar 2018 09.55
> To: Žofie Cimburová <zoficimburova at gmail.com>
> Cc: GRASS user list <grass-user at lists.osgeo.org>
> Subject: Re: [GRASS-user] i.atcorr with Sentinel2
>
>
>
> Hi Zofie,
>
>
>
> Markus M found some issues in my version of create_iwave.py.
>
> I am fixing them right now!
>
>
>
> Cheers
>
> Stefan
>
>
>
> From: Žofie Cimburová [mailto:zoficimburova at gmail.com]
> Sent: onsdag 24. januar 2018 09.32
> To: Stefan Blumentrath <Stefan.Blumentrath at nina.no>
> Cc: Markus Metz <markus.metz.giswork at gmail.com>; GRASS user list <
grass-user at lists.osgeo.org>
> Subject: Re: [GRASS-user] i.atcorr with Sentinel2
>
>
>
> On Wed, Jan 24, 2018 at 12:35 AM, Stefan Blumentrath <
Stefan.Blumentrath at nina.no> wrote:
>
> Hi again,
>
>
>
> So, I did not prioritize tests for the time being and added a first
attempt for a diff to https://trac.osgeo.org/grass/ticket/3482
>
> I would be happy if someone could review…
>
> i.atcorr compiles fine with the changes, works for S2B and gives non-NULL
results.
>
>
>
> Zofie can you test with proper S2B data?
>
>
>
> Hi, I tested with one scene of S2B data and all bands, and the results
look good. (Not sure how to test if they're 100 % correct, but they at
least seem to make sense.)
>
> Best,
>
> Zofie
>
>
>
> Cheers
>
> Stefan
>
>
>
> From: Markus Metz [mailto:markus.metz.giswork at gmail.com]
> Sent: tirsdag 23. januar 2018 15.31
> To: Stefan Blumentrath <Stefan.Blumentrath at nina.no>
> Cc: Markus Neteler <neteler at osgeo.org>; GRASS user list <
grass-user at lists.osgeo.org>
>
>
> Subject: Re: [GRASS-user] i.atcorr with Sentinel2
>
>
>
>
>
> On Tue, Jan 23, 2018 at 3:24 PM, Stefan Blumentrath <
Stefan.Blumentrath at nina.no> wrote:
> >
> > OK, sounds doable for me ;-).
> > Will look at it tonight. Most of the other changes for Sentinel-2B are
already in place (I hope).
>
> Great!
>
> > Not sure if I manage to add python tests as well, looks like current
tests are more manual?
>
> Apparently results differ between operating systems, therefore tests
won't work well, unless you test if the output is all NULL, in which case a
fatal error should be produced anyway.
>
> Markus M
>
> >
> > Cheers
> > Stefan
> > ________________________________________
> > Von: Markus Metz [markus.metz.giswork at gmail.com]
> > Gesendet: Dienstag, 23. Januar 2018 14:50
> > An: Stefan Blumentrath
> > Cc: Markus Neteler; GRASS user list
> > Betreff: Re: [GRASS-user] i.atcorr with Sentinel2
> >
> > On Tue, Jan 23, 2018 at 2:19 PM, Stefan Blumentrath <
Stefan.Blumentrath at nina.no<mailto:Stefan.Blumentrath at nina.no>> wrote:
> > >
> > > OK, will give it a try.
> > >
> > The first part is more important because it 1) fixes the interpolation
to 2.5 nm steps, and 2) helps iwave.cpp to load the response values.
> > >
> > > For the second part I am not sure if I properly understood where min
- max wavelength for each band should be printed to.
> > >
> > > Do you mean to replace
> > >
> > >     # convert limits from nanometers to micrometers
> > >
> > >     lowerlimit = wavelengths[0]/1000
> > >
> > >     upperlimit = wavelengths[-1]/1000
> > >
> > >
> > >
> > > Or just as a screen output?
> >
> > Just a screen output to help update the manual
> > >
> > > You did not mean band value limits, right?
> >
> > No, e.g. in the manual is
> >
> > Sentinel2A Coastal blue band B1 (430nm - 457nm)
> >
> > and this range could be printed out to screen based on the actual
response. This range can then be copied to the manual, making life a bit
easier for the person updating the manual.
> > >
> > > Not sure I am of help/useful for fixing create_iwave.py, but I`ll do
my best.
> >
> > Your help is welcome!
> >
> > Markus M
> >
> > >
> > > Cheers
> > >
> > > Stefan
> > >
> > >
> > >
> > >
> > >
> > > From: Markus Metz [mailto:markus.metz.giswork at gmail.com<mailto:
markus.metz.giswork at gmail.com>]
> > > Sent: tirsdag 23. januar 2018 13.02
> > > To: Stefan Blumentrath <Stefan.Blumentrath at nina.no<mailto:
Stefan.Blumentrath at nina.no>>
> > > Cc: Markus Neteler <neteler at osgeo.org<mailto:neteler at osgeo.org>>;
GRASS user list <grass-user at lists.osgeo.org<mailto:
grass-user at lists.osgeo.org>>
> > >
> > >
> > > Subject: Re: [GRASS-user] i.atcorr with Sentinel2
> > >
> > >
> > >
> > >
> > >
> > > On Tue, Jan 23, 2018 at 12:25 PM, Stefan Blumentrath <
Stefan.Blumentrath at nina.no<mailto:Stefan.Blumentrath at nina.no>> wrote:
> > > >
> > > > No problem. Any chance I can contribute to maintenance of
create_iwave.py?
> > > >
> > > > What needs to be done? Take your latest changes into account?
> > >
> > > nodata handling should be changed. In read_input(), missing values
should be set to zero. Then for each band, leading and trailing zeros would
be set to -1. This helps interpolate_band() to get the correct subrange.
> > >
> > > For each band, create_iwave.py should print out the band name and the
wavelength as min - max. Care must be taken when finding reasonable min and
max wavelengths: find the max response, then go back while response >
threshold to find the min wavelength. Go forward while response > threshold
to find the max wavelength. As threshold I suggest 0.1 to eliminate noise
in the response values.
> > >
> > > Markus M
> > >
> > > >
> > > >
> > > >
> > > > If you think it makes sense I will try to create a patch for adding
S2B to i.atcorr (would be a nice exercise and does not seem too complex)?
Will open a ticket and start working on it unless you tell me different.
> > > >
> > > >
> > > >
> > > > Cheers
> > > >
> > > > Stefan
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > From: grass-user [mailto:grass-user-bounces at lists.osgeo.org<mailto:
grass-user-bounces at lists.osgeo.org>] On Behalf Of Markus Metz
> > > > Sent: tirsdag 23. januar 2018 12.03
> > > > To: Markus Neteler <neteler at osgeo.org<mailto:neteler at osgeo.org>>
> > > > Cc: GRASS user list <grass-user at lists.osgeo.org<mailto:
grass-user at lists.osgeo.org>>
> > > > Subject: Re: [GRASS-user] i.atcorr with Sentinel2
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > On Tue, Jan 23, 2018 at 11:51 AM, Markus Neteler <
> > > > neteler at osgeo.org<mailto:neteler at osgeo.org>> wrote:
> > > >
> > > > >
> > > > > On Tue, Jan 23, 2018 at 11:09 AM, Žofie Cimburová
> > > > > <
> > > > zoficimburova at gmail.com<mailto:zoficimburova at gmail.com>> wrote:
> > > >
> > > > > > Forgot to cc the list.
> > > > > >
> > > > > > The CSV and the cpp template:
> > > > > >
> > > >
https://www.dropbox.com/sh/9cnhsl59kvmx4o1/AABwnEVHdxfW_PqrB5Xcpczda?dl=0
> > > >
> > > > >
> > > > > Great! Would you mind to also convert the S2A table? AFAIK it got
> > > > > updated due to recalibration compared to what we currently have.
> > > >
> > > > please wait a bit with creating the cpp template, create_iwave.py
needs some maintenance
> > > >
> > > > Markus M
> > > >
> > > >
> > > >
> > > > >
> > > > > markusN
> > > > > _______________________________________________
> > > > > grass-user mailing list
> > > > > grass-user at lists.osgeo.org<mailto:grass-user at lists.osgeo.org>
> > > > > https://lists.osgeo.org/mailman/listinfo/grass-user
> >
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-user
>
>
>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20180125/8b1980e1/attachment-0001.html>


More information about the grass-user mailing list