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

Editing WRF Registry for Time-Varying Roughness Length

adikshit

New member
Hi All,

I am new to WRF modeling and I am trying to modify the WRF Registry to enable a time-varying roughness length parameter. Is there any documentation or resources available on how to do this? I have searched but was unable to find any reliable material.

Cheers,
 
Please take a look at codes related to SST_UPDATE, and I suppose you can follow the same method to update ZNT.

Sorry that we don't have a specific document that describes how to add time-varying variables to the model.
 
Please take a look at codes related to SST_UPDATE, and I suppose you can follow the same method to update ZNT.

Sorry that we don't have a specific document that describes how to add time-varying variables to the model.
Hi Ming,

What I am trying to do is add a variable (surface roughness) to the initialization files, so that it can be used as input for WRF instead of using constant values. To achieve this, I first edited the initialization files. Then, I believe the following three steps are necessary:

(1) Modify the WRF Registry (~L1865) to define the new variable. (2) Make change to module_sf_sfclayrev.F. (3) Clean & Compile.

My question is: What specific changes are required in module_sf_sfclayrev.F? Or is there another way to implement this?


Cheers,
 
I am not sure how you intend to add the new variable to wrfinput, e.g., modify wrfinput, or make it available in met_em and then run real.exe to include it in wrfinput?

If you simply modify wrfinput, then you don't need to worry for REAL program. If you include this variable in met-em, then you will need to modify

dyn_em/module_initialize_real.F to process this new variable

In either way you needs to modify Registry so that the model will know that this is a variable included in wrfinput.

Another important code is phys/module_physics_init.F, which should be modified to obtain the new variable. Then you will also need to modify other related codes such as module_sf_sfclayrev.F to pass this variable to the specific schemes you use.

Please look how U10 is processed , which serves as a good example for your case. This is not a trivial task and it involves lots of code changes.
 
Top