Atmospheric correction with ATCOR
The latest version of our atmospheric correction procedure is being developed in a private GitHub repository - email us if you require access. The process is still being refined to cope with the variety of environments and conditions flown by NERC-ARF and feedback is welcome.
NERC-ARF Specific Instructions
For running on the NERC-ARF systems there are a number of conventions and scripts used for processing.
Directory Structure
Processing
processing/hyperspectral/atmospheric_correction/<flightline>
ATCOR prefers to have all files for a flightline in a single directory
Delivery
The following directories are included in addition to the ones included with a standard hyperspectral delivery:
flightlines/level2_ac (the level1 corrected *atm.bil) flightlines/mappped_ac (the level3 corrected *atm.bil) mosaic/ (if a level3 corrected mosaic has been generated - multiple subdirs if required) doc/ (standard documentation on procedure - not flight specific) screenshots/ fJJJll3b_atm.jpg AtmosCorr_readme-DATE.pdf (description of all AC work and parameters, software versions, algorithms, include a table with what has been processed, e.g. | Topography | YES | | BRDF | YES | | Cloud shadow | No |
Running ATCOR
Running ATCOR comprises generating the .inn parameter file and then running ATCOR through IDL. For files which have entire bands masked out (e.g., Fenix data from late 2014 - 2015) these bands need to be removed before running. The script run_atm_correction_atcor.py will run the entire process on a file which has been masked using aplmask using the NERC-ARF default parameters.
run_atm_correction_atcor.py -d <delivery_directory> <masked_bil_file>
The directory the masked bil file is in will be used for all ATCOR files so it is recommended a separate directory is used for each line.
To run multiple files a separate queue has been set up for ATCOR. To submit ATCOR jobs to the grid a command similar the below can be used:
qsub -q atcor.q -P arsfdan -m n -b y -N acor_test \ -o /users/rsg/dac/scratch_network/atcor_runs/2017_166/f166071b/ \ -e /users/rsg/dac/scratch_network/atcor_runs/2017_166/f166071b/ \ /users/rsg/dac/scratch_network/git_repos/arsf_atcor_scripts/scripts/run_atm_correction_atcor.py \ -d /users/rsg/arsf/arsf_data/2017/flight_data/spain/RG17_26-2017_166_Albacete/delivery/RG17_26-166-hyperspectral-20170823 \ /users/rsg/dac/scratch_network/atcor_runs/2017_166/f166071b/f166071b_masked.bil
Note only a single job will run at once.
Non-standard parameters
For more control over the parameters passed to ATCOR, for example to include microtops data to define visibility, the gen_inn_atcor.py script can be used. The .inn files can be opened in the ATCOR GUI and run through that or the batch_run_atcor_inn.py can be used.