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

Modified canopy wind calculation to be continuous. #57

Merged
merged 9 commits into from
May 15, 2023
Merged

Conversation

drnimbusrain
Copy link
Member

This addresses issue #56 , and instead of setting winds to reference height at z > hc, this uses the log wind profile above canopy top. This also removes the fragmented RSL_OPT (=1) effects option that created even more discontinuity across the canopy top from the different approaches. Thus, RSL_OPT = 0 is the only option for now, and uses the LAMBDARS scaling parameter to represent RSL effects above the canopy top for now.

After the change the wind speed profile is more continuous, with still a relatively sharp change at the canopy top from logarithmic to exponential in type.
image

@drnimbusrain drnimbusrain requested review from zmoon and angehung5 April 13, 2023 03:41
@drnimbusrain
Copy link
Member Author

@angehung5 You also may want to test this change with the canopy wind evaluation, as it may have some slight impacts on the results, particularly since RSL_OPT = 0 is the only option now to make the profile continuous in output. This should have no effect on WAF calculation.

@drnimbusrain drnimbusrain linked an issue Apr 13, 2023 that may be closed by this pull request
@drnimbusrain drnimbusrain marked this pull request as draft April 13, 2023 15:15
@drnimbusrain
Copy link
Member Author

drnimbusrain commented Apr 13, 2023

@zmoon and @angehung5 Converted to draft, as this needs more thought...I am also unsure on how much the continuous profile is needed here in canopy-app, considering its application to gridded ATM/LSM models that already have computed the log MOST/RSL profile above the canopy... Up for more discussion on approaches for sure.

@drnimbusrain drnimbusrain added the enhancement New feature or request label Apr 13, 2023
@angehung5
Copy link
Collaborator

Screen Shot 2023-04-13 at 1 38 34 PM

Figure shows the wind profile at Chestnut Ridge site. Updated code creates continuous profile. But I am somehow uncomfortable with removing RSL_opt =1, since it actually provides better results than RSL_opt=0 when reference height larger than 0.

@drnimbusrain
Copy link
Member Author

@angehung5 Thank you for your testing, and we could certainly find a way to work back in RSL =1, but keep profile continuous when HREF > 0. We can also tune the LAMBDARS in RSL=0 though.

@angehung5
Copy link
Collaborator

Screen Shot 2023-04-14 at 3 54 04 PM

Just found a bug in my script. Here is the updated plot of wind profiles at Chestnut using updated code. A relative sharp change at canopy top like Patrick shown above.

And here shows the wind profiles using updated code with RSL_opt=0, old code with RSL_opt=0 and old code with RSL_opt=1. Seems like updated code tends to create higher wind speed at canopy top. @drnimbusrain How do you get the log profile above canopy? Based on Massman?
Screen Shot 2023-04-14 at 4 13 09 PM

@drnimbusrain
Copy link
Member Author

drnimbusrain commented Apr 14, 2023 via email

@angehung5
Copy link
Collaborator

Great, thanks! I test lambdars = 1.0 with updated RSP_opt=0 code. It looks better now but the wind speed at canopy top is still higher than the old results.

@drnimbusrain
Copy link
Member Author

drnimbusrain commented Apr 28, 2023

@angehung5 I have made some substantial changes (may still need a bit more work on an updated re-calculation of zero plane displacement height for RSL) to bring back an improved method for the unified RSL_OPT=1. Can you please test it again with the above case for new RSL_OPT=0 and =1? Thank you!

@drnimbusrain
Copy link
Member Author

drnimbusrain commented May 1, 2023

@angehung5 I just tested these mods for continuous RSL_OPT=1, and it fails for regional domains in some locations. I think you could still test it at Chestnut Ridge, but, we should discuss more about this maybe in person at the AMS meeting this week. It is not trivial to bring back RSL_OPT=1 in a full unified approach with continuous profile, energy balance, and iterative updates to the MOL for a canopy. This is also complicated with coupling this approach (from Bonan's work) above the canopy to Massman within the canopy.

@drnimbusrain
Copy link
Member Author

drnimbusrain commented May 1, 2023

@angehung5 @zmoon OK, I have made the canopy_wind module to have only the Massman/MOST subroutine (RSL_OPT=0), controlled through the canopy_calcs now. The profile should be continuous below and above the canopy, with Massman below, and general MOST theory above. Remember in Massman, RSL_Opt=0 approach, the RSL effects are simply the LAMBDARS variable than just provides a constant factor to tune the RSL effects. I think this is sitll a valuable approach.

So, as noted in the README, the RSL_OPT=0 is the only option right now.

Once we can can take Bonan's codes from Zach, we can create another unified RSL approach (somehow) as a new subroutine in the canopy_wind module. This can then form a better continuous, and unified RSL_OPT=1 approach, which will differ from the pure Massman/MOST approach.

What do you think? Maybe if Wei-Ting can re-evaluate this new continuous Massman/MOST (RSL_OPT=0), I can clean up the code and we can merge, and then make a new issue/PR for integrating a more robust RSL_OPT=1 for unified RSL from Bonan?

@angehung5
Copy link
Collaborator

Yes, I think it is a good idea to re-evaluate the new profile with observation. Not all sites have above-canopy wind measurements though.

What do you mean merge? Merge to the develop branch?

@drnimbusrain
Copy link
Member Author

drnimbusrain commented May 2, 2023

@angehung5 Yes, merge the continuous Massman/MOST profile (RSL_OPT=0 only) to develop branch so we can at least have the wind profile continuous using MOST for now, and then open a new issue/PR for the Bonan RSL approach.

@drnimbusrain drnimbusrain marked this pull request as ready for review May 2, 2023 02:20
@drnimbusrain
Copy link
Member Author

drnimbusrain commented May 5, 2023

@angehung5 Please let me know when you have re-evaluated the new RSL_OPT=0 option here in 'canwind' branch, and if it looks OK through canopy.

@zmoon Then we can finalize review of this branch, merge with develop branch, and then I can start to work on a new branch PR for RSL_OPT=1 branch with Bonan unified RSL approach ( issue #62 ) .

@drnimbusrain
Copy link
Member Author

drnimbusrain commented May 11, 2023

@zmoon Thanks to Wei-Ting, I think the results of the new RSL_OPT=0 (Massman/MOST approach with lambdars) approach is working very well: https://docs.google.com/presentation/d/1yRbnbYQQxkAnK79ud-n9MOw3V5YEcy55/edit#slide=id.p4

Therefore, can we move forward with review, and/or merge to develop?

@angehung5
Copy link
Collaborator

angehung5 commented May 11, 2023

Thanks Patrick @drnimbusrain , for posting the results. Should it be RSL_OPT=0?

Going to approve.

@drnimbusrain
Copy link
Member Author

drnimbusrain commented May 11, 2023

@zmoon What do you think about merge? I have just cleaned up the RSL_OPT=0 code to remove old fragmented RSL_OPT=1 codes.

Copy link
Member

@zmoon zmoon left a comment

Choose a reason for hiding this comment

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

Noticed a little something in the readme

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@drnimbusrain
Copy link
Member Author

drnimbusrain commented May 11, 2023 via email

@drnimbusrain
Copy link
Member Author

Thank you @zmoon !

Copy link
Member

@zmoon zmoon left a comment

Choose a reason for hiding this comment

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

I didn't look closely but I say go for it

@drnimbusrain drnimbusrain merged commit 445e6eb into develop May 15, 2023
@drnimbusrain drnimbusrain deleted the canwind branch May 15, 2023 01:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix Canopy Wind Speed Discontinuity with Massman/MOST Approach
3 participants