!STARTOFREGISTRYGENERATEDINCLUDE 'inc/HALO_INTERP_UP_inline.inc'
!
! WARNING This file is generated automatically by use_registry
! using the data base in the file named Registry.
! Do not edit. Your changes to this file will be lost.
!
CALL wrf_debug
(2,'calling inc/HALO_INTERP_UP_inline.inc')
CALL rsl_comm_iter_init
(4,jps,jpe)
DO WHILE ( rsl_comm_iter( grid%id , grid%is_intermediate, 4 , &
0 , jds,jde,jps,jpe, grid%njds, grid%njde , &
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p ))
CALL RSL_LITE_INIT_EXCH ( local_communicator, 4, 0, &
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
14 &
+ num_moist &
+ num_scalar &
+ num_tracer &
, 46, RWORDSIZE, &
0, 2, IWORDSIZE, &
0, 0, DWORDSIZE, &
0, 0, LWORDSIZE, &
mytask, ntasks, ntasks_x, ntasks_y, &
ips, ipe, jps, jpe, kps, MAX(1,1&
,kpe &
,config_flags%num_soil_layers &
))
IF ( SIZE(grid%lu_index,1)*SIZE(grid%lu_index,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%lu_index, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u_2,1)*SIZE(grid%u_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%v_2,1)*SIZE(grid%v_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%w_2,1)*SIZE(grid%w_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%w_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ph_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%phb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%mu_2,1)*SIZE(grid%mu_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mu_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%mub,1)*SIZE(grid%mub,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mub, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%alb,1)*SIZE(grid%alb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%alb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%pb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%q2,1)*SIZE(grid%q2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%q2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%t2,1)*SIZE(grid%t2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%th2,1)*SIZE(grid%th2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%th2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%psfc,1)*SIZE(grid%psfc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%psfc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u10,1)*SIZE(grid%u10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%v10,1)*SIZE(grid%v10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_moist
IF ( SIZE(moist,1)*SIZE(moist,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
moist ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
DO itrace = PARAM_FIRST_SCALAR, num_scalar
IF ( SIZE(scalar,1)*SIZE(scalar,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
scalar ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smois, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%sh2o,1)*SIZE(grid%sh2o,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sh2o, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%smcrel,1)*SIZE(grid%smcrel,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smcrel, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%xice,1)*SIZE(grid%xice,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xice, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ivgtyp,1)*SIZE(grid%ivgtyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ivgtyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%isltyp,1)*SIZE(grid%isltyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%isltyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%vegfra,1)*SIZE(grid%vegfra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%vegfra, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snow,1)*SIZE(grid%snow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snow, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowh,1)*SIZE(grid%snowh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowh, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tslb,1)*SIZE(grid%tslb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tslb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%msft,1)*SIZE(grid%msft,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msft, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfu,1)*SIZE(grid%msfu,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfu, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfv,1)*SIZE(grid%msfv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msftx,1)*SIZE(grid%msftx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msftx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfty,1)*SIZE(grid%msfty,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfty, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfux,1)*SIZE(grid%msfux,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfux, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfuy,1)*SIZE(grid%msfuy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfuy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx,1)*SIZE(grid%msfvx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx_inv,1)*SIZE(grid%msfvx_inv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx_inv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvy,1)*SIZE(grid%msfvy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%f,1)*SIZE(grid%f,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%f, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%e,1)*SIZE(grid%e,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%e, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%sina,1)*SIZE(grid%sina,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sina, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%cosa,1)*SIZE(grid%cosa,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%cosa, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ht,1)*SIZE(grid%ht,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ht, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tsk,1)*SIZE(grid%tsk,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tsk, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainc,1)*SIZE(grid%rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainnc,1)*SIZE(grid%rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat,1)*SIZE(grid%xlat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong,1)*SIZE(grid%xlong,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_u,1)*SIZE(grid%xlat_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_u,1)*SIZE(grid%xlong_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_v,1)*SIZE(grid%xlat_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_v,1)*SIZE(grid%xlong_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%clat,1)*SIZE(grid%clat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%clat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tmn,1)*SIZE(grid%tmn,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tmn, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xland,1)*SIZE(grid%xland,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xland, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowc,1)*SIZE(grid%snowc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_h_diabatic,1)*SIZE(grid%g_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%a_h_diabatic,1)*SIZE(grid%a_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%g_rainc,1)*SIZE(grid%g_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainc,1)*SIZE(grid%a_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_rainnc,1)*SIZE(grid%g_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainnc,1)*SIZE(grid%a_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%landmask,1)*SIZE(grid%landmask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%landmask, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_tracer
IF ( SIZE(tracer,1)*SIZE(tracer,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
tracer ( grid%sm31,grid%sm33,grid%sm32,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 0, DATA_ORDER_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
CALL RSL_LITE_EXCH_Y ( local_communicator , mytask, ntasks, ntasks_x, ntasks_y, &
rsl_sendw_m, rsl_sendw_p, rsl_recvw_m, rsl_recvw_p )
IF ( SIZE(grid%lu_index,1)*SIZE(grid%lu_index,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%lu_index, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u_2,1)*SIZE(grid%u_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%v_2,1)*SIZE(grid%v_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%w_2,1)*SIZE(grid%w_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%w_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ph_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%phb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%mu_2,1)*SIZE(grid%mu_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mu_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%mub,1)*SIZE(grid%mub,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mub, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%alb,1)*SIZE(grid%alb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%alb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%pb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%q2,1)*SIZE(grid%q2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%q2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%t2,1)*SIZE(grid%t2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%th2,1)*SIZE(grid%th2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%th2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%psfc,1)*SIZE(grid%psfc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%psfc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u10,1)*SIZE(grid%u10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%v10,1)*SIZE(grid%v10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_moist
IF ( SIZE(moist,1)*SIZE(moist,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
moist ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
DO itrace = PARAM_FIRST_SCALAR, num_scalar
IF ( SIZE(scalar,1)*SIZE(scalar,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
scalar ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smois, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%sh2o,1)*SIZE(grid%sh2o,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sh2o, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%smcrel,1)*SIZE(grid%smcrel,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smcrel, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%xice,1)*SIZE(grid%xice,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xice, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ivgtyp,1)*SIZE(grid%ivgtyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ivgtyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%isltyp,1)*SIZE(grid%isltyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%isltyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%vegfra,1)*SIZE(grid%vegfra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%vegfra, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snow,1)*SIZE(grid%snow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snow, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowh,1)*SIZE(grid%snowh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowh, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tslb,1)*SIZE(grid%tslb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tslb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%msft,1)*SIZE(grid%msft,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msft, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfu,1)*SIZE(grid%msfu,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfu, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfv,1)*SIZE(grid%msfv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msftx,1)*SIZE(grid%msftx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msftx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfty,1)*SIZE(grid%msfty,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfty, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfux,1)*SIZE(grid%msfux,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfux, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfuy,1)*SIZE(grid%msfuy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfuy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx,1)*SIZE(grid%msfvx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx_inv,1)*SIZE(grid%msfvx_inv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx_inv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvy,1)*SIZE(grid%msfvy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%f,1)*SIZE(grid%f,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%f, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%e,1)*SIZE(grid%e,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%e, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%sina,1)*SIZE(grid%sina,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sina, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%cosa,1)*SIZE(grid%cosa,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%cosa, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ht,1)*SIZE(grid%ht,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ht, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tsk,1)*SIZE(grid%tsk,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tsk, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainc,1)*SIZE(grid%rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainnc,1)*SIZE(grid%rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat,1)*SIZE(grid%xlat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong,1)*SIZE(grid%xlong,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_u,1)*SIZE(grid%xlat_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_u,1)*SIZE(grid%xlong_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_v,1)*SIZE(grid%xlat_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_v,1)*SIZE(grid%xlong_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%clat,1)*SIZE(grid%clat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%clat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tmn,1)*SIZE(grid%tmn,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tmn, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xland,1)*SIZE(grid%xland,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xland, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowc,1)*SIZE(grid%snowc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_h_diabatic,1)*SIZE(grid%g_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%a_h_diabatic,1)*SIZE(grid%a_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%g_rainc,1)*SIZE(grid%g_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainc,1)*SIZE(grid%a_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_rainnc,1)*SIZE(grid%g_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainnc,1)*SIZE(grid%a_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%landmask,1)*SIZE(grid%landmask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%landmask, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_tracer
IF ( SIZE(tracer,1)*SIZE(tracer,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
tracer ( grid%sm31,grid%sm33,grid%sm32,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 0, 1, DATA_ORDER_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
ENDDO
CALL rsl_comm_iter_init
(4,ips,ipe)
DO WHILE ( rsl_comm_iter( grid%id , grid%is_intermediate, 4 , &
1 , ids,ide,ips,ipe, grid%nids, grid%nide , &
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p ))
CALL RSL_LITE_INIT_EXCH ( local_communicator, 4, 1, &
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
14 &
+ num_moist &
+ num_scalar &
+ num_tracer &
, 46, RWORDSIZE, &
0, 2, IWORDSIZE, &
0, 0, DWORDSIZE, &
0, 0, LWORDSIZE, &
mytask, ntasks, ntasks_x, ntasks_y, &
ips, ipe, jps, jpe, kps, MAX(1,1&
,kpe &
,config_flags%num_soil_layers &
))
IF ( SIZE(grid%lu_index,1)*SIZE(grid%lu_index,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%lu_index, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u_2,1)*SIZE(grid%u_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%v_2,1)*SIZE(grid%v_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%w_2,1)*SIZE(grid%w_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%w_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ph_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%phb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%mu_2,1)*SIZE(grid%mu_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mu_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%mub,1)*SIZE(grid%mub,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mub, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%alb,1)*SIZE(grid%alb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%alb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%pb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%q2,1)*SIZE(grid%q2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%q2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%t2,1)*SIZE(grid%t2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%th2,1)*SIZE(grid%th2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%th2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%psfc,1)*SIZE(grid%psfc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%psfc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u10,1)*SIZE(grid%u10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%v10,1)*SIZE(grid%v10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_moist
IF ( SIZE(moist,1)*SIZE(moist,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
moist ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
DO itrace = PARAM_FIRST_SCALAR, num_scalar
IF ( SIZE(scalar,1)*SIZE(scalar,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
scalar ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smois, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%sh2o,1)*SIZE(grid%sh2o,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sh2o, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%smcrel,1)*SIZE(grid%smcrel,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smcrel, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%xice,1)*SIZE(grid%xice,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xice, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ivgtyp,1)*SIZE(grid%ivgtyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ivgtyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%isltyp,1)*SIZE(grid%isltyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%isltyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%vegfra,1)*SIZE(grid%vegfra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%vegfra, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snow,1)*SIZE(grid%snow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snow, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowh,1)*SIZE(grid%snowh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowh, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tslb,1)*SIZE(grid%tslb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tslb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%msft,1)*SIZE(grid%msft,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msft, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfu,1)*SIZE(grid%msfu,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfu, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfv,1)*SIZE(grid%msfv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msftx,1)*SIZE(grid%msftx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msftx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfty,1)*SIZE(grid%msfty,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfty, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfux,1)*SIZE(grid%msfux,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfux, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfuy,1)*SIZE(grid%msfuy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfuy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx,1)*SIZE(grid%msfvx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx_inv,1)*SIZE(grid%msfvx_inv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx_inv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvy,1)*SIZE(grid%msfvy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%f,1)*SIZE(grid%f,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%f, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%e,1)*SIZE(grid%e,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%e, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%sina,1)*SIZE(grid%sina,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sina, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%cosa,1)*SIZE(grid%cosa,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%cosa, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ht,1)*SIZE(grid%ht,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ht, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tsk,1)*SIZE(grid%tsk,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tsk, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainc,1)*SIZE(grid%rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainnc,1)*SIZE(grid%rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat,1)*SIZE(grid%xlat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong,1)*SIZE(grid%xlong,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_u,1)*SIZE(grid%xlat_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_u,1)*SIZE(grid%xlong_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_v,1)*SIZE(grid%xlat_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_v,1)*SIZE(grid%xlong_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%clat,1)*SIZE(grid%clat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%clat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tmn,1)*SIZE(grid%tmn,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tmn, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xland,1)*SIZE(grid%xland,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xland, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowc,1)*SIZE(grid%snowc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_h_diabatic,1)*SIZE(grid%g_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%a_h_diabatic,1)*SIZE(grid%a_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%g_rainc,1)*SIZE(grid%g_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainc,1)*SIZE(grid%a_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_rainnc,1)*SIZE(grid%g_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainnc,1)*SIZE(grid%a_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%landmask,1)*SIZE(grid%landmask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%landmask, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_tracer
IF ( SIZE(tracer,1)*SIZE(tracer,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
tracer ( grid%sm31,grid%sm33,grid%sm32,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 0, DATA_ORDER_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
CALL RSL_LITE_EXCH_X ( local_communicator , mytask, ntasks, ntasks_x, ntasks_y, &
rsl_sendw_m, rsl_sendw_p, rsl_recvw_m, rsl_recvw_p )
IF ( SIZE(grid%lu_index,1)*SIZE(grid%lu_index,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%lu_index, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u_2,1)*SIZE(grid%u_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%v_2,1)*SIZE(grid%v_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%w_2,1)*SIZE(grid%w_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%w_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ph_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%phb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%mu_2,1)*SIZE(grid%mu_2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mu_2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%mub,1)*SIZE(grid%mub,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%mub, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%alb,1)*SIZE(grid%alb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%alb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%pb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%q2,1)*SIZE(grid%q2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%q2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%t2,1)*SIZE(grid%t2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%t2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%th2,1)*SIZE(grid%th2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%th2, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%psfc,1)*SIZE(grid%psfc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%psfc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%u10,1)*SIZE(grid%u10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%u10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%v10,1)*SIZE(grid%v10,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%v10, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_moist
IF ( SIZE(moist,1)*SIZE(moist,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
moist ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
DO itrace = PARAM_FIRST_SCALAR, num_scalar
IF ( SIZE(scalar,1)*SIZE(scalar,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
scalar ( grid%sm31,grid%sm32,grid%sm33,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smois, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%sh2o,1)*SIZE(grid%sh2o,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sh2o, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%smcrel,1)*SIZE(grid%smcrel,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%smcrel, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%xice,1)*SIZE(grid%xice,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xice, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ivgtyp,1)*SIZE(grid%ivgtyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ivgtyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%isltyp,1)*SIZE(grid%isltyp,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%isltyp, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
IWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%vegfra,1)*SIZE(grid%vegfra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%vegfra, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snow,1)*SIZE(grid%snow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snow, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowh,1)*SIZE(grid%snowh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowh, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tslb,1)*SIZE(grid%tslb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tslb, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1, config_flags%num_soil_layers, &
ims, ime, jms, jme, 1, config_flags%num_soil_layers, &
ips, ipe, jps, jpe, 1, config_flags%num_soil_layers )
ENDIF
IF ( SIZE(grid%msft,1)*SIZE(grid%msft,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msft, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfu,1)*SIZE(grid%msfu,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfu, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfv,1)*SIZE(grid%msfv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msftx,1)*SIZE(grid%msftx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msftx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfty,1)*SIZE(grid%msfty,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfty, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfux,1)*SIZE(grid%msfux,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfux, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfuy,1)*SIZE(grid%msfuy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfuy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx,1)*SIZE(grid%msfvx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvx_inv,1)*SIZE(grid%msfvx_inv,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvx_inv, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%msfvy,1)*SIZE(grid%msfvy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%msfvy, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%f,1)*SIZE(grid%f,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%f, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%e,1)*SIZE(grid%e,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%e, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%sina,1)*SIZE(grid%sina,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%sina, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%cosa,1)*SIZE(grid%cosa,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%cosa, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%ht,1)*SIZE(grid%ht,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%ht, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tsk,1)*SIZE(grid%tsk,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tsk, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainc,1)*SIZE(grid%rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%rainnc,1)*SIZE(grid%rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat,1)*SIZE(grid%xlat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong,1)*SIZE(grid%xlong,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_u,1)*SIZE(grid%xlat_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_u,1)*SIZE(grid%xlong_u,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_u, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 1, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlat_v,1)*SIZE(grid%xlat_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlat_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xlong_v,1)*SIZE(grid%xlong_v,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xlong_v, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%clat,1)*SIZE(grid%clat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%clat, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%tmn,1)*SIZE(grid%tmn,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%tmn, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%xland,1)*SIZE(grid%xland,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%xland, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%snowc,1)*SIZE(grid%snowc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%snowc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_h_diabatic,1)*SIZE(grid%g_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%a_h_diabatic,1)*SIZE(grid%a_h_diabatic,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_h_diabatic, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XYZ, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
IF ( SIZE(grid%g_rainc,1)*SIZE(grid%g_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainc,1)*SIZE(grid%a_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%g_rainnc,1)*SIZE(grid%g_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%g_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%a_rainnc,1)*SIZE(grid%a_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%a_rainnc, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
IF ( SIZE(grid%landmask,1)*SIZE(grid%landmask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
grid%landmask, 4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, 1 , 1 , &
ims, ime, jms, jme, 1 , 1 , &
ips, ipe, jps, jpe, 1 , 1 )
ENDIF
DO itrace = PARAM_FIRST_SCALAR, num_tracer
IF ( SIZE(tracer,1)*SIZE(tracer,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
tracer ( grid%sm31,grid%sm33,grid%sm32,itrace),4,&
rsl_sendbeg_m, rsl_sendw_m, rsl_sendbeg_p, rsl_sendw_p, &
rsl_recvbeg_m, rsl_recvw_m, rsl_recvbeg_p, rsl_recvw_p, &
RWORDSIZE, 1, 1, DATA_ORDER_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y, &
ids, ide, jds, jde, kds, kde, &
ims, ime, jms, jme, kms, kme, &
ips, ipe, jps, jpe, kps, kpe )
ENDIF
ENDDO
ENDDO
!ENDOFREGISTRYGENERATEDINCLUDE