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

Add Meier roughness parameters be on the paramfile #2889

Open
wwieder opened this issue Nov 18, 2024 · 7 comments
Open

Add Meier roughness parameters be on the paramfile #2889

wwieder opened this issue Nov 18, 2024 · 7 comments
Assignees

Comments

@wwieder
Copy link
Contributor

wwieder commented Nov 18, 2024

For PPE work @adrifoster and @linniahawkins noticed that Meier parameters are all hard coded.

Looks like all of these are in clm_varcon

  !------------------------------------------------------------------
  ! Surface roughness constants
  !------------------------------------------------------------------
  real(r8), public, parameter :: beta_param = 7.2_r8  ! Meier et al. (2022) https://doi.org/10.5194/gmd-15-2365-2022
  real(r8), public, parameter :: nu_param = 1.5e-5_r8  ! Meier et al. (2022) kinematic viscosity of air
  real(r8), public, parameter :: b1_param = 1.4_r8  ! Meier et al. (2022) empirical constant
  real(r8), public, parameter :: b4_param = -0.31_r8  ! Meier et al. (2022) empirical constant
  real(r8), public, parameter :: cd1_param = 7.5_r8  ! Meier et al. (2022) originally from Raupach (1994)
  real(r8), public, parameter :: meier_param1 = 0.23_r8  ! slevis did not find it documented
  real(r8), public, parameter :: meier_param2 = 0.08_r8  ! slevis did not find it documented
  real(r8), public, parameter :: meier_param3 = 70.0_r8  ! slevis did not find it documented, but to the question "What is the 70 in the formula for roughness length" bard.google.com responds "[...] a dimensionless constant [...] originally introduced by von Karman. It is based on experimental data and is thought to represent the ratio of the average height of the surface roughness elements to the distance that the wind travels before it is slowed down by the roughness."

I'm happy to put these on the latest parameter file, but wonder if some of the the constants should be treated as constants and not subject to PPE perturbation? Suggestions from @swensosc, @dlawrenncar or @olyson on parameters (and their ranges) could also be helpful?

@wwieder wwieder self-assigned this Nov 18, 2024
@adrifoster
Copy link
Collaborator

Just to note from what I am finding:

cd1_param is a cd1 in the paper, from Raupauch:

"The single parameter cdl determines d/h. The value cd~ = 7.5 is obtained
by requiring Equation (8) to match the data in Figure lb. A change of +10% in
cdl changes d/h by +1.5% and zo/h by -1% (at A = 2).
As shown in Figure 1, the fit obtained from Equations (7)"

@wwieder
Copy link
Contributor Author

wwieder commented Nov 19, 2024

From @gbonan

Ronny's parameterization for vegetated roughness length and displacement height is given by his eqs. 7-13. Four parameters are required: cw, cs, cr, c. He estimated the parameters by fitting the equation set to observations. The parameters vary by PFT. Because they are estimated to fit the observations, I am not sure if these are "free" parameters that can vary, or are they the parameterization itself. The parameters have uncertainty, but that uncertainty is contained in the standard errors of the parameters (as obtained by the fitting). Perhaps a better thing is to add uncertainty (say +/- 10%) to the calculated roughness length and displacement height. Linnia and Daniel need to weigh in. Here are the fitted parameter values. Presumably they are on the parameter file.

image

@wwieder
Copy link
Contributor Author

wwieder commented Nov 19, 2024

Looking at Gordon and Adrianna's posts, I'm also wondering if the parameters that could be considered in the PPE are z0v_Cs, z0v_Cr,z0v_c, & z0v_cw, which are already on the parameter file and pft-specific, or is it cd1_param that you're interested in perturbing? Sorry an hour with the code and Ronnie's paper didn't get me very far...

@linniahawkins
Copy link

One argument not to consider cd1_param as a parameter from Meier et al., : "We do not optimize cd1 because CLM exhibits little sensitivity to d and the effect of cd1 on z0,v is similar to that of CR and cw."

@linniahawkins
Copy link

I coded up the Meier roughness parameterization to explore the individual parameter effects offline. The parameter effects vary by PFT but here is Needleleaf evergreen forest as an example. I'm modifying each parameter by +- 20%, min=purple, max=yellow.
meier_paramuncertainty_NLevergreenTree

And the corresponding figure from the paper:
Screenshot 2024-11-20 at 1 51 20 PM

The black points are the median of the observations in each bin, so although this looks like a very tight fit to the data, there is actually more uncertainty in the data than it seems at first glance.

@linniahawkins
Copy link

I tried reducing the uncertainty to 10% for all four parameters, and modifying them simultaneously. This seems reasonable since the spread does not overlap the old CLM parameterization (left column; red line) except for Grassland where the two different parameterizations are already similar. However, using all four parameters does not modify the shape of the curve and we can achieve a similar spread by modifying only the z0v_Cr parameter (right column). This reduces the number of parameters we need to include in the PPE.

I'm inclined to only include the z0v_Cr parameter with 10% bounds in the ctsm6 LHC PPE.

Meier_roughness_parameteruncertainty.pdf

@olyson
Copy link
Contributor

olyson commented Dec 3, 2024

Test post.

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

No branches or pull requests

4 participants