I am trying to work out how to translate bottom boundary condition in WRF. I have been digging through the code use for moving nest as my case does have some similarities with that. As per my understanding, WRF compiled with DM+SM has patches which are on the distributed memory while the tiles within those patches are on the shared memory.
In order for me to have a translating bottom boundary, I will need to copy data between adjacent patches without worrying about the tiles. I am trying to locate the code which can perhaps be used as an example. I first thought that I can do it on individual patches, which is not difficult as i can simply assign the data on (i-1,j) to (i,j). However, this works out fine for the right most grid point, I am not sure how to get the data for the left most grid point, as it has be obtained from the patch to the left of this patch.
I would appreciate any suggestion on which code within WRF code base to look at for such type of operation. I even looked at the code used in wrf_bdy, where periodic boundaries to some extent use this idea, however, it checks whether the boundary indices are located on the same processor. This is just my chain of thought, I would welcome any correction to these ideas or perhaps the right way to approach this problem.
In order for me to have a translating bottom boundary, I will need to copy data between adjacent patches without worrying about the tiles. I am trying to locate the code which can perhaps be used as an example. I first thought that I can do it on individual patches, which is not difficult as i can simply assign the data on (i-1,j) to (i,j). However, this works out fine for the right most grid point, I am not sure how to get the data for the left most grid point, as it has be obtained from the patch to the left of this patch.
I would appreciate any suggestion on which code within WRF code base to look at for such type of operation. I even looked at the code used in wrf_bdy, where periodic boundaries to some extent use this idea, however, it checks whether the boundary indices are located on the same processor. This is just my chain of thought, I would welcome any correction to these ideas or perhaps the right way to approach this problem.