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

Two-way online coupling WRF.exe with my.exe

JasonWok

New member
Dear developers and everyone,

Assume that I run my wrf.exe with the following:
Code:
mpirun -np 10 ./wrf.exe

I now have one customized physical module written in c (compiled as my.exe executable), which should be called for each time step from wrf.exe.
I plan to run the coupling programes as following:
Code:
mpirun -np 10 ./wrf.exe : -np 13 ./my.exe

However, it looks like there are a lot MPI collective functions calling within wrf code, such as
Code:
MPI_Bcast(&rc, 1, MPI_INTEGER, 0, MPI_COMM_WORLD);

So there will be huge headaches to dealing with race conditions or deadlocks.

According to this paper, WRF–ML v1.0: a bridge between WRF v4.3 and machine learning parameterizations and its application to atmospheric radiative transfer, it looks I need to write my own moudle to explicitly tell wrf.exe:
1. which ranks are for computing
2. which ranks are for my.exe

Is there a better or simplier way to achieve this `Two-way online coupling WRF.exe with my.exe`?
I might need extra 13 processes or threads to run my.exe

Thank you!
 
I am not sure whether this is a good way to run two executable files. Hope someone in the community may have suggestions.
As for WRF, what we recommend is that, any newly added physics package should be incorporated into the model system. i.e, it should be a component of the model system. When running wrf.exe, the new package can be activated.
 
Top