Andreas,
There is a comment within the WRF code that indicates that the size of the arrays to be passed to the OASIS model is the full dimension of the momentum variables.
In frame/module_cpl.F, subroutine cpl_snd2:
Code:
! we use ipe and not min(ipe, ide-1) the variable we are using are coming from grid and are therefore initialized to 0
This comment is consistent with the dimension sizes of arrays that get sent to the routines that are outside of the WRF system. Within the cpl_snd2 routine, all of the computations are (ips:ipe,jps:jpe), which is the size of the local dummy array cplsnd that is sent to subroutine cpl_sndfield:
Code:
REAL, DIMENSION( ips:ipe, jps:jpe ) :: cplsnd
.
.
CALL cpl_sndfield( grid%id, lltosend, ifldid, cplsnd )
The subroutine cpl_sndfield brings in the dummy array, now locally called pdata, and passes it to cpl_oasis_snd:
Code:
CALL cpl_oasis_snd( kdomwrf, jext, kfldid, nsecrun, pdata )
This routine then immediately sends the data to an external function/subroutine oasis_put:
Code:
CALL oasis_put(ssnd(kdomwrf,kdomext,kfldid)%nid, ksec, pdata(:,:) , info)
During this coupling process, there are no steps where there is an attempt to reduce the size of the arrays to the mass point dimensions and the source code specifically mentions that this will not be done.
The OASIS coupling mechanism was graciously provided by an external contributor, and we are not really the experts.
Is it possible that the dimensioning error that is being reported is due to an inconsistency outside of the WRF model, i.e. the WRF model is actually doing the correct thing? Is there a coupling file, either source code or some text-based configuration file, where you need to explicitly include array sizes that are coming from WRF? Since the domain grid cell information does not appear to be part of the calling arguments in the final call to oasis_put and that information is mandatory, that external configuration file might be a place to look.
NCAR/MMM