# data[].attributes.body
Unfortunately my plot did not turn out as expected and it was embarrassing to present it. I'll keep working on it and on my total water vapor column! Thanks for the course to all the instructors and colleagues. It has been very enriching. R. Perdiguer-Lopez.

# data[].attributes.body
I would like to apologise as my work was not much impressive so to avoid from presenting live I thought to upload it at the end of
the day. But it was my first time with CAMS data and I really learned a lot. Thank you. -Pratichhya

# data[].attributes.body
CAMS AOD on left and top. Sentinel 3 AOD for the same time (bottom right) and a random day in November (bottom middle).

# data[].attributes.body
File is a bit large due to the gifs. Might have to download it to view.
I took CAMS NO2 forecasts at noon and TROPOMI NO2 column and create gifs with daily plots for may 2019+2020 over a shipping lane. TROPOMI is not qa-filtered so its rather meaningless. Was just playing around.

# data[].attributes.body
IASI CO comparison (Bruna, Monica & Francesca)

# data[].attributes.body
A brief overview of Californian fires during September 2020 and Raikoke volcano erruption as detected by TROPOMI using aerosol products.

# data[].attributes.body
During the biomass burning events in Australia, a large amount of smoke and trace gases was emitted. The plumes crossed the Tasman Sea, reaching New Zealand after a few hours, and then crossed the Pacific Ocean reaching the western coast of South America to cover the entire Southern Hemisphere.

To monitor the propagation of the plume two different satellite measurements where used, Aerosol Index from GOME-2 Level 3 product and carbon monoxide total column measured by TROPOMI instrument. The first set were analysed using xarray python package while CO data were investigated using the ESA HARP Atmospheric Toolbox.

To visualize the the Aerosol Absorbing Index I produced two animations using two different projection, the equirectangular projection and a South Polar orthographic projection. The second makes easy to visualize the long range tansport of the aerosol on hemispheric scale.

For the Sentinel-5p CO data the HARP toolbox was used. Firstly I compared the original data with the data regridded by HARP on a 0.1 deg x 0.1 deg to show the imperfection on visualizing TROPOMI data using scatterplot. Then, from a comparison between AAI data and CO total column it is easy to see how the two plumes perfectly matches and how they cover the entire Southern Hemisphere.

Unfortunately the animation of CO plots needs more time than I espected and I used a few plots (30/12/2019, 03/01/2020, 12/01/2020, 20/01/2020) to compare with the AAI animation.

On the 12/01/2020 over the Pacific Ocean there is a interesting feature to investigate.

# data[].attributes.headline
Model comparisons of surface NO2 distribution

# data[].attributes.subject
Model comparisons of surface NO2 distribution

# data[].attributes.headline
There was a huge wildfire in Biebrza National Park which is one of the biggest wetland and peatland area in Europe, in April. I verified is it possible to observe NO2 emission's changes at such small area (15-20 pixels). There are attached 7 map: from 18th of april (before wildfire) to 24th of April (after the fire). From 20th to 22nd of April it was observed signifiant increase of NO2 emissions. The median   based on weekly data is high, too. I compared values extracted from S5P data (pixel where the closest stations is located) and local air quality monitoring. Morover, some photos from the place are included.

# data[].attributes.subject
There was a huge wildfire in Biebrza National Park which is one of the biggest wetland and peatland area in Europe, in April. I verified is it possible to observe NO2 emission's changes at such small area (15-20 pixels). There are attached 7 map: from 18th of april (before wildfire) to 24th of April (after the fire). From 20th to 22nd of April it was observed signifiant increase of NO2 emissions. The median   based on weekly data is high, too. I compared values extracted from S5P data (pixel where the closest stations is located) and local air quality monitoring. Morover, some photos from the place are included.

# data[].attributes.body
Played a game of "Find the Emissions from Berlin" and lost. So here are some graphs of NO2 tropospheric columns over Central Europe from Nov. 2nd - Nov. 6th, 2020. Just chose an arbitrary week, nothing special about this at all... :)

Wednesday, Nov. 4th is omitted because the file refused to be read, and I did not feel like fighting with python. Knew I would lose that too ;)

Try playing the game of "Find Emissions from Berlin"!

# data[].attributes.headline
Comparison of TROPOMI and CAMS in the Nordics (Henrik Virta)

# data[].attributes.subject
Comparison of TROPOMI and CAMS in the Nordics (Henrik Virta)

# data[].attributes.body
Some simple visual comparisons of TROPOMI and CAMS in the Nordic countries during June 2019. Two CAMS figures, averages at 12UTC: one is surface concentrations, the other is column concentrations. CAMS column shows some good correlation with TROPOMI near Denmark, but over the Gulf of Finland the situation is more complex. CAMS is of course snapshot at 12UTC (14 Finnish time), whereas TROPOMI is always about 13:30 local solar time. Still I'm not expecting there to be a significant positive "bias" in concentrations towards the west, as the first daily peak in NO2 due to commuter traffic should occur much earlier in the day (around 8:00).

# data[].attributes.body
Struggled getting CAMS to plot across 0 longitude.

# data[].attributes.body
Comparison of NO2 trop. columns before and after the lockdown restrictions in the Mediterranean region and ports. The time periods that were used cover the first week of April 2019, March 2020 and April 2020. Data acquired by temis.nl.

# data[].attributes.body
CO and NO2 merged orbits from S5P for 2 different days in August 2019 over S. America

# data[].attributes.body
The 8-days average of NO2 column above India. I am interested in measuring of the emission from shipping, so the data above the land was dismissed. The major ship lane on the south-eastern part of the plot is clearly visible. Another one above the Arabian Sea is emerging as well. However, the main purpose of the averaging is the estimation of the pollution that comes from the land but stays above the ocean and I think with those results such estimation can be made. The calculations were made in Python using Harp toolbox.

# data[].attributes.body
The data that we used is the GEOMS formatted data from http://data.pandonia-global-network.org/Athens-NOA/Pandora119s1/L2_geoms/
Note that HARP does not support the .txt files from that site

# data[].attributes.headline
Georges' Machine Learning Project: Ship Detection, Ahoy!

# data[].attributes.subject
Georges' Machine Learning Project: Ship Detection, Ahoy!

# data[].attributes.body
Ok peeps, I'm working on developing a machine learning model for vessel detection using Sentinel-1 SAR data. Is this cool? Yes. Is this novel? Not at all, see [1], [2], [3] among many other publications. In any case, it's a neat learning experience.

I can already tell that this is not going to get done today because of the amount of pre-labeling I need to do in order to create the required training data. See attached screenshot of the tool I am using to manually label a SAR image. I have to do that at least 100 times. In any case, I will go ahead a summize my approach. Here we go:

Step 1: Familiarized myself with vessel traffic and settled for the region around the Suez canal:
https://www.marinetraffic.com/en/ais/home/centerx:-12.0/centery:25.0/zoom:4

Step 2: Acquired a bunch of Sentinel-1 SAR images and started to manually label them using labelImg program (see screenshot):
https://github.com/tzutalin/labelImg#labelimg

Step 3: Training a custom object detector using TensorFlow and TensorFlow Object Detection API:
https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/training.html

Step 4: Test out the trained model with a whole bunch of validation SAR images.

Step 5: Create a data ingestion and labeling pipeline where I can automatically apply the trained model on SAR data direclty pulled from the Sentinel Data Hub on a daily basis.

Step 6: Observe prediction confidence levels and compare results with past work.

And that's "it". Now the question is: do I want to spend the rest of my day mindlessly labeling SAR data for machine learning training or do I want to play with some of the cool stuff we learned over the course of this training :). I'm leaning towards the latter and maybe just label 3 image a day for the next 33 days :P

[1] https://www.sciencedirect.com/science/article/pii/S2468013319300622

[2] https://elib.dlr.de/118764/1/Identification%20of%20SAR%20Detected%20Targets%20on%20Sea%20in%20Near%20Real%20Time%20A.pdf

[3] https://www.mdpi.com/2072-4292/11/7/765/htm

# data[].attributes.headline
Evolution of AAI from 20191228-20200120 during Australian fires

# data[].attributes.subject
Evolution of AAI from 20191228-20200120 during Australian fires

# data[].attributes.body
Antonio

# data[].attributes.body
Evolution of Aerosol Layer Height from 07-09-2020 to 11-09-2020 during Californian fires.

# data[].attributes.body
Evolution of Aerosol Index from 07-09-2020 to 11-09-2020 during Californian fires.

# data[].attributes.body
Monitoring the aerosol transport using TROPOMI UVAI (Aerosol Index) & TROPOMI ALH (Aerosol Layer Height) during californian fires 2020  (Data from Sentinel Hub)

# data[].attributes.headline
NO2 profile from the model over Brussels

# data[].attributes.subject
NO2 profile from the model over Brussels

# data[].attributes.headline
NO2 vertical column density over the central Mediterranean

# data[].attributes.subject
NO2 vertical column density over the central Mediterranean

# data[].attributes.body
Monthly NO2 averages (S5P-TROPOMI) as well as surface wind vectors (ERA5).

Notice the emissions from ships between Malta and Sicily. This is one of the busiest stretches of waters in the world.

# data[].attributes.body
A bunch of models already exist to fill in gaps of data in L3 products to obtain L4 products. The input and output of these models can be used to train neural networks and observe how machine learning can could develop reliable models as well. Would love to experiment with this and draw some comparative analysis between existing models and trained models. Would also love to incorporate Aeolus data in training these models. Yes, this is gargantuan work. Holler at me if you want to experiment together or at least brainstorm ideas: Georges.Labreche@esa.int :)

# data[].attributes.body
Compare and plot Total Water Colum retrieved from satellite to compare with ground observations.

# data[].attributes.headline
I will add the wind field during the California fires and will show the fire danger index at the start of the event (around mid-august)

# data[].attributes.subject
I will add the wind field during the California fires and will show the fire danger index at the start of the event (around mid-august)

# data[].attributes.body
Use harp regridding on own data and calculate the multi-day average of Tropomi NO2

# data[].attributes.headline
Comparing CO over Europe before and after lockdown

# data[].attributes.subject
Comparing CO over Europe before and after lockdown

# data[].attributes.body
We would like to compare IASI data for Carbon Monoxide columns over Europe in two days (one in February the other one in April) and have a look at the differences. We would also like to compare these results with the CAMS reanalysis.
(one day or one week?)

(Bruna, Monica & Francesca)

# data[].attributes.body
Visualizing the bahaviour of NO2 and O3 concentrations
during lockdown for some European cities using CAMS data.

# data[].attributes.body
Timeseries Tropomi and CAMS NO2 over small area in mediterranean (shipping lane). Different CAMS vertical levels.

# data[].attributes.headline
Visual comparison of TROPOMI and CAMS NO2 in Finland (Henrik Virta)

# data[].attributes.subject
Visual comparison of TROPOMI and CAMS NO2 in Finland (Henrik Virta)

# data[].attributes.body
Maybe also between Finland and Sweden if time allows. One month in 2019, longer if time allows.

# data[].attributes.headline
Comparsions of CAMS data and downscaled NO2 maps from Tropomi (my current on-going project) during March 2020 

# data[].attributes.subject
Comparsions of CAMS data and downscaled NO2 maps from Tropomi (my current on-going project) during March 2020 

# data[].attributes.body
Tracking NO2 and CO concentrations from the forest fire occurred in 21 July, 2019 in Portugal using TROPOMI to analyse the spatial pattern of smoke plume.

# data[].attributes.headline
For renaming downloaded files- see comments below

# data[].attributes.subject
For renaming downloaded files- see comments below

# data[].attributes.body
import glob, os
folder=''
for filename in glob.iglob(os.path.join(folder, '*.zip')):
os.rename(filename, filename[:-4] + '.nc')

# data[].attributes.body
Maybe something on AOD/AAI for the godzilla dust event from June 2020. Extract the satellite data for Cape Verde. While we at it download CAMS data and compare to the satellite.

# data[].attributes.headline
Learn how to use AK in model/satellite comparisons.  Use the model data at different levels and the ak to calculate the profile and compare the total column obtained from the model and the total column from the satellite.

# data[].attributes.subject
Learn how to use AK in model/satellite comparisons.  Use the model data at different levels and the ak to calculate the profile and compare the total column obtained from the model and the total column from the satellite.

# data[].attributes.body
Tracking wildfires plumes emitted from Australian 2020 bushfires using TROPOMI CO L2 data and GOME-2 AAI measurements.

# data[].attributes.body
A couple of Jupyter notebooks using CAMS and C3S data (solar irradiance and 2m surface temperature)
available on Github.

# data[].attributes.headline
reveal shipping emission patterns of NO2 and SO2 in the Mediterranean

# data[].attributes.subject
reveal shipping emission patterns of NO2 and SO2 in the Mediterranean

# data[].attributes.body
e.g.

# data[].attributes.headline
combine several species/products to identify emission sources/sectors

# data[].attributes.subject
combine several species/products to identify emission sources/sectors

# data[].attributes.body
E.g. using ratios of co-emitted species. Not sure which are useful

# data[].attributes.headline
NO2 column number density: zoom over Italy

# data[].attributes.subject
NO2 column number density: zoom over Italy

# data[].attributes.body
Image created using the Jupyter notebook with the harp package

# data[].attributes.body
HARP is neato peato!

# data[].attributes.body
S5P vs. Pandora NO2 comparison

# data[].attributes.headline
Python script for downloading S-5P by date, location and product

# data[].attributes.subject
Python script for downloading S-5P by date, location and product

# data[].attributes.attachment_link.readable_text
from sentinelsat import SentinelAPI

api = SentinelAPI(user='s5pguest', password='s5pguest', api_url='https://s5phub.copernicus.eu/dhus')

products = api.query(
    date=('20180101', '20180501'),
    platformname='Sentinel-5',
    area='POLYGON ((0 49, 0 50, 15 50, 15 49, 0 49))', # this is an arbitrary polygon across france and germany
    area_relation='contains',
    producttype='L2__NO2___'
)

for id in products:
    print(products[id]["title"])

print(len(products))

api.download_all(products)

# data[].attributes.body
CO column over Siberia

# data[].attributes.headline
Script to download many S-5P images by Google Earth Engine. I tried to explain every step. I hope it will be useful :)

# data[].attributes.subject
Script to download many S-5P images by Google Earth Engine. I tried to explain every step. I hope it will be useful :)

# data[].attributes.attachment_link.readable_text
//required tool
var batch = require('users/fitoprincipe/geetools:batch')

//define area of interest (in my case it was Poland) - it shloud be upload to your data on google drive
var polska = ee.FeatureCollection('users/patrykgrzybowski1991/POL_adm1');
//define collection of images you want to download
var collection_july = ee.ImageCollection('COPERNICUS/S5P/NRTI/L3_NO2')//('COPERNICUS/S5P/NRTI/L3_NO2')
  //define bounds of filetering
  .filterBounds(ee.FeatureCollection('users/patrykgrzybowski1991/POL_adm0'))
  //define time of filtering
  .filterDate('2019-07-01', '2019-07-05')
  //cloud mask - downloand only pixels which cloud fraction is lower than eg. 40%
  .map(function(img){return ee.Image(img.select('tropospheric_NO2_column_number_density')).updateMask(img.select('cloud_fraction').lt(0.4))}) 
  
//download data
//collection_july - name of collection
//doktorat - name of folder where data will be dwonloaded
//scale - pixel resolution in meters
batch.Download.ImageCollection.toDrive(collection_july, "doktorat", {scale:7000});

# data[].attributes.body
In group 1 some people asked for my code to download Tropomi data from temis in a more automated fashion. I use python+wget (http://www.temis.nl/data/wget.html) for it. Disadvantage is that you download all orbits of a day.
I put the code on Github. Feel free to download https://github.com/criess374/online_training.git

# data[].attributes.headline
Here links to the presentations of Daniel Jacob's course (Harvard)

# data[].attributes.subject
Here links to the presentations of Daniel Jacob's course (Harvard)

# data[].attributes.attachment_link.readable_text
Lecture slides

Below are powerpoint lecture slides for my undergraduate course in atmospheric chemistry and for my lectures in graduate courses (co-taught with Steve Wofsy) on atmospheric chemistry and modeling. The undergraduate course is supported by my Introduction to Atmospheric Chemistry textbook along with Supplemental Problems. The modeling lectures are supported by my Modeling of Atmospheric Chemistry textbook.
Atmospheric chemistry (undergraduate course)
Atmospheric chemistry (graduate course)
Atmospheric modeling (graduate course)

Professional advice presentations

Below are professional advice presentations that I have given to Ph.D. students over the years.

# data[].attributes.attachment_link.title
Atmospheric Chemistry Modeling Group, Harvard University

# data[].attributes.attachment_link.description
Below are powerpoint lecture slides for my undergraduate course in atmospheric chemistry and for my lectures in graduate courses (co-taught with Steve Wofsy) on atmospheric chemistry and modeling. The undergraduate course is supported by my Introduction to Atmospheric Chemistry textbook along with Supplemental Problems. The modeling lectures are supported by my Modeling of Atmospheric Chemistry textbook.

# data[].attributes.body
Hi!

# data[].attributes.body
Hello !

# data[].attributes.body
Presentation

# data[].attributes.body
Howdy! Sorry, I won't be able to make it to this evening's session but here's my intro slide at least!

# data[].attributes.body
Members:
| Konstantinos Michailidis
| Antonio Giovanni Bruno
| Jamie May
| Marc Rußwurm
| Lluís Pérez-Planells
| Luigi Selmi
| Georges Labreche
| Pratichhya Sharma
| Michael Weston
| Iris Monfort