Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Integrated Canopy Effects to CCPP/PBL Scheme #253

Open
wants to merge 53 commits into
base: ufs/dev
Choose a base branch
from

Conversation

drnimbusrain
Copy link

@drnimbusrain drnimbusrain commented Feb 7, 2025

This PR adds inline vegetative sub-canopy effects on eddy diffusivities to the CCPP satmedmfvdifq.F scheme, based on a variant of the approach described in Eqs. 2-9 of Makar et al. (2017), which is based on theory originally proposed by Raupach. In our work, we simplify the initial approach without using explicitly 3 additional sub-canopy layers, but rather we are calculating the canopy-estimated Kest profile from Raupach (stability dependent and estimated from various types of observed vegetated canopies; taken from Makar et al. 2017 Eqs. 2-9), and then integrating (at 0.5 m vertical resolution) to get a "best value" of the vertical diffusivity at the model's first resolved layer above the ground for columns that only represent contiguous canopies. This Kest value is subsequently scaled to meet the resolved first model layer's diffusivity Kmod for consistency (see Eq. 2 in Makar et al., 2017). Our main integrated formulation for calculation of canopy modulated eddy diffusivity is the following:

image

Note that this is only an option ('do_canopy') that is turned off by default in FV3 GFS_typedefs when using the AQM coupled mode, and does not change results from the base configuration when left off. When turned on, this option also only affects grid cells that satisfy contiguous canopy conditions found in the code and based on Makar et al. (2017).

These sub-canopy diffusivity parameterizations are facilitated by the addition of five new climatological canopy variables passed via ufs-weather-model and coupled AQM to FV3 for usage in the ccpp-physics PBL scheme. Here we add five new vegetative canopy datasets based on satellite observations, which are currently passed from the AQM chemical component to the ufs-weather-model for incorporation in the optional sub-canopy parameterizations here in the SATMEDMF ccpp-physics PBL scheme. These include the forest canopy height (FCH), forest fraction (FRT), clumping index (CLU), population density (POPU), and leaf area index from (LAI). These datasets have recently been published in a NOAA-ARL Tech Memo and at NCEI.

There is a dependent FV3 PR for the necessary canopy variables found at: NOAA-EMC/fv3atm#928

When do_canopy is turned on (via coupled AQM to the FV3 namelist), we find distinct impacts of the canopy modulated diffusivities on predicted first layer temperature, wind speed, and humidity for example:
image.

These effects create a coupled feedback with additional vegetative sub-canopy effects on photolysis and chemistry in the AQM component, found in an associated PR at: NOAA-EMC/AQM#19. These have combined impacts on predictions of near surface ozone, which is a critical operational UFS-AQM product.

@iri01

@yangfanglin
Copy link
Collaborator

Patrick, Do these datasets cover the globe or only NA ? Is there a particular reason for reading the five new vegetative canopy datasets in the AQM chemical component? Can they be read in like other model boundary conditions, allowing this new parameterization to be enabled even in UFS applications without the AQM component?

@drnimbusrain
Copy link
Author

Patrick, Do these datasets cover the globe or only NA ? Is there a particular reason for reading the five new vegetative canopy datasets in the AQM chemical component? Can they be read in like other model boundary conditions, allowing this new parameterization to be enabled even in UFS applications without the AQM component?

Fanglin, these are great questions. While the canopy data published in a NOAA-ARL Tech Memo and at NCEI are global, we have also generated these datasets for our regional AQM NA domain and are reading them in this way for now. We have done this for ease of initial implementation into the chemical component (for impacts on light attenuation and chemistry) and with respect to the current project's scope and timeline. As future work, we aim to read these canopy datasets in the UFS as global surface fields that could be used across all applications. We had some preliminary progress and collaboration with EMC physics/LSM team who as you know are also currently updating to use satellite LAI products. However, we need a more concentrated effort and collaboration with the EMC physics/LSM team to better align all of our efforts, so as to converge on best data sets and methods to bring these satellite vegetation/canopy datasets to all UFS applications (including the AQM component). Furthermore, there are substantial limitations and uncertainties in these satellite products including global coverage at higher latitudes (e.g., northern hemisphere winter). Thus, to ensure best quality we want to use more robust ways in global extension and gap filling in the future. We have detailed these efforts in current proposal(s) out for review.

@yangfanglin
Copy link
Collaborator

Thank you for providing the extra information. I agree that, for the moment, focusing on the AQM application is the most practical approach.

Copy link

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for providing such an excellent description of the changes. We should all take note!

I have a question about the aux arrays, and I am wondering if linear interpolation etc should in the long term be provided by CCPP as elemental helper routines.

Other than that, this looks good to me.

& ntqv,dtend,dtidx,index_of_temperature,index_of_x_wind, &
& index_of_y_wind,index_of_process_pbl,gen_tend,ldiag3d, &
& errmsg,errflg)
& errmsg,errflg, &
!IVAI: aux arrays

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These aux arrays are purely for diagnosing the implemention, correct? I believe they need to be commented out or removed before merging this into ufs/dev

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for your comments here. Yes, indeed the aux arrays were for diagnosing the implementation. We can comment out for now if that's acceptable path forward.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes please, thanks.

Copy link
Collaborator

@JongilHan66 JongilHan66 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Science questions:

  1. It seems the current canopy parameterization tries to reduce eddy diffusivity (K) with larger canopy. But canopy effect would already have been included through roughness length (z0) (i.e., larger canopy leads to larger z0). Could this additional canopy effect be redundant?
  2. In the present GFS, K is given as a function of the prognostic turbulent kinetic energy (TKE) and mixing length. The reduced K due to the canopy effect parameterization can modify TKE, which may further modify K and have more complicated interaction among K, TKE, and canopy. Adding a sink term in the TKE equation for the canopy effect may be better rather than directly reducing K.
  3. For the CONUS East, the GFS has larger wind speed bias nighttime (both summer and winter) and cold bias nighttime for summer. Can this canopy effect parameterization reduce these biases?

@drnimbusrain
Copy link
Author

Science questions:

  1. It seems the current canopy parameterization tries to reduce eddy diffusivity (K) with larger canopy. But canopy effect would already have been included through roughness length (z0) (i.e., larger canopy leads to larger z0). Could this additional canopy effect be redundant?
  2. In the present GFS, K is given as a function of the prognostic turbulent kinetic energy (TKE) and mixing length. The reduced K due to the canopy effect parameterization can modify TKE, which may further modify K and have more complicated interaction among K, TKE, and canopy. Adding a sink term in the TKE equation for the canopy effect may be better rather than directly reducing K.
  3. For the CONUS East, the GFS has larger wind speed bias nighttime (both summer and winter) and cold bias nighttime for summer. Can this canopy effect parameterization reduce these biases?

Thank you Jongil for your great questions!

  1. Its true that z0 from resolved model in big-leaf approach is impacted by vegetation type, i.e., if forested dominated grid cell then calculate MOST log wind profile down to top of the canopy. While here we further update due to the integrated effects of sub-canopy on turbulence, i.e., below canopy top adjustment/impacts. We do not believe this is redundant, particularly because we scale the new sub-canopy profile to the resolved model K from above canopy effects of z0. Ideally, in future work we want to include explicit sub-canopy effects within the LSM to best adjust z0, zpd, and u* for unified (above + below canopy) turbulence profiles and impacts on resulting heat/momentum/moisture transport. We hope this is part of a larger effort to get global canopy observation data into the UFS for all applications and improved explicit sub-canopy parameterizations in specific LSM components more consistently.
  2. Yes, as we discussed before via email, this approach may be possible. We would have to reformulate our initial parameterizations based on TKE/mixing length, as right now they are specifically derived for modifying K. To be honest, I do not know how this effect would work on modifying TKE/mixing length, as there are not much information on how to constrain this with observational data (as there is for modifying eddy diffusivity, K due to canopy effects). Overall, the effect of the canopy is to reduce the values of K, and scale them to the resolved K in the first model layer.
  3. Yes, we have shown some evidence that the changes imparted by the integrated canopy effects can reduce some of these biases. There are confounding factors, given that most ground observations site (both met or AQ) are not located that close to or within forested canopies.

Example impacts on average U.S. EPA AirNow sites in the eastern U.S. for August 01-15, 2023:
image
image

For more dense met monitors we have also looked at the METAR/MADIS network, but many monitors are not located near/within canopy. For some local METAR sites closer to canopy we see definitive impacts below, but more evaluation is warranted:
image
image

Thank you!

@JongilHan66
Copy link
Collaborator

@drnimbusrain Thanks for the explanation!! The current canopy effects look quite significant especially daytime, whereas the strong wind speed biases and summertime cold biases over CONUS East regions are more serious during nighttime. Hopefully future updates can reduce those nighttime biases.

@@ -655,12 +639,11 @@
[cpopu]
standard_name = canopy_population_density
long_name = population density used for canopy correction
units = 10000people 10km-2
units = people km-2

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mkavulich @grantfirl Are we ok with these units? People is just a counter, should it have no units (dimensionless)?

@drnimbusrain
Copy link
Author

@drnimbusrain Thanks for the explanation!! The current canopy effects look quite significant especially daytime, whereas the strong wind speed biases and summertime cold biases over CONUS East regions are more serious during nighttime. Hopefully future updates can reduce those nighttime biases.

@JongilHan66 Yes, you are correct. This integrated canopy approach is our first implementation. We will have updates in the near future on adding a more explicit sub-canopy layer approach, which we expect to have more impactful results and potentially more improvement on the nighttime biases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants