Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Modifying surface drag scheme

aurorrmok

New member
Dear Sir or Madam,

I recently referred to a paper <Intensified Tropical Cyclones in Global Climate Simulations Employing a High-Wind Drag Relation over Sea Surface>, and I would like to modify the revised surface drag scheme based on its content. I am using WRF version 3.9 with sf_sfclay_physics=1. How should I modify line 341 in WRFV3.9/phys/ module_sf_mynn.F, where UST(i,j) = MAX(0.025 * SQRT(U1D(i) * U1D(i) + V1D(i) * V1D(i)), 0.001) is located? However, according to the paper, if I want to use U10 and V10, they are not defined before line 134. What should I do? Additionally, do I need to modify any other modules? Thank you!
1747580422222.png
 
U10 and V10 are passed on to module_sf_mynn.F, and can be used directly there ( I am looking at the code in WRFV4.5).

I believe you can use EQ(7) to replace the calculation below:

UST(i,j) = MAX(0.025 * SQRT(U1D(i) * U1D(i) + V1D(i) * V1D(i)), 0.001)

If this change is only over the ocean, you also need to add a condition to make sure that you use the method from the paper over the ocean.
 
Hi, Ming,

Thank you for your prompt response. I'm currently using version 3.9, and there's an issue where the new UST is related to U10 and V0. However, in SUBROUTINE SFCLAY_mynn(), U10 and V0 aren't defined - these variables are actually obtained in the subsequent SFCLAY1D_mynn() through:
U10(I)=U1D2(I) and V10(I)=V1D2(I)
This has left me somewhat confused.

Also, thank you for the reminder. Indeed, I only intend to modify the surface drag for ocean portions. Could you advise how to keep the land portion unchanged? Thank you!
 
Please see my answers below:
Hi, Ming,

Thank you for your prompt response. I'm currently using version 3.9, and there's an issue where the new UST is related to U10 and V0. However, in SUBROUTINE SFCLAY_mynn(), U10 and V0 aren't defined - these variables are actually obtained in the subsequent SFCLAY1D_mynn() through:
U10(I)=U1D2(I) and V10(I)=V1D2(I)
This has left me somewhat confused.

If possible, please switch to newer version of WRF, e.g., WRFv4.5 or WRFv4.6. This is because newer version of WRF includes not only new features, but also many bug fixes. Due to limited human power, it is hard for us to support older versions of WRF, especially those before WRFv4.0
Also, thank you for the reminder. Indeed, I only intend to modify the surface drag for ocean portions. Could you advise how to keep the land portion unchanged? Thank you!
As I suggested in my previous post, you can add the IF condition to ensure your changes only work over ocean points, for example,

IF(xland(i,j,) .GE. 1.5 ) then ! ocean points
your changes
ELSE
original codes
ENDIF
 
Top