Using IOP models with simulated water reflectances
Using IOP models with simulated water reflectances
I would like to use l2gen to create IOP estimates (from GIOP, GSM, QAA algorithms) using my own (simulated) normalized water-leaving reflectances ?^N_w= pi*Rrs, not TOA values.
How can I do this? I see that I can turn off atmospheric correction (atmocor = 0), but I believe Rayleigh correction is still enabled.
Instead, will I have to write my own C-wrapper around the IOP algorithm code?
Thanks,
/eric
How can I do this? I see that I can turn off atmospheric correction (atmocor = 0), but I believe Rayleigh correction is still enabled.
Instead, will I have to write my own C-wrapper around the IOP algorithm code?
Thanks,
/eric
Tags:
Using IOP models with simulated water reflectances
The current maintainers of
l2gen
should be able to tell you how practical it would be to adapt l2gen
to your needs. If you can find a way to adapt l2gen
in a way that could be included in the OCSSW code, that might encourage people developing IOP algorithms to implement and test them using l2gen
, and could open the door to other projects -- things like sensitivity studies of existing products.-
- User Services
- Posts: 1469
- Joined: Wed Sep 18, 2019 6:15 pm America/New_York
- Been thanked: 5 times
Using IOP models with simulated water reflectances
Eric,
The l2gen code in the latest version of SeaDAS includes the ability to process a "SeaBASS-formatted" ASCII file with Rrs values.
There are some limitations, in that it requires the "sensor" to be defined and be one of the sensors supported by l2gen.
e.g.:
Hope this helps,
Sean
The l2gen code in the latest version of SeaDAS includes the ability to process a "SeaBASS-formatted" ASCII file with Rrs values.
There are some limitations, in that it requires the "sensor" to be defined and be one of the sensors supported by l2gen.
e.g.:
l2gen ifile=seawifs.sb ofile=seawifs.nc suite=IOP
$ cat seawifs.sb
/begin_header
/sensor=SEAWIFS
/delimiter=comma
/fields=lat,lon,rrs_412,Rrs_443,rrs490,rrs510,rrs555,rrs670,rrs765,rrs865
/end_header
0,0,0.006438,0.005564,0.004904,0.0044,0.003881,0.000687,0.0004,0.0003
0,0,0.006438,0.005564,0.004904,0.0044,0.003881,0.000687,0.0004,0.0003
0,0,0.006438,0.005564,0.004904,0.0044,0.003881,0.000687,0.0004,0.0003
...
Hope this helps,
Sean
Using IOP models with simulated water reflectances
Thanks Sean. Updated my occsw data processors (MacOS 10.14.5 / Mojave) to latest release, but l2gen is throwing an error somewhere...
(Note that I am not specifiying rrs_469, rrs_555, rrs_645 in my SeaBASS file. Is that the problem?)
My input file is hyperlinked to Google Drive so you can try it.
(Note that I am not specifiying rrs_469, rrs_555, rrs_645 in my SeaBASS file. Is that the problem?)
My input file is hyperlinked to Google Drive so you can try it.
$ head 2601pix_tgt_sim3_thv30_dphi90_for_polymer.csv.polymer.sb
/begin_header
/sensor=MODISA
/delimiter=comma
/fields=lat,lon,rrs_412,rrs_443,rrs_488,rrs_531,rrs_547,rrs_667,rrs_678,rrs_748,rrs_869
/end_header
70,0,0.00237494733963876,0.001802678576363,0.00305618178078461,0.00274473108361568,0.00282988522200625,0.00061756705068773,0.00054362050715546,2.12463647013988e-05,-1.31791231999896e-05
...
$ l2gen ifile=2601pix_tgt_sim3_thv30_dphi90_for_polymer.csv.polymer.sb ofile=2601pix_tgt_sim3_thv30_dphi90_for_polymer.csv.polymer.iop.nc suite=IOP
Input file 2601pix_tgt_sim3_thv30_dphi90_for_polymer.csv.polymer.sb is a SeaBASS text file.
Loading default parameters from /Applications/seadas-7.5.1/ocssw/share/common/msl12_defaults.par
Loading default parameters for MODISA from /Applications/seadas-7.5.1/ocssw/share/modis/msl12_defaults.par
Loading default sub-sensor parameters for MODISA from /Applications/seadas-7.5.1/ocssw/share/modis/aqua/msl12_defaults.par
Loading parameters for suite IOP from /Applications/seadas-7.5.1/ocssw/share/modis/msl12_defaults_IOP.par
Loading command line parameters
Loading user parameters for MODISA
...
Reading Thuillier_F0.dat
terminate called after throwing an instance of 'std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >'
Abort trap: 6
-
- User Services
- Posts: 1469
- Joined: Wed Sep 18, 2019 6:15 pm America/New_York
- Been thanked: 5 times
Using IOP models with simulated water reflectances
Eric,
Seems there are a couple of issues. One is that the "seabass" reader wasn't updated with knowledge of the mission/sensor reorganization of the OCSSW data tree. The other is that it doesn't have logic to handle sensors with an IR band set (like MODIS).
...so, for now it'll work for "SeaWiFS" like inputs. We'll eventually release an update to fix the above issues. One idea we've considered is defining a "generic" sensor with a variable wavelength set to remove the restriction of matching an existing sensor's wavelength set. ...that may take more time to implement, so no promises :wink:
Sean
Seems there are a couple of issues. One is that the "seabass" reader wasn't updated with knowledge of the mission/sensor reorganization of the OCSSW data tree. The other is that it doesn't have logic to handle sensors with an IR band set (like MODIS).
...so, for now it'll work for "SeaWiFS" like inputs. We'll eventually release an update to fix the above issues. One idea we've considered is defining a "generic" sensor with a variable wavelength set to remove the restriction of matching an existing sensor's wavelength set. ...that may take more time to implement, so no promises :wink:
Sean
Using IOP models with simulated water reflectances
Thanks, Sean. One question:
"...for now it'll work for "SeaWiFS" like inputs."
Just to clarify, does that mean I must specify only SeaWiFS rrs_XXX wavelengths in my SeaBASS input file?
Best,
/eric
"...for now it'll work for "SeaWiFS" like inputs."
Just to clarify, does that mean I must specify only SeaWiFS rrs_XXX wavelengths in my SeaBASS input file?
Best,
/eric
-
- User Services
- Posts: 1469
- Joined: Wed Sep 18, 2019 6:15 pm America/New_York
- Been thanked: 5 times
Using IOP models with simulated water reflectances
well, my seawifs wvl example worked :grin:
OCTS or MERIS might also work
Sean
OCTS or MERIS might also work
Sean
Using IOP models with simulated water reflectances
Thanks. FYI, MERIS appears to work:
/begin_header
/sensor=MERIS
/delimiter=comma
/fields=lat,lon,rrs_413,rrs_443,rrs_490,rrs_510,rrs_560,rrs_620,rrs_665,rrs_681,rrs_709
/end_header
70,0,0.00237494733963876,0.001802678576363,0.00305618178078461,0.00274473108361568,0.00282988522200625,0.00061756705068773,0.00054362050715546,2.12463647013988e-05,-1.31791231999896e-05
70,0,0.00289074801791505,0.00178790918163039,0.00313129814984807,0.00272298031062988,0.00259184749689683,0.000616008950839469,0.000543586711948629,-0.000134371067116515,-2.98023443686986e-05
...
$ l2gen ifile=2601pix_tgt_sim3_thv30_dphi90_for_polymer.csv.polymer.sb ofile=2601pix_tgt_sim3_thv30_dphi90_for_polymer.csv.polymer.iop.nc suite=GSM
Input file 2601pix_tgt_sim3_thv30_dphi90_for_polymer.csv.polymer.sb is a SeaBASS text file.
Loading default parameters from /Applications/seadas-7.5.1/ocssw/share/common/msl12_defaults.par
Loading default parameters for MERIS from /Applications/seadas-7.5.1/ocssw/share/meris/msl12_defaults.par
Loading parameters for suite GSM from /Applications/seadas-7.5.1/ocssw/share/meris/msl12_defaults_GSM.par
Loading command line parameters
Loading user parameters for MERIS
Loading characteristics for MERIS
Opening sensor information file /Applications/seadas-7.5.1/ocssw/share/meris/msl12_sensor_info.dat
...
Processing Completed
-
- Posts: 3
- Joined: Wed Oct 23, 2019 11:04 am America/New_York
Re: Using IOP models with simulated water reflectances
Hi Sean,
I'm interested in running my own in situ Rrs formatted as .sb file into l2gen, similar to what Eric did. I was wondering if you ever got around to defining a "generic sensor" with a variable wavelength set? If not, do you know when this process will work with OCI wavelengths?
Thanks,
Anna
I'm interested in running my own in situ Rrs formatted as .sb file into l2gen, similar to what Eric did. I was wondering if you ever got around to defining a "generic sensor" with a variable wavelength set? If not, do you know when this process will work with OCI wavelengths?
Thanks,
Anna