Using HARP and CAMS AQ forecast profile as an apriori to derive TROPOMI NO2 tropospheric column

Hi Simon,

What you are asking for is not a simple process. You won’t be able to do this with HARP alone in any case.

First. The way to do this is to bring the CAMS data onto the satellite grid. You need the AMF and AVK as they have been used for the retrieval, so you shouldn’t regrid them (not even considering that the meaning of a regridded AMF or AVK is a bit dubious).

You need to get a model grid that matches the time of the single orbit that you want to adapt.
You can either use the nearest in time (easiest approach, and most often used) or perform a temporal regridding of the nearest model grids.

For collocating in space you will need to extract a model profile for each satellite pixel. Again, you can take the profile from the nearest grid point, or you can bi-linearly interpolate the four surrounding grid point data to an averaged profile at the center position of the pixel.

You can theoretically use harpcollocate to find the nearest grid point for each satellite pixel by using flatten() to remove the latitude and longitude on the model data. You then have a flat list of grid points (each with its own lat/lon) on which you can perform a -nx point_distance with harpcollocate. However, this is likely going to be very slow. If you are just looking at a small area on the map and prefilter the satellite data to this area before collocating, then this may still be an option though.
Also, for this to work, you need to bring the CAMS data into HARP format. HARP provides import routines for the CAMS global data in GRIB format, but currently does not support CAMS regional data in either GRIB or netCDF format. So you would have to create such a converter yourself.

Once you have both the model profile and satellite pixel information, you need to regrid the model profile to a partial column profile on the satellite vertical pressure grid. If you have the collocation results from above, you could use the HARP regrid() operation using the collocation result file as parameter. Otherwise you will have to do this yourself. Note that the HARP regrid() operation doesn’t do anything to compensate for any surface pressure difference between the model and satellite grid. I also have my questions about the “simply modify one of the pressures to match the other” statement in the PUM. This is not advisable if you already have partial columns. You should probably do the replacement before going from concentrations to partial columns (or somehow adjust the height difference in the partial column values).

Finally, you would then have to perform the steps as provided in the formula yourself. HARP already provides all the quantities that you need from the S5P product. $A^{trop}$ = tropospheric_NO2_column_number_density_avk, $M^{trop}$ = tropospheric_NO2_column_number_density_amf, $N_{v}^{trop}$ = tropospheric_NO2_column_number_density. It is the $x_{m,l}'$ that is the tricky one to get.