Bathymetry and water column correction
LANDSAT 8 OLIP 
at Mulroy Bay, Ireland
Image courtesy of the U.S. Geological Survey
 
Using the Panchromatic band for water column correction
to derive water depth and spectral bottom signature:

Landsat 8 OLIP bandset used for this work
Purple=1Blue=2Green=3PAN=4Red=5NIR=6 and SWIR1=7

Work done july 2018
GSD 15 m
 
 
 
See March 27th 2018

back to study cases
back

Calibration over the whole image


bi-dimensional histograms
Full image
All_pixels, Deglinted


bi-dimensional histograms
Full image
Shallow_pixels_only, Deglinted


Calibration diagram for 
Blue, Green, Red and NIR bands
Full image. All_pixels Deglinted

 


Calibration diagram for 
Blue, PAN, Red and NIR bands
Full image. All_pixels Deglinted
 
In spite of
very low bottom substrate reflectance,
this turns out to be a fairly clear-cut case,

which exhibits CoefK_1.0,
possibly because of supended particles load
along the waterline:
  • Kblue/Kgreen~=0.63      OIB+0.8
  • this is well verified by the red band:
    • Kblue/Kred~=0.152
    • Kgreen/Kred~=0.242
  • Kblue  =0.120 m-1
  • Kgreen=0.191 m-1
  • Kred    =0.788 m-1
WARNING
this is not for beginners,
and certainly
not for a 4SM tutorial!
Unfortunately, the PANchromatic band
of PLEIADES sensor
covers most of the Blue band.

As a result,
there is hardly any color separation
over most of the shallow depth range,
as can be seen in plot X1 vs X3.

PAN is not usable.

PAN response


Calibration over the import ROI
accross the whole image from Line_800 to Line_1200
  • Fairly tricky, because the shallow subtrates are so dark.
  • It  is seen below that
    • shallow subtrates range over ~70 DNs from 180 to 250
    • while
    • land subtrates range  over ~320 DNs      from  180 to 500: they are ~5 times brighter than the shallow substrates

That is all we have
to map shallow water depths!!

Lands: mask=248
display of all land pixels

Marine: mask=2
display of all marine pixels

Whole: mask=248 +mask=2
display of all image pixels with mask>1

 


Calibration over specific ROIs

Ext_0001_7054_10_400

Ext_0001_7054_800_1200

Ext_0001_7054_1800_2200
 

Ext_0001_7054_2800_3200

Ext_0001_7054_3800_4200

Ext_0001_7054_5800_6200


Run the AutoCalibration

content of 4sm_tutorial_costa_toscana.zip zipfile
please, do not use your ancient directory: erase it altogether
Please
  • place costa_toscana_sub.pix in ./data directory (as I have removed it)
  • place all shapefiles in working directory, along with script,  4SM.8.03 executable, and 4sm.calls
  • then run this script costa_toscana_sub.sh to perform the AutoCalibration 
(change all @@       for       )
#acquired geotiff 16 bit (not JPEG2000)
#Line_0 - create the database costa_toscana.pix and mak, then run the AutoCalibrator
#Line_0 - create the database costa_toscana.pix and run the AutoCalibrator
nice -20 ./4SM.8.06 -Process/19_Jan_2018 -Origin/MassimoPerna                                     @@
-DB/costa_toscana_sub/34_3s_5s_0s/5_38/7054_6416/615.975_4794.925                                 @@
-Mis/Italy/Costa_toscana/PLEIADESP/1A/NA/bOA/UTM_32_008/0.002_0.002/03_AUG_2017    @@
-MakePIX/Import                                                         @@
-Import/v/dTM/data*costa_toscana_sub/dbnc_0_0S_5S_0s/R7054_L6416/Origin_615.975_4794.925_0_0/chIn1,5/chOut38,42      @@
-SCL/0070.0/0065.0/0075.0/0060.0/0110.0_SCL                                            @@
-LS/0010000/10000/10000/10000/10000                                                @@
-KK1_2_0.50/Knir4.5/CoefK_1.0/mask_3                                                @@
-deglint/vrbaD/GlintM50/Ext_3300_3600_2800_3200                                            @@
-extract/v/RawBDH/FullBDH/NIRband5/NIRmax5/mBPL2    /mask_3                                    @@
-calibrate/voAi/BdSNpzg/BC_5_4_3_2/BDh_12_13_34                                            @@
-AutoCAL/R2_0.95/Land_-5.0_1.5_4s   

exit





Run the Modeling
Please
  • disable the AutoCalibration script:      
    • #nice -20 ./4SM.8.05 -Process/19_Jan_2018 -Origin/MassimoPerna
    • #exit
  • make sure the Modeling script which follow is enabled
  • then run this script costa_toscana_sub.sh to perform the Modeling
(change all @@       for   antislash )
#exit

#Line_1 - Run the Modeler............Run the Modeler............
nice -20  ./4SM.8.05 -Process/14_Mar_2018  -Origin/MassimoPerna                    @@
-dB/costa_toscana_sub/34_3s_5s_0s/5_38/7054_6416/615.975_4794.925                @@
-Mis/Italy/Costa_toscana/PLEIADESP/PLEIADESP/NA/bOA/UTM_+32_008/0.0020_0.0020/3_AUG_2017    @@
@WLM/550.0/620.0/680.0/710.0/940.0                                @@
@WLm/430.0/500.0/500.0/590.0/740.0                                @@
@WL/0490.0/560.0/590.0/650.0/840.0                                @@
-SCL/070.0/065.0/075.0/060.0/110.0_SCL                                @@
-LS/010000/10000/10000/10000/10000                                @@
-Lsw/196.5/150.2/097.0/089.4/034.6_Lsw_AutoCal                            @@
-dLsw/-2.5/0-2.0/003.0/006.0/000.0                                @@
-Lw/0027.0/015.0/000.0/000.0/000.0_Lw_AutoCal                            @@
-M/@000001/00002/@0003/@0004/00005_M                                @@
-Lm/0001.0/001.0/001.0/005.0/255.0_Lm                                @@
-LsM/241.0/218.7/208.2/231.2/130.4_LsM_cLM=0.900                        @@
-CP/219.80/175.4/000.0/098.1/000.0_5.00m                            @@
-KK1_2_0.63/Knir4.5/CoefK_0.0/mask_3                                @@
-Z/NA0.00d/N_1/nDR_37_1000_zDTM/mask_3                                @@
-B/tclNe/cNorm2.50/Bmin0/cLM 4 0.9                                @@
-deglint/vrbaD/GlintM50/Ext_3300_3600_2800_3200                            @@
-extract/v/rawBDH/FullBDH/NIRband5/NIRmax5.0/mBPL2/Ext_0001_7054_0010_0400     @@
-extract/v/rawBDH/FullBDH/NIRband5/NIRmax5.0/mBPL2/Ext_0001_7054_0800_1200      @@
-extract/v/rawBDH/FullBDH/NIRband5/NIRmax5.0/mBPL2/Ext_0001_7054_1800_2200      @@
-extract/v/rawBDH/FullBDH/NIRband5/NIRmax5.0/mBPL2/Ext_0001_7054_2800_3200      @@
-extract/v/rawBDH/FullBDH/NIRband5/NIRmax5.0/mBPL2/Ext_0001_7054_3800_4200      @@
@extract/v/rawBDH/FullBDH/NIRband5/NIRmax5.0/mBPL2/Ext_0001_7054_4800_5200    @@
-extract/v/rawBDH/FullBDH/NIRband5/NIRmax5.0/mBPL2/Ext_0001_7054_5800_6200     @@
-calibrate/voAI/BdSNpzg/BC_5_4_2_1/BDh_12_23_34                            @@
-Model/v/Rt1.00/dTM/ZM30/mask_3                                    @@
-Smooth/5/D/smart+    -LL10                                    @@
-TpsV/1/3/Bmin150/RLD4/CK1.001                                    @@

exit
Note:
every line in italic may be removed
Depth results are in the following channels:
  • U8_channel_9:    depths coded in decimeters
  • S16_channel_35: depths coded in centimeters



Créer un site
Créer un site