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

WRF with WSM5 as microphysics stops at first nested domain

pratiman

New member
When using WSM5 (mp_physics=4) in a nested domain, WRF stops at the creation of the 1st nested domain without any error. To be exact d02 2007-05-27_12:00:00 alloc_space_field: domain 3 , 36606528 bytes allocated is the last line. I have provided a rsl.error.0000 file with debug set to 1000.

The same simulation runs perfectly with Purdue Lin (mp_physics=2) scheme.

I have tested this with 4.4, 4.2.1, and 3.9.1.1

compiler and version Intel 19.1.1.217 20200306
Any help is appreciated.

Use namelist options
&physics mp_physics = 4, 4, 4,
ra_lw_physics = 1, 1, 1,
ra_sw_physics = 1, 1, 1,
radt = 20, 20, 20,
sf_sfclay_physics = 2, 2, 2,
sf_surface_physics = 2, 2, 2,
bl_pbl_physics = 2, 2, 2,
bldt = 0, 0, 0,
cu_physics = 1, 1, 0,
cudt = 0, 0, 0,
surface_input_source = 1,
num_soil_layers = 4,
sf_urban_physics = 2, 2, 2,
 

Attachments

  • rsl.error.0000.txt
    510.8 KB · Views: 8
I found a solution to this. I needed to add CLDFRA as a variable in the wrfinput_d* files. I do not know why this variable was absent in the wrfinput files. Once added, now everything works fine.

Does anybody know why this variable is important for this configuration? Thank you!
 
Please check the attachment for the namelist.input file. Sorry for the delay.
 

Attachments

  • namelist.input.txt
    3.7 KB · Views: 7
CLDFRA is a required variable at the beginning of the model run. If you take a look at phys/module_physics_init.F, you will find that this variable is defined as

REAL , DIMENSION( ims:ime , kms:kme , jms:jme ) , INTENT(INOUT) ::REAL , DIMENSION( ims:ime , kms:kme , jms:jme ) , INTENT(INOUT) :: CLDFRA

In Registry.EM_COMMON, it is defined by:
state real CLDFRA ikj misc 1 - irh "CLDFRA"

This indicates that CLDFRA should be included in wrfinput.
 
Ming Chen said:
CLDFRA is a required variable at the beginning of the model run. If you take a look at phys/module_physics_init.F, you will find that this variable is defined as

REAL , DIMENSION( ims:ime , kms:kme , jms:jme ) , INTENT(INOUT) ::REAL , DIMENSION( ims:ime , kms:kme , jms:jme ) , INTENT(INOUT) :: CLDFRA

In Registry.EM_COMMON, it is defined by:
state real CLDFRA ikj misc 1 - irh "CLDFRA"

This indicates that CLDFRA should be included in wrfinput.

Thanks for the explanation.

But when I am running the model without CLDFRA and with different MP scheme such as Purdue Lin, the model runs perfectly fine. On the other hand, changing to WSM5, it does not. I am wondering why is that?
 
Since I work together with Pratiman on that case, I have to add that we have 5 other cases with the same set-up that have run succesfully. For none of these cases we have provided cloud fraction as input data.
From this I would expect that cloud fraction is calculated within WRF and there might be some problems with the input data to do so in this specific case.
Can you guide us to the point where calculation of cloud fraction is done in the source code ?

Many thanks for your help!

Klemens
 
Klemens,
Please look at the code phys/module_radiation_driver.F, in which you will find various subroutines that calculate CLDFRA, i.e.,
cal_cldfra1 (icloud=1)
cal_cldfra2(iclloud=2)
cal_cldfra3(iclloud=3)

ICLOUD determines which scheme is used to calculate CLDFRA.
 
Checking Registry.EM_COMMON (WRF4.2.1) I found:

state real CLDFRA ikj misc 1 - rh "CLDFRA"

So cloud fraction don't need to be part of the wrfinput file.

How to test now what's going wrong ?
 
Top