I tried the NO2 code and found the single quotation marks-- ’ – should be changed to double quotation marks, then it can be run at VISAN.
Can this be done for NO2? I’m using following code:
harp.import_product(paths_2[i],
operations=“tropospheric_NO2_column_volume_mixing_ratio_validity>75;keep(latitude_bounds,longitude_bounds**,tropospheric_NO2_column_volume_mixing_ratio**);bin_spatial(7,35.7,0.1,7,14.1,0.1);derive(tropospheric_NO2_column_volume_mixing_ratio [ppbv])”,
post_operations= “bin();squash(time, (latitude_bounds,longitude_bounds));derive(latitude {latitude});derive(longitude {longitude});exclude(latitude_bounds,longitude_bounds,latitude_bounds_weight,longitude_bounds_weight,count,weight)”))
and getting the error: cannot filter on non-existent variable tropospheric_NO2_column_volume_mixing_ratio_validity
Thanks!
Can this be done for NO2?
Why do you want the tropospheric NO2 in volume mixing ratios? This is not the natural quantity for NO2. It is also not what is in the product.
The way to handle NO2 is already shown in the first post of this topic.
Yes I was working fine with “tropospheric_NO2_column_number_density” but now I wish to correlate S5-P data with ground-base NO2 dataset in ppb. So this is not possible with the NO2 product?
If your ground based data is surface data, then this might be difficult. S5P provides a full tropospheric column, but is actually almost non sensitive at the surface (you can see this from the averaging kernel).
For validation you can check out what is done on the official validation server for S5P
Hi I have been reading the conversation and has caused me a question.
If my purpose of evaluating air quality with satellite information and information from surface stations, wath variable I should use?.
And the variable nitrogendioxide_tropospheric_colum I find negative values, these ones refer to?.
Thanks
Hello @svniemeijer Sir,
Can I get to know the units for all the parametrs in which sentinel 5P is providing data and in which units we may use for better analysis
Thank You
The units in the products can be found in the user manuals of S5P.
The units that you get when ingesting with HARP are defined in the HARP ingestion documentation.
And what units to use for analysis is up to you. It depends on what you want to do.
Hello @svniemeijer Sir,
I have a query regarding the availability of Sentinel 5P Near Real Time data for 2019 now it was not available for whole world, is there any specific reason?
If you are looking at 2019 data then you should only be using Offline or Reprocessed data. NRTI data is only for when you need the most recent measurements and can’t wait for the Offline data.
I have one querry reading the Validity filter values as I read the Product read me files for CO and found the qa_value>0.7 and if we multiply this by a scale factor 100 it will be 70. Kindly guide me.
The values of the validity
variables in HARP are indeed a factor 100 times the value of the qa_value
from the ingested products. This was done to allow the validity
variable to be represented as an 8 bit integer (instead of having to use an inefficient 32 bit floating point value).
export_path=‘sentinel.nc’
product = harp.import_product(r"S5P_OFFL_L2__NO2____20181101T054736_20181101T072905_05446_01_010200_20181107T073552.nc",
operations= “latitude >= 5[degree_north] ; latitude <= 38[degree_north] ;
longitude>=67 [degree_east];longitude<=98 [degree_east];tropospheric_NO2_column_number_density_validity>75;
bin_spatial(661,5,0.05,621,67,0.05);
derive(latitude {latitude});derive(longitude {longitude});
exclude(latitude_bounds,longitude_bounds,latitude_bounds_weight,longitude_bounds_weight,count,weight);
derive(tropospheric_NO2_column_number_density [Pmolec/cm2]);
keep(latitude,longitude,tropospheric_NO2_column_number_density)”,
post_operations=“bin(); squash(time, (latitude_bounds,longitude_bounds))”
)
harp.export_product(product, export_path,file_format=“netcdf”)
I used these above codes and when i tried to export it in nc file and saved the new file it exported in .nc format. But when I tried to plot this it shows error. Is their any problem with the codes?
What do you mean with i open this it did not show anything
? Open where? What does it show? What did you expect?
file=xr.open_dataset(‘sentinel1.nc’)
no2=file[‘tropospheric_NO2_column_number_density’]*10**3
fig=plt.figure(figsize=(40,15))
ax = plt.axes(projection=ccrs.PlateCarree())
extent = [60,100,0,40]
no2[0].plot.pcolormesh(ax=ax, x=‘longitude’, y=‘latitude’,
add_colorbar=True, cmap=‘seismic’,
transform=ccrs.PlateCarree(),vmin=0,vmax=0.2)
ax.set_extent(extent)
ax.add_feature(cartopy.feature.RIVERS)
ax.set_title('S-5p L2 NO$_2$ ({}) '.format(str(date[0])))
ax.coastlines(‘10m’)
ax.stock_img()
ax.gridlines()
…
…
NameError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_12484\3434193819.py in
9 ax.set_extent(extent)
10 ax.add_feature(cartopy.feature.RIVERS) # add river
—> 11 ax.set_title('S-5p L2 NO$_2$ ({}) '.format(str(date[0]))) # add title
12 ax.coastlines(‘10m’) # add coastline
13 ax.stock_img() # add the color of earth
NameError: name ‘date’ is not defined
…
…
Please have a look at this use case. It shows you how to create a grid with HARP and then use cartopy to plot the results.
Dear Sander
Could I derive SO2_column_number_density in [Pmolec/cm2] instead of derive(SO2_column_number_density [DU]
operations = "latitude >= 4.9[degree_north] ; latitude <= 38[degree_north] ;
longitude>= 60 [degree_east]; longitude<=98 [degree_east];SO2_column_number_density_validity>50 ;
keep(latitude_bounds,longitude_bounds,datetime_start,datetime_length,SO2_column_number_density,SO2_type);
derive(datetime_stop {time} [days since 2000-01-01]);
derive(datetime_start [days since 2000-01-01]);
exclude(datetime_length);
bin_spatial(3311,4.9,0.01,3801,60,0.01);
derive(latitude {latitude});
derive(longitude {longitude});
derive SO2_column_number_density in [Pmolec/cm2] "
reduce_operations = “squash(time, (latitude, longitude, latitude_bounds, longitude_bounds));bin()”
Thank You
You can, but you will have to use the right syntax. Have a look at your own post Map Sentinel 5p CH4, SO2 and CO Data (Visan) - #30 by Felicidad on how this was done for tropospheric NO2.
Thank You Sander.
Yes, I modified the NO2 script by your guidance and by the help of this forum.
I already mention the desired script for SO2 above (Map Sentinel 5p CH4, SO2 and CO Data (Visan) - #35 by Felicidad). Could U check once, If Possible?