noaa-oar-arl / canopy-app

Stand-alone/column canopy codes and parameterizations
MIT License
6 stars 6 forks source link

[biogenics] Add air quality/ozone stress gamma based on GFSv16 #124

Open drnimbusrain opened 3 months ago

drnimbusrain commented 3 months ago

@MaggieMarvin This should be relatively simple addition, where we can add the MEGAN3 function for calculating "GAMMA_AQ", which depends on a current air quality index, i.e. in MEGAN3 it uses ozone W126 (ppm hours-1). This can be calculated based on input ozone concentrations. Initially, we can make an option for a a set constant ozone mixing ratio input in the namelist and calculate the W126 (easier) in canopy-app, but it should be spatially dependent for regional and global scale applications, thus calculated using gridded input ozone concentrations to canopy-app (trickier).

drnimbusrain commented 3 months ago

Also, realized that we can add the GFS ozone mixing ratio from the 3D files, gfs.t12z.atmf.nc (variable name = 'o3mr'), which are available on AWS as similar to the surface files (i.e.,gfs.t12z.sfcf.nc) . Maybe @angehung5 can help us add these first model layer ozone concentrations to the example and global canopy inputs, and update her python global_data_process.py script, we should be able to have this spatially dependent calculation of W126 ozone for input into the air quality/ozone stress gamma index. I think we should incorporate this to canopy-app.

drnimbusrain commented 3 months ago

The main issue, however, is that the W126 ozone index is based on a long-term averaging, not instantaneous GFS ozone mixing ratios. Therefore, may be best to extract the 1st model layer ozone from GFS for 2021 - 2024 and calculate the W126 as an offline pre-process step and add the effective climatological index to a new "canopy" variable to the example files and AWS.

drnimbusrain commented 3 months ago

Based on my last comment, I have now begun pulling (from AWS) and extracting the gridded, 13-km NetCDF 1st-model layer GFS ozone concentration files for entire data record (the files will be on Hopper; //groups/NA22OAR/pcampbe8/gfsv16_ozone_w126/$yyyy/$mm/gfs.t12z.o3mr.sfc.$yyyy$mm$dd.$hhh.nc), and maybe @MaggieMarvin could help use Python to do the W126 calculations based on this and create the climatological W126 file to get the 3-year average canopy file? In fact, at the end of this week we will have exactly 3 years of gridded NetCDF hourly o3mr concentrations from start of GFSv16 record (03/23/2021 - 03/23/2024). What a coincidence!

In the meantime, I can add the necessary gamma ozone codes to canopy-app so that the infrastructure is ready for the gamma_aq based on MEGAN3.

drnimbusrain commented 2 months ago

@MaggieMarvin As discussed in today's meeting, it would be helpful if you can work on the W126 calculation using the required 3-years of GFSv16 ozone (March 22, 2021 - March 22, 2024) I extracted to Hopper at: /groups/NA22OAR/pcampbe8/gfsv16_ozone_w126/

Its a relatively easy calculation, and would generate a global W126 ozone file (units of ppm hours-1). Then we can work with Wei-Ting to add it to the external climatological canopy inputs for canopy-app. We can then work on the canopy-app code modifications for MEGAN3-like gamma_aq factor.

drnimbusrain commented 2 months ago

@quaz115 As discussed, if you can add other potential gamma_aq based factors, references, and data sources here, we can see about adding them to canopy-app as options, and maybe sensitivity runs for Maggie's paper.