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

Difference between ids, ims, ips,its

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.


New member
Often used in physics module
ids, ims, ips, its
I do not understand the difference.

Each definition is
start index for i in domain,
start index for i in memory,
start index for i in patch,
start index for i in tile,
But I don't know what these mean.

Is there anyone who knows?

The reference module is module_surface_driver.F.
"ids,, ide, jds, jde" etc. are "domain" sized indexes along the i, j, k directions.

"ims, ime, jms, jme" are "memory" dimensions for arrays.

"ips, ipe, jps, jpe" are computational extent for loops inside most of the WRF physics.

A more detailed description can be found in the website:
Thank you for providing easy-to-understand materials.

For example,
When you want to change the tsk value in the range of x = 1-20 y = 5-15 of the domain by rewriting the contents of the physics module,
Is it correct to use ids = 1, ide = 20, jds = 5, jde = 15 with the if block statement?
Or are there other variable names for x and y?
All the indexes in WRF are global, which means that, for example, if you specify iout=20, jout=15, they are the point (20,15) in the model domain.
If you want to change values over a subregion, you can simply add the loop like:

do i = ia, ib
do j = ja, jb
newer(i,j) = xxx
end do
end do

You don't need to worry for the domain decomposition.