Skip to content

urbanemissions-info/TROPOMI_EXTRACTS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TROPOMI_EXTRACTS

TROPOMI (TROPOspheric Monitoring Instrument) is the satellite instrument on board the Copernicus Sentinel-5 Precursor (S5P) satellite. TROPOMI monitors trace gases and aerosols relevant for air quality and climate.

In this project, TROPOMI data of pollutants NO2, SO2, HCHO and O3 is extracted via Google Earth Engine (GEE) for 104 airsheds that cover 131 NCAP cities. Data in extracted from 2019 to 2023.

Results - Data and Plots

  1. TROPOMI NO2 extracts - NCAP
  2. TROPOMI SO2 extracts - NCAP
  3. TROPOMI HCHO extracts - NCAP
  4. TROPOMI O3 extracts - NCAP

How to run the script?

Run scripts from the project directory. Run scripts in the following order.

  1. tropomiextract.py code helps in extracting TROPOMI dataset for a given airshed. It downloads a tif image and a csv for a 15 day average period. HCHO, NO2, SO2, O3 pollutants are covered in this code. There are only two user inputs needed (inside code) to execute this script: a. pollutant_to_extract - one of these HCHO, NO2, SO2, O3 b. year_to_extract - 2019 onwards.

Example usage: python scripts/tropomiextract.py NO2 2023

1.1 Ideally, you would have 24 csvs per year. But due to connectivity issues, the above code would skip producing a few csvs. Use check.py to see which airsheds have incomplete extracts.

  1. tropomi_extract_monthly.py code helps in extracting TROPOMI dataset for the given gridextent. It downloads a tif image and a csv for a monthly average period. HCHO, NO2, SO2, O3 pollutants are covered in this code. There are only two user inputs needed (inside code) to execute this script: (Also change the path to gridextent shapefile and name of it in the code - lines 140 and 54) a. pollutant_to_extract - one of these HCHO, NO2, SO2, O3 b. year_to_extract - 2019 onwards.

  2. dataprocess.py: Once all csvs are downloaded, Run this code to create a single timeseries csv for each airshed. These csvs are stored in timeseries csv.

Example usage: python scripts/dataprocess.py NO2 INDIA_OR_AIRSHED If the second argument is INDIA, dataprocess will happen only for all India extracts; otherwise, it will run for all 104 airsheds

  1. timeseries_plot.py: If you want to see the timeseries plot based on the timeseries CSVs produced above. Example usage: python scripts/timeseries_plot.py NO2 hyderabad

  2. season_plot.py: If you want to see the season plot based on the timeseries CSVs produced above. Example usage: python scripts/season_plot.py NO2 hyderabad

  3. run_plots.py: Run above plots for all airshed-pollutant combinations. Example usage: python scripts/run_plots.py season_plot

  4. regrid.py: Re-grids the All India Extracts to 0.1 degree resolution and created a csv, polygon layer of these grids. Example usage: python scripts/regrid.py NO2

  5. india_grids_composite.py: Makes a single composite csv of the All India grids for all 60 months.

  6. grid_maps.py:

Directory Tree

├── data (This folder is not added to GitHub)
│ ├── HCHO_csvs
│ ├── HCHO_tifs
│ ├── NO2_csvs
│ ├── NO2_tifs
│ ├── SO2_csvs
│ ├── SO2_tifs
│ ├── O3_csvs
│ ├── O3_tifs
│ ├── gridextents_shponly : Shapefiles of 104 airsheds
│ ├── timeseries : Timeseries CSV for each airshed<>pollutant

All csvs/tifs are updated between 2019-01-01 to 2023-12-31

├── scripts
│ ├── tropomiextract.py
│ ├── check.py
│ ├── dataprocess.py
│ ├── plot.py
│ ├── variation_plot.py

├── plots (This folder is not added to GitHub)
│ ├── satellite_tropomi: Plots generated by plot.py
│ ├── satellite_tropomi_variation: Plots generated by variation_plot.py

About

Scripts to gather Tropomi Extracts for airsheds

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published