!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,   & 
     123  &
   + num_moist   &
   + num_dfi_moist   &
   + num_scalar   &
   + num_dfi_scalar   &
   + num_tracer   &
     , 202, RWORDSIZE, &
     1, 24, 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 &
,132 &
,config_flags%ocean_levels &
,config_flags%num_snow_layers &
,config_flags%num_snso_layers &
,config_flags%lagday &
,config_flags%maxpatch &
))
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%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,3) .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_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
IF ( SIZE(grid%v_2,1)*SIZE(grid%v_2,3) .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_XZY, 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,3) .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_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
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,3) .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_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
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,3) .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_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
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,3) .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_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
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%nest_pos,1)*SIZE(grid%nest_pos,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_pos, 4,&
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%nest_mask,1)*SIZE(grid%nest_mask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_mask, 4,&
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,3) .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_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
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,3) .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_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
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,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_moist
 IF ( SIZE(dfi_moist,1)*SIZE(dfi_moist,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
DO itrace = PARAM_FIRST_SCALAR, num_scalar
 IF ( SIZE(scalar,1)*SIZE(scalar,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_scalar
 IF ( SIZE(dfi_scalar,1)*SIZE(dfi_scalar,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
IF ( SIZE(grid%toposlpx,1)*SIZE(grid%toposlpx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpx, 4,&
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%toposlpy,1)*SIZE(grid%toposlpy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpy, 4,&
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%slope,1)*SIZE(grid%slope,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slope, 4,&
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%slp_azi,1)*SIZE(grid%slp_azi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slp_azi, 4,&
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%shdmax,1)*SIZE(grid%shdmax,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmax, 4,&
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%shdmin,1)*SIZE(grid%shdmin,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmin, 4,&
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,3) .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_XZY, 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%urb_param,1)*SIZE(grid%urb_param,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%urb_param, 4,&
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, 1, 132,             &
ims, ime, jms, jme, 1, 132,             &
ips, ipe, jps, jpe, 1, 132              )
ENDIF
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,3) .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_XZY, 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,3) .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_XZY, 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,3) .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_XZY, 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%icedepth,1)*SIZE(grid%icedepth,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%icedepth, 4,&
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%xicem,1)*SIZE(grid%xicem,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xicem, 4,&
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%albsi,1)*SIZE(grid%albsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albsi, 4,&
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%snowsi,1)*SIZE(grid%snowsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowsi, 4,&
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%acgrdflx,1)*SIZE(grid%acgrdflx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acgrdflx, 4,&
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%acsnow,1)*SIZE(grid%acsnow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnow, 4,&
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%acsnom,1)*SIZE(grid%acsnom,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnom, 4,&
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%canwat,1)*SIZE(grid%canwat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canwat, 4,&
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%tr_urb2d,1)*SIZE(grid%tr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tr_urb2d, 4,&
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%tb_urb2d,1)*SIZE(grid%tb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tb_urb2d, 4,&
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%tg_urb2d,1)*SIZE(grid%tg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tg_urb2d, 4,&
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%tc_urb2d,1)*SIZE(grid%tc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tc_urb2d, 4,&
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%qc_urb2d,1)*SIZE(grid%qc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qc_urb2d, 4,&
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%uc_urb2d,1)*SIZE(grid%uc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%uc_urb2d, 4,&
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%xxxr_urb2d,1)*SIZE(grid%xxxr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxr_urb2d, 4,&
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%xxxb_urb2d,1)*SIZE(grid%xxxb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxb_urb2d, 4,&
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%xxxg_urb2d,1)*SIZE(grid%xxxg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxg_urb2d, 4,&
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%xxxc_urb2d,1)*SIZE(grid%xxxc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxc_urb2d, 4,&
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%trl_urb3d,1)*SIZE(grid%trl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trl_urb3d, 4,&
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, 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%tbl_urb3d,1)*SIZE(grid%tbl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tbl_urb3d, 4,&
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, 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%tgl_urb3d,1)*SIZE(grid%tgl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgl_urb3d, 4,&
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, 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%frc_urb2d,1)*SIZE(grid%frc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%frc_urb2d, 4,&
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%utype_urb2d,1)*SIZE(grid%utype_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%utype_urb2d, 4,&
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%var2d,1)*SIZE(grid%var2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%var2d, 4,&
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%oc12d,1)*SIZE(grid%oc12d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oc12d, 4,&
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%oa1,1)*SIZE(grid%oa1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa1, 4,&
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%oa2,1)*SIZE(grid%oa2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa2, 4,&
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%oa3,1)*SIZE(grid%oa3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa3, 4,&
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%oa4,1)*SIZE(grid%oa4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa4, 4,&
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%ol1,1)*SIZE(grid%ol1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol1, 4,&
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%ol2,1)*SIZE(grid%ol2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol2, 4,&
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%ol3,1)*SIZE(grid%ol3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol3, 4,&
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%ol4,1)*SIZE(grid%ol4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol4, 4,&
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%ctopo,1)*SIZE(grid%ctopo,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo, 4,&
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%ctopo2,1)*SIZE(grid%ctopo2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo2, 4,&
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%f_ice_phy,1)*SIZE(grid%f_ice_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_ice_phy, 4,&
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
IF ( SIZE(grid%f_rain_phy,1)*SIZE(grid%f_rain_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rain_phy, 4,&
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
IF ( SIZE(grid%f_rimef_phy,1)*SIZE(grid%f_rimef_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rimef_phy, 4,&
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
IF ( SIZE(grid%om_tmp,1)*SIZE(grid%om_tmp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_tmp, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_s,1)*SIZE(grid%om_s,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_s, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_u,1)*SIZE(grid%om_u,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_v,1)*SIZE(grid%om_v,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_ml,1)*SIZE(grid%om_ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_ml, 4,&
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%h_diabatic,1)*SIZE(grid%h_diabatic,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%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_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
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%rainsh,1)*SIZE(grid%rainsh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rainsh, 4,&
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%i_rainc,1)*SIZE(grid%i_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%i_rainnc,1)*SIZE(grid%i_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%snownc,1)*SIZE(grid%snownc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snownc, 4,&
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%graupelnc,1)*SIZE(grid%graupelnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%graupelnc, 4,&
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%hailnc,1)*SIZE(grid%hailnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hailnc, 4,&
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%refl_10cm,1)*SIZE(grid%refl_10cm,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%refl_10cm, 4,&
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
IF ( SIZE(grid%acswupt,1)*SIZE(grid%acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupt, 4,&
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%acswuptc,1)*SIZE(grid%acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswuptc, 4,&
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%acswdnt,1)*SIZE(grid%acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnt, 4,&
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%acswdntc,1)*SIZE(grid%acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdntc, 4,&
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%acswupb,1)*SIZE(grid%acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupb, 4,&
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%acswupbc,1)*SIZE(grid%acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupbc, 4,&
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%acswdnb,1)*SIZE(grid%acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnb, 4,&
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%acswdnbc,1)*SIZE(grid%acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnbc, 4,&
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%aclwupt,1)*SIZE(grid%aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupt, 4,&
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%aclwuptc,1)*SIZE(grid%aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwuptc, 4,&
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%aclwdnt,1)*SIZE(grid%aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnt, 4,&
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%aclwdntc,1)*SIZE(grid%aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdntc, 4,&
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%aclwupb,1)*SIZE(grid%aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupb, 4,&
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%aclwupbc,1)*SIZE(grid%aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupbc, 4,&
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%aclwdnb,1)*SIZE(grid%aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnb, 4,&
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%aclwdnbc,1)*SIZE(grid%aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnbc, 4,&
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%i_acswupt,1)*SIZE(grid%i_acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupt, 4,&
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%i_acswuptc,1)*SIZE(grid%i_acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswuptc, 4,&
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%i_acswdnt,1)*SIZE(grid%i_acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnt, 4,&
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%i_acswdntc,1)*SIZE(grid%i_acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdntc, 4,&
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%i_acswupb,1)*SIZE(grid%i_acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupb, 4,&
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%i_acswupbc,1)*SIZE(grid%i_acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupbc, 4,&
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%i_acswdnb,1)*SIZE(grid%i_acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnb, 4,&
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%i_acswdnbc,1)*SIZE(grid%i_acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnbc, 4,&
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%i_aclwupt,1)*SIZE(grid%i_aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupt, 4,&
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%i_aclwuptc,1)*SIZE(grid%i_aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwuptc, 4,&
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%i_aclwdnt,1)*SIZE(grid%i_aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnt, 4,&
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%i_aclwdntc,1)*SIZE(grid%i_aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdntc, 4,&
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%i_aclwupb,1)*SIZE(grid%i_aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupb, 4,&
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%i_aclwupbc,1)*SIZE(grid%i_aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupbc, 4,&
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%i_aclwdnb,1)*SIZE(grid%i_aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnb, 4,&
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%i_aclwdnbc,1)*SIZE(grid%i_aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnbc, 4,&
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%swupt,1)*SIZE(grid%swupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupt, 4,&
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%swuptc,1)*SIZE(grid%swuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swuptc, 4,&
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%swdnt,1)*SIZE(grid%swdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnt, 4,&
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%swdntc,1)*SIZE(grid%swdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdntc, 4,&
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%swupb,1)*SIZE(grid%swupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupb, 4,&
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%swupbc,1)*SIZE(grid%swupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupbc, 4,&
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%swdnb,1)*SIZE(grid%swdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnb, 4,&
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%swdnbc,1)*SIZE(grid%swdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnbc, 4,&
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%lwupt,1)*SIZE(grid%lwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupt, 4,&
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%lwuptc,1)*SIZE(grid%lwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwuptc, 4,&
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%lwdnt,1)*SIZE(grid%lwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnt, 4,&
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%lwdntc,1)*SIZE(grid%lwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdntc, 4,&
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%lwupb,1)*SIZE(grid%lwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupb, 4,&
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%lwupbc,1)*SIZE(grid%lwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupbc, 4,&
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%lwdnb,1)*SIZE(grid%lwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnb, 4,&
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%lwdnbc,1)*SIZE(grid%lwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnbc, 4,&
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%isnowxy,1)*SIZE(grid%isnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%isnowxy, 4,&
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%tvxy,1)*SIZE(grid%tvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tvxy, 4,&
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%tgxy,1)*SIZE(grid%tgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgxy, 4,&
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%canicexy,1)*SIZE(grid%canicexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canicexy, 4,&
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%canliqxy,1)*SIZE(grid%canliqxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canliqxy, 4,&
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%eahxy,1)*SIZE(grid%eahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%eahxy, 4,&
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%tahxy,1)*SIZE(grid%tahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tahxy, 4,&
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%cmxy,1)*SIZE(grid%cmxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%cmxy, 4,&
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%chxy,1)*SIZE(grid%chxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chxy, 4,&
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%fwetxy,1)*SIZE(grid%fwetxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fwetxy, 4,&
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%sneqvoxy,1)*SIZE(grid%sneqvoxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sneqvoxy, 4,&
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%alboldxy,1)*SIZE(grid%alboldxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%alboldxy, 4,&
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%qsnowxy,1)*SIZE(grid%qsnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qsnowxy, 4,&
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%wslakexy,1)*SIZE(grid%wslakexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wslakexy, 4,&
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%zwtxy,1)*SIZE(grid%zwtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zwtxy, 4,&
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%waxy,1)*SIZE(grid%waxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%waxy, 4,&
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%wtxy,1)*SIZE(grid%wtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtxy, 4,&
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%tsnoxy,1)*SIZE(grid%tsnoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tsnoxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%zsnsoxy,1)*SIZE(grid%zsnsoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zsnsoxy, 4,&
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, 1, config_flags%num_snso_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snso_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snso_layers              )
ENDIF
IF ( SIZE(grid%snicexy,1)*SIZE(grid%snicexy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snicexy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%snliqxy,1)*SIZE(grid%snliqxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snliqxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%lfmassxy,1)*SIZE(grid%lfmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lfmassxy, 4,&
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%rtmassxy,1)*SIZE(grid%rtmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rtmassxy, 4,&
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%stmassxy,1)*SIZE(grid%stmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stmassxy, 4,&
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%woodxy,1)*SIZE(grid%woodxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%woodxy, 4,&
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%stblcpxy,1)*SIZE(grid%stblcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stblcpxy, 4,&
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%fastcpxy,1)*SIZE(grid%fastcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fastcpxy, 4,&
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%xsaixy,1)*SIZE(grid%xsaixy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xsaixy, 4,&
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%t2mvxy,1)*SIZE(grid%t2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mvxy, 4,&
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%t2mbxy,1)*SIZE(grid%t2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mbxy, 4,&
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%q2mvxy,1)*SIZE(grid%q2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mvxy, 4,&
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%q2mbxy,1)*SIZE(grid%q2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mbxy, 4,&
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%tradxy,1)*SIZE(grid%tradxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tradxy, 4,&
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%neexy,1)*SIZE(grid%neexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%neexy, 4,&
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%gppxy,1)*SIZE(grid%gppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%gppxy, 4,&
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%nppxy,1)*SIZE(grid%nppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nppxy, 4,&
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%fvegxy,1)*SIZE(grid%fvegxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fvegxy, 4,&
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%qinxy,1)*SIZE(grid%qinxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qinxy, 4,&
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%runsfxy,1)*SIZE(grid%runsfxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsfxy, 4,&
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%runsbxy,1)*SIZE(grid%runsbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsbxy, 4,&
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%ecanxy,1)*SIZE(grid%ecanxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ecanxy, 4,&
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%edirxy,1)*SIZE(grid%edirxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%edirxy, 4,&
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%etranxy,1)*SIZE(grid%etranxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%etranxy, 4,&
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%fsaxy,1)*SIZE(grid%fsaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fsaxy, 4,&
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%firaxy,1)*SIZE(grid%firaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%firaxy, 4,&
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%aparxy,1)*SIZE(grid%aparxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aparxy, 4,&
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%psnxy,1)*SIZE(grid%psnxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%psnxy, 4,&
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%savxy,1)*SIZE(grid%savxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%savxy, 4,&
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%sagxy,1)*SIZE(grid%sagxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sagxy, 4,&
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%rssunxy,1)*SIZE(grid%rssunxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rssunxy, 4,&
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%rsshaxy,1)*SIZE(grid%rsshaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rsshaxy, 4,&
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%bgapxy,1)*SIZE(grid%bgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%bgapxy, 4,&
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%wgapxy,1)*SIZE(grid%wgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wgapxy, 4,&
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%tgvxy,1)*SIZE(grid%tgvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgvxy, 4,&
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%tgbxy,1)*SIZE(grid%tgbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgbxy, 4,&
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%chvxy,1)*SIZE(grid%chvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chvxy, 4,&
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%chbxy,1)*SIZE(grid%chbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chbxy, 4,&
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%shgxy,1)*SIZE(grid%shgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shgxy, 4,&
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%shcxy,1)*SIZE(grid%shcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shcxy, 4,&
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%shbxy,1)*SIZE(grid%shbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shbxy, 4,&
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%evgxy,1)*SIZE(grid%evgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evgxy, 4,&
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%evbxy,1)*SIZE(grid%evbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evbxy, 4,&
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%ghvxy,1)*SIZE(grid%ghvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghvxy, 4,&
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%ghbxy,1)*SIZE(grid%ghbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghbxy, 4,&
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%irgxy,1)*SIZE(grid%irgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irgxy, 4,&
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%ircxy,1)*SIZE(grid%ircxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ircxy, 4,&
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%irbxy,1)*SIZE(grid%irbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irbxy, 4,&
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%trxy,1)*SIZE(grid%trxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trxy, 4,&
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%evcxy,1)*SIZE(grid%evcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evcxy, 4,&
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%chleafxy,1)*SIZE(grid%chleafxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chleafxy, 4,&
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%chucxy,1)*SIZE(grid%chucxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chucxy, 4,&
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%chv2xy,1)*SIZE(grid%chv2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chv2xy, 4,&
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%chb2xy,1)*SIZE(grid%chb2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chb2xy, 4,&
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%chstarxy,1)*SIZE(grid%chstarxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chstarxy, 4,&
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%tyr,1)*SIZE(grid%tyr,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyr, 4,&
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%tyra,1)*SIZE(grid%tyra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyra, 4,&
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%tdly,1)*SIZE(grid%tdly,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tdly, 4,&
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%tlag,1)*SIZE(grid%tlag,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tlag, 4,&
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, 1, config_flags%lagday,             &
ims, ime, jms, jme, 1, config_flags%lagday,             &
ips, ipe, jps, jpe, 1, config_flags%lagday              )
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%achfx,1)*SIZE(grid%achfx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%achfx, 4,&
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%aclhf,1)*SIZE(grid%aclhf,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclhf, 4,&
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%tml,1)*SIZE(grid%tml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tml, 4,&
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%t0ml,1)*SIZE(grid%t0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t0ml, 4,&
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%hml,1)*SIZE(grid%hml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hml, 4,&
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%h0ml,1)*SIZE(grid%h0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h0ml, 4,&
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%huml,1)*SIZE(grid%huml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%huml, 4,&
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%hvml,1)*SIZE(grid%hvml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hvml, 4,&
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%tmoml,1)*SIZE(grid%tmoml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tmoml, 4,&
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%numc,1)*SIZE(grid%numc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%numc, 4,&
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%nump,1)*SIZE(grid%nump,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nump, 4,&
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%snl,1)*SIZE(grid%snl,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snl, 4,&
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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowdp,1)*SIZE(grid%snowdp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowdp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtc,1)*SIZE(grid%wtc,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtc, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtp,1)*SIZE(grid%wtp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osno,1)*SIZE(grid%h2osno,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osno, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_grnd,1)*SIZE(grid%t_grnd,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_grnd, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_veg,1)*SIZE(grid%t_veg,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_veg, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan,1)*SIZE(grid%h2ocan,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan_col,1)*SIZE(grid%h2ocan_col,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan_col, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t2m_max,1)*SIZE(grid%t2m_max,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_max, 4,&
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%t2m_min,1)*SIZE(grid%t2m_min,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_min, 4,&
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%t2clm,1)*SIZE(grid%t2clm,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2clm, 4,&
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%t_ref2m,1)*SIZE(grid%t_ref2m,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_ref2m, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s1,1)*SIZE(grid%h2osoi_liq_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s2,1)*SIZE(grid%h2osoi_liq_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s3,1)*SIZE(grid%h2osoi_liq_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s4,1)*SIZE(grid%h2osoi_liq_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s5,1)*SIZE(grid%h2osoi_liq_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq1,1)*SIZE(grid%h2osoi_liq1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq2,1)*SIZE(grid%h2osoi_liq2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq3,1)*SIZE(grid%h2osoi_liq3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq4,1)*SIZE(grid%h2osoi_liq4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq5,1)*SIZE(grid%h2osoi_liq5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq6,1)*SIZE(grid%h2osoi_liq6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq7,1)*SIZE(grid%h2osoi_liq7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq8,1)*SIZE(grid%h2osoi_liq8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq9,1)*SIZE(grid%h2osoi_liq9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq10,1)*SIZE(grid%h2osoi_liq10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s1,1)*SIZE(grid%h2osoi_ice_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s2,1)*SIZE(grid%h2osoi_ice_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s3,1)*SIZE(grid%h2osoi_ice_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s4,1)*SIZE(grid%h2osoi_ice_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s5,1)*SIZE(grid%h2osoi_ice_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice1,1)*SIZE(grid%h2osoi_ice1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice2,1)*SIZE(grid%h2osoi_ice2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice3,1)*SIZE(grid%h2osoi_ice3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice4,1)*SIZE(grid%h2osoi_ice4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice5,1)*SIZE(grid%h2osoi_ice5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice6,1)*SIZE(grid%h2osoi_ice6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice7,1)*SIZE(grid%h2osoi_ice7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice8,1)*SIZE(grid%h2osoi_ice8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice9,1)*SIZE(grid%h2osoi_ice9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice10,1)*SIZE(grid%h2osoi_ice10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s1,1)*SIZE(grid%t_soisno_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s2,1)*SIZE(grid%t_soisno_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s3,1)*SIZE(grid%t_soisno_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s4,1)*SIZE(grid%t_soisno_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s5,1)*SIZE(grid%t_soisno_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno1,1)*SIZE(grid%t_soisno1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno2,1)*SIZE(grid%t_soisno2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno3,1)*SIZE(grid%t_soisno3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno4,1)*SIZE(grid%t_soisno4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno5,1)*SIZE(grid%t_soisno5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno6,1)*SIZE(grid%t_soisno6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno7,1)*SIZE(grid%t_soisno7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno8,1)*SIZE(grid%t_soisno8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno9,1)*SIZE(grid%t_soisno9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno10,1)*SIZE(grid%t_soisno10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow1,1)*SIZE(grid%dzsnow1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow2,1)*SIZE(grid%dzsnow2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow3,1)*SIZE(grid%dzsnow3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow4,1)*SIZE(grid%dzsnow4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow5,1)*SIZE(grid%dzsnow5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds1,1)*SIZE(grid%snowrds1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds2,1)*SIZE(grid%snowrds2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds3,1)*SIZE(grid%snowrds3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds4,1)*SIZE(grid%snowrds4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds5,1)*SIZE(grid%snowrds5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake1,1)*SIZE(grid%t_lake1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake2,1)*SIZE(grid%t_lake2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake3,1)*SIZE(grid%t_lake3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake4,1)*SIZE(grid%t_lake4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake5,1)*SIZE(grid%t_lake5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake6,1)*SIZE(grid%t_lake6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake7,1)*SIZE(grid%t_lake7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake8,1)*SIZE(grid%t_lake8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake9,1)*SIZE(grid%t_lake9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake10,1)*SIZE(grid%t_lake10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol1,1)*SIZE(grid%h2osoi_vol1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol2,1)*SIZE(grid%h2osoi_vol2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol3,1)*SIZE(grid%h2osoi_vol3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol4,1)*SIZE(grid%h2osoi_vol4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol5,1)*SIZE(grid%h2osoi_vol5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol6,1)*SIZE(grid%h2osoi_vol6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol7,1)*SIZE(grid%h2osoi_vol7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol8,1)*SIZE(grid%h2osoi_vol8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol9,1)*SIZE(grid%h2osoi_vol9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol10,1)*SIZE(grid%h2osoi_vol10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%albedosubgrid,1)*SIZE(grid%albedosubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albedosubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lhsubgrid,1)*SIZE(grid%lhsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lhsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%hfxsubgrid,1)*SIZE(grid%hfxsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hfxsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lwupsubgrid,1)*SIZE(grid%lwupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%q2subgrid,1)*SIZE(grid%q2subgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2subgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabvsubgrid,1)*SIZE(grid%sabvsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabvsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabgsubgrid,1)*SIZE(grid%sabgsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabgsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%nrasubgrid,1)*SIZE(grid%nrasubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nrasubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%swupsubgrid,1)*SIZE(grid%swupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
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%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_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%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%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,3) .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_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
IF ( SIZE(grid%v_2,1)*SIZE(grid%v_2,3) .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_XZY, 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,3) .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_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
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,3) .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_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
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,3) .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_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
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,3) .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_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
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%nest_pos,1)*SIZE(grid%nest_pos,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_pos, 4,&
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%nest_mask,1)*SIZE(grid%nest_mask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_mask, 4,&
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,3) .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_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
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,3) .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_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
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,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_moist
 IF ( SIZE(dfi_moist,1)*SIZE(dfi_moist,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
DO itrace = PARAM_FIRST_SCALAR, num_scalar
 IF ( SIZE(scalar,1)*SIZE(scalar,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_scalar
 IF ( SIZE(dfi_scalar,1)*SIZE(dfi_scalar,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
IF ( SIZE(grid%toposlpx,1)*SIZE(grid%toposlpx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpx, 4,&
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%toposlpy,1)*SIZE(grid%toposlpy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpy, 4,&
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%slope,1)*SIZE(grid%slope,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slope, 4,&
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%slp_azi,1)*SIZE(grid%slp_azi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slp_azi, 4,&
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%shdmax,1)*SIZE(grid%shdmax,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmax, 4,&
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%shdmin,1)*SIZE(grid%shdmin,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmin, 4,&
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,3) .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_XZY, 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%urb_param,1)*SIZE(grid%urb_param,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%urb_param, 4,&
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, 1, 132,             &
ims, ime, jms, jme, 1, 132,             &
ips, ipe, jps, jpe, 1, 132              )
ENDIF
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,3) .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_XZY, 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,3) .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_XZY, 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,3) .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_XZY, 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%icedepth,1)*SIZE(grid%icedepth,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%icedepth, 4,&
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%xicem,1)*SIZE(grid%xicem,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xicem, 4,&
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%albsi,1)*SIZE(grid%albsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albsi, 4,&
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%snowsi,1)*SIZE(grid%snowsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowsi, 4,&
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%acgrdflx,1)*SIZE(grid%acgrdflx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acgrdflx, 4,&
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%acsnow,1)*SIZE(grid%acsnow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnow, 4,&
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%acsnom,1)*SIZE(grid%acsnom,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnom, 4,&
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%canwat,1)*SIZE(grid%canwat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canwat, 4,&
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%tr_urb2d,1)*SIZE(grid%tr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tr_urb2d, 4,&
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%tb_urb2d,1)*SIZE(grid%tb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tb_urb2d, 4,&
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%tg_urb2d,1)*SIZE(grid%tg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tg_urb2d, 4,&
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%tc_urb2d,1)*SIZE(grid%tc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tc_urb2d, 4,&
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%qc_urb2d,1)*SIZE(grid%qc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qc_urb2d, 4,&
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%uc_urb2d,1)*SIZE(grid%uc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%uc_urb2d, 4,&
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%xxxr_urb2d,1)*SIZE(grid%xxxr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxr_urb2d, 4,&
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%xxxb_urb2d,1)*SIZE(grid%xxxb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxb_urb2d, 4,&
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%xxxg_urb2d,1)*SIZE(grid%xxxg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxg_urb2d, 4,&
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%xxxc_urb2d,1)*SIZE(grid%xxxc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxc_urb2d, 4,&
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%trl_urb3d,1)*SIZE(grid%trl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trl_urb3d, 4,&
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, 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%tbl_urb3d,1)*SIZE(grid%tbl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tbl_urb3d, 4,&
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, 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%tgl_urb3d,1)*SIZE(grid%tgl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgl_urb3d, 4,&
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, 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%frc_urb2d,1)*SIZE(grid%frc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%frc_urb2d, 4,&
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%utype_urb2d,1)*SIZE(grid%utype_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%utype_urb2d, 4,&
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%var2d,1)*SIZE(grid%var2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%var2d, 4,&
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%oc12d,1)*SIZE(grid%oc12d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oc12d, 4,&
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%oa1,1)*SIZE(grid%oa1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa1, 4,&
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%oa2,1)*SIZE(grid%oa2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa2, 4,&
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%oa3,1)*SIZE(grid%oa3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa3, 4,&
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%oa4,1)*SIZE(grid%oa4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa4, 4,&
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%ol1,1)*SIZE(grid%ol1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol1, 4,&
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%ol2,1)*SIZE(grid%ol2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol2, 4,&
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%ol3,1)*SIZE(grid%ol3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol3, 4,&
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%ol4,1)*SIZE(grid%ol4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol4, 4,&
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%ctopo,1)*SIZE(grid%ctopo,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo, 4,&
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%ctopo2,1)*SIZE(grid%ctopo2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo2, 4,&
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%f_ice_phy,1)*SIZE(grid%f_ice_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_ice_phy, 4,&
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
IF ( SIZE(grid%f_rain_phy,1)*SIZE(grid%f_rain_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rain_phy, 4,&
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
IF ( SIZE(grid%f_rimef_phy,1)*SIZE(grid%f_rimef_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rimef_phy, 4,&
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
IF ( SIZE(grid%om_tmp,1)*SIZE(grid%om_tmp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_tmp, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_s,1)*SIZE(grid%om_s,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_s, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_u,1)*SIZE(grid%om_u,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_v,1)*SIZE(grid%om_v,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_ml,1)*SIZE(grid%om_ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_ml, 4,&
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%h_diabatic,1)*SIZE(grid%h_diabatic,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%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_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
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%rainsh,1)*SIZE(grid%rainsh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rainsh, 4,&
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%i_rainc,1)*SIZE(grid%i_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%i_rainnc,1)*SIZE(grid%i_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%snownc,1)*SIZE(grid%snownc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snownc, 4,&
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%graupelnc,1)*SIZE(grid%graupelnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%graupelnc, 4,&
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%hailnc,1)*SIZE(grid%hailnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hailnc, 4,&
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%refl_10cm,1)*SIZE(grid%refl_10cm,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%refl_10cm, 4,&
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
IF ( SIZE(grid%acswupt,1)*SIZE(grid%acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupt, 4,&
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%acswuptc,1)*SIZE(grid%acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswuptc, 4,&
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%acswdnt,1)*SIZE(grid%acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnt, 4,&
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%acswdntc,1)*SIZE(grid%acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdntc, 4,&
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%acswupb,1)*SIZE(grid%acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupb, 4,&
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%acswupbc,1)*SIZE(grid%acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupbc, 4,&
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%acswdnb,1)*SIZE(grid%acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnb, 4,&
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%acswdnbc,1)*SIZE(grid%acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnbc, 4,&
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%aclwupt,1)*SIZE(grid%aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupt, 4,&
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%aclwuptc,1)*SIZE(grid%aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwuptc, 4,&
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%aclwdnt,1)*SIZE(grid%aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnt, 4,&
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%aclwdntc,1)*SIZE(grid%aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdntc, 4,&
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%aclwupb,1)*SIZE(grid%aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupb, 4,&
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%aclwupbc,1)*SIZE(grid%aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupbc, 4,&
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%aclwdnb,1)*SIZE(grid%aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnb, 4,&
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%aclwdnbc,1)*SIZE(grid%aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnbc, 4,&
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%i_acswupt,1)*SIZE(grid%i_acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupt, 4,&
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%i_acswuptc,1)*SIZE(grid%i_acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswuptc, 4,&
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%i_acswdnt,1)*SIZE(grid%i_acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnt, 4,&
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%i_acswdntc,1)*SIZE(grid%i_acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdntc, 4,&
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%i_acswupb,1)*SIZE(grid%i_acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupb, 4,&
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%i_acswupbc,1)*SIZE(grid%i_acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupbc, 4,&
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%i_acswdnb,1)*SIZE(grid%i_acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnb, 4,&
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%i_acswdnbc,1)*SIZE(grid%i_acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnbc, 4,&
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%i_aclwupt,1)*SIZE(grid%i_aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupt, 4,&
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%i_aclwuptc,1)*SIZE(grid%i_aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwuptc, 4,&
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%i_aclwdnt,1)*SIZE(grid%i_aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnt, 4,&
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%i_aclwdntc,1)*SIZE(grid%i_aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdntc, 4,&
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%i_aclwupb,1)*SIZE(grid%i_aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupb, 4,&
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%i_aclwupbc,1)*SIZE(grid%i_aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupbc, 4,&
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%i_aclwdnb,1)*SIZE(grid%i_aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnb, 4,&
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%i_aclwdnbc,1)*SIZE(grid%i_aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnbc, 4,&
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%swupt,1)*SIZE(grid%swupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupt, 4,&
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%swuptc,1)*SIZE(grid%swuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swuptc, 4,&
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%swdnt,1)*SIZE(grid%swdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnt, 4,&
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%swdntc,1)*SIZE(grid%swdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdntc, 4,&
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%swupb,1)*SIZE(grid%swupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupb, 4,&
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%swupbc,1)*SIZE(grid%swupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupbc, 4,&
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%swdnb,1)*SIZE(grid%swdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnb, 4,&
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%swdnbc,1)*SIZE(grid%swdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnbc, 4,&
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%lwupt,1)*SIZE(grid%lwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupt, 4,&
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%lwuptc,1)*SIZE(grid%lwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwuptc, 4,&
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%lwdnt,1)*SIZE(grid%lwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnt, 4,&
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%lwdntc,1)*SIZE(grid%lwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdntc, 4,&
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%lwupb,1)*SIZE(grid%lwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupb, 4,&
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%lwupbc,1)*SIZE(grid%lwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupbc, 4,&
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%lwdnb,1)*SIZE(grid%lwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnb, 4,&
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%lwdnbc,1)*SIZE(grid%lwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnbc, 4,&
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%isnowxy,1)*SIZE(grid%isnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%isnowxy, 4,&
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%tvxy,1)*SIZE(grid%tvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tvxy, 4,&
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%tgxy,1)*SIZE(grid%tgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgxy, 4,&
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%canicexy,1)*SIZE(grid%canicexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canicexy, 4,&
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%canliqxy,1)*SIZE(grid%canliqxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canliqxy, 4,&
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%eahxy,1)*SIZE(grid%eahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%eahxy, 4,&
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%tahxy,1)*SIZE(grid%tahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tahxy, 4,&
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%cmxy,1)*SIZE(grid%cmxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%cmxy, 4,&
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%chxy,1)*SIZE(grid%chxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chxy, 4,&
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%fwetxy,1)*SIZE(grid%fwetxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fwetxy, 4,&
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%sneqvoxy,1)*SIZE(grid%sneqvoxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sneqvoxy, 4,&
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%alboldxy,1)*SIZE(grid%alboldxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%alboldxy, 4,&
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%qsnowxy,1)*SIZE(grid%qsnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qsnowxy, 4,&
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%wslakexy,1)*SIZE(grid%wslakexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wslakexy, 4,&
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%zwtxy,1)*SIZE(grid%zwtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zwtxy, 4,&
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%waxy,1)*SIZE(grid%waxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%waxy, 4,&
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%wtxy,1)*SIZE(grid%wtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtxy, 4,&
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%tsnoxy,1)*SIZE(grid%tsnoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tsnoxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%zsnsoxy,1)*SIZE(grid%zsnsoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zsnsoxy, 4,&
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, 1, config_flags%num_snso_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snso_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snso_layers              )
ENDIF
IF ( SIZE(grid%snicexy,1)*SIZE(grid%snicexy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snicexy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%snliqxy,1)*SIZE(grid%snliqxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snliqxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%lfmassxy,1)*SIZE(grid%lfmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lfmassxy, 4,&
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%rtmassxy,1)*SIZE(grid%rtmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rtmassxy, 4,&
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%stmassxy,1)*SIZE(grid%stmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stmassxy, 4,&
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%woodxy,1)*SIZE(grid%woodxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%woodxy, 4,&
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%stblcpxy,1)*SIZE(grid%stblcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stblcpxy, 4,&
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%fastcpxy,1)*SIZE(grid%fastcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fastcpxy, 4,&
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%xsaixy,1)*SIZE(grid%xsaixy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xsaixy, 4,&
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%t2mvxy,1)*SIZE(grid%t2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mvxy, 4,&
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%t2mbxy,1)*SIZE(grid%t2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mbxy, 4,&
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%q2mvxy,1)*SIZE(grid%q2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mvxy, 4,&
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%q2mbxy,1)*SIZE(grid%q2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mbxy, 4,&
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%tradxy,1)*SIZE(grid%tradxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tradxy, 4,&
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%neexy,1)*SIZE(grid%neexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%neexy, 4,&
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%gppxy,1)*SIZE(grid%gppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%gppxy, 4,&
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%nppxy,1)*SIZE(grid%nppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nppxy, 4,&
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%fvegxy,1)*SIZE(grid%fvegxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fvegxy, 4,&
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%qinxy,1)*SIZE(grid%qinxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qinxy, 4,&
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%runsfxy,1)*SIZE(grid%runsfxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsfxy, 4,&
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%runsbxy,1)*SIZE(grid%runsbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsbxy, 4,&
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%ecanxy,1)*SIZE(grid%ecanxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ecanxy, 4,&
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%edirxy,1)*SIZE(grid%edirxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%edirxy, 4,&
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%etranxy,1)*SIZE(grid%etranxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%etranxy, 4,&
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%fsaxy,1)*SIZE(grid%fsaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fsaxy, 4,&
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%firaxy,1)*SIZE(grid%firaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%firaxy, 4,&
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%aparxy,1)*SIZE(grid%aparxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aparxy, 4,&
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%psnxy,1)*SIZE(grid%psnxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%psnxy, 4,&
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%savxy,1)*SIZE(grid%savxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%savxy, 4,&
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%sagxy,1)*SIZE(grid%sagxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sagxy, 4,&
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%rssunxy,1)*SIZE(grid%rssunxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rssunxy, 4,&
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%rsshaxy,1)*SIZE(grid%rsshaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rsshaxy, 4,&
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%bgapxy,1)*SIZE(grid%bgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%bgapxy, 4,&
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%wgapxy,1)*SIZE(grid%wgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wgapxy, 4,&
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%tgvxy,1)*SIZE(grid%tgvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgvxy, 4,&
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%tgbxy,1)*SIZE(grid%tgbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgbxy, 4,&
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%chvxy,1)*SIZE(grid%chvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chvxy, 4,&
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%chbxy,1)*SIZE(grid%chbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chbxy, 4,&
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%shgxy,1)*SIZE(grid%shgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shgxy, 4,&
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%shcxy,1)*SIZE(grid%shcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shcxy, 4,&
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%shbxy,1)*SIZE(grid%shbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shbxy, 4,&
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%evgxy,1)*SIZE(grid%evgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evgxy, 4,&
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%evbxy,1)*SIZE(grid%evbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evbxy, 4,&
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%ghvxy,1)*SIZE(grid%ghvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghvxy, 4,&
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%ghbxy,1)*SIZE(grid%ghbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghbxy, 4,&
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%irgxy,1)*SIZE(grid%irgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irgxy, 4,&
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%ircxy,1)*SIZE(grid%ircxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ircxy, 4,&
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%irbxy,1)*SIZE(grid%irbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irbxy, 4,&
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%trxy,1)*SIZE(grid%trxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trxy, 4,&
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%evcxy,1)*SIZE(grid%evcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evcxy, 4,&
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%chleafxy,1)*SIZE(grid%chleafxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chleafxy, 4,&
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%chucxy,1)*SIZE(grid%chucxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chucxy, 4,&
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%chv2xy,1)*SIZE(grid%chv2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chv2xy, 4,&
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%chb2xy,1)*SIZE(grid%chb2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chb2xy, 4,&
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%chstarxy,1)*SIZE(grid%chstarxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chstarxy, 4,&
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%tyr,1)*SIZE(grid%tyr,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyr, 4,&
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%tyra,1)*SIZE(grid%tyra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyra, 4,&
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%tdly,1)*SIZE(grid%tdly,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tdly, 4,&
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%tlag,1)*SIZE(grid%tlag,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tlag, 4,&
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, 1, config_flags%lagday,             &
ims, ime, jms, jme, 1, config_flags%lagday,             &
ips, ipe, jps, jpe, 1, config_flags%lagday              )
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%achfx,1)*SIZE(grid%achfx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%achfx, 4,&
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%aclhf,1)*SIZE(grid%aclhf,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclhf, 4,&
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%tml,1)*SIZE(grid%tml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tml, 4,&
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%t0ml,1)*SIZE(grid%t0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t0ml, 4,&
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%hml,1)*SIZE(grid%hml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hml, 4,&
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%h0ml,1)*SIZE(grid%h0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h0ml, 4,&
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%huml,1)*SIZE(grid%huml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%huml, 4,&
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%hvml,1)*SIZE(grid%hvml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hvml, 4,&
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%tmoml,1)*SIZE(grid%tmoml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tmoml, 4,&
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%numc,1)*SIZE(grid%numc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%numc, 4,&
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%nump,1)*SIZE(grid%nump,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nump, 4,&
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%snl,1)*SIZE(grid%snl,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snl, 4,&
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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowdp,1)*SIZE(grid%snowdp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowdp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtc,1)*SIZE(grid%wtc,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtc, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtp,1)*SIZE(grid%wtp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osno,1)*SIZE(grid%h2osno,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osno, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_grnd,1)*SIZE(grid%t_grnd,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_grnd, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_veg,1)*SIZE(grid%t_veg,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_veg, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan,1)*SIZE(grid%h2ocan,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan_col,1)*SIZE(grid%h2ocan_col,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan_col, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t2m_max,1)*SIZE(grid%t2m_max,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_max, 4,&
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%t2m_min,1)*SIZE(grid%t2m_min,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_min, 4,&
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%t2clm,1)*SIZE(grid%t2clm,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2clm, 4,&
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%t_ref2m,1)*SIZE(grid%t_ref2m,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_ref2m, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s1,1)*SIZE(grid%h2osoi_liq_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s2,1)*SIZE(grid%h2osoi_liq_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s3,1)*SIZE(grid%h2osoi_liq_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s4,1)*SIZE(grid%h2osoi_liq_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s5,1)*SIZE(grid%h2osoi_liq_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq1,1)*SIZE(grid%h2osoi_liq1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq2,1)*SIZE(grid%h2osoi_liq2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq3,1)*SIZE(grid%h2osoi_liq3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq4,1)*SIZE(grid%h2osoi_liq4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq5,1)*SIZE(grid%h2osoi_liq5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq6,1)*SIZE(grid%h2osoi_liq6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq7,1)*SIZE(grid%h2osoi_liq7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq8,1)*SIZE(grid%h2osoi_liq8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq9,1)*SIZE(grid%h2osoi_liq9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq10,1)*SIZE(grid%h2osoi_liq10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s1,1)*SIZE(grid%h2osoi_ice_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s2,1)*SIZE(grid%h2osoi_ice_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s3,1)*SIZE(grid%h2osoi_ice_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s4,1)*SIZE(grid%h2osoi_ice_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s5,1)*SIZE(grid%h2osoi_ice_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice1,1)*SIZE(grid%h2osoi_ice1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice2,1)*SIZE(grid%h2osoi_ice2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice3,1)*SIZE(grid%h2osoi_ice3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice4,1)*SIZE(grid%h2osoi_ice4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice5,1)*SIZE(grid%h2osoi_ice5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice6,1)*SIZE(grid%h2osoi_ice6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice7,1)*SIZE(grid%h2osoi_ice7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice8,1)*SIZE(grid%h2osoi_ice8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice9,1)*SIZE(grid%h2osoi_ice9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice10,1)*SIZE(grid%h2osoi_ice10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s1,1)*SIZE(grid%t_soisno_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s2,1)*SIZE(grid%t_soisno_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s3,1)*SIZE(grid%t_soisno_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s4,1)*SIZE(grid%t_soisno_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s5,1)*SIZE(grid%t_soisno_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno1,1)*SIZE(grid%t_soisno1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno2,1)*SIZE(grid%t_soisno2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno3,1)*SIZE(grid%t_soisno3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno4,1)*SIZE(grid%t_soisno4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno5,1)*SIZE(grid%t_soisno5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno6,1)*SIZE(grid%t_soisno6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno7,1)*SIZE(grid%t_soisno7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno8,1)*SIZE(grid%t_soisno8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno9,1)*SIZE(grid%t_soisno9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno10,1)*SIZE(grid%t_soisno10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow1,1)*SIZE(grid%dzsnow1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow2,1)*SIZE(grid%dzsnow2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow3,1)*SIZE(grid%dzsnow3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow4,1)*SIZE(grid%dzsnow4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow5,1)*SIZE(grid%dzsnow5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds1,1)*SIZE(grid%snowrds1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds2,1)*SIZE(grid%snowrds2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds3,1)*SIZE(grid%snowrds3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds4,1)*SIZE(grid%snowrds4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds5,1)*SIZE(grid%snowrds5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake1,1)*SIZE(grid%t_lake1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake2,1)*SIZE(grid%t_lake2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake3,1)*SIZE(grid%t_lake3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake4,1)*SIZE(grid%t_lake4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake5,1)*SIZE(grid%t_lake5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake6,1)*SIZE(grid%t_lake6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake7,1)*SIZE(grid%t_lake7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake8,1)*SIZE(grid%t_lake8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake9,1)*SIZE(grid%t_lake9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake10,1)*SIZE(grid%t_lake10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol1,1)*SIZE(grid%h2osoi_vol1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol2,1)*SIZE(grid%h2osoi_vol2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol3,1)*SIZE(grid%h2osoi_vol3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol4,1)*SIZE(grid%h2osoi_vol4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol5,1)*SIZE(grid%h2osoi_vol5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol6,1)*SIZE(grid%h2osoi_vol6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol7,1)*SIZE(grid%h2osoi_vol7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol8,1)*SIZE(grid%h2osoi_vol8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol9,1)*SIZE(grid%h2osoi_vol9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol10,1)*SIZE(grid%h2osoi_vol10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%albedosubgrid,1)*SIZE(grid%albedosubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albedosubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lhsubgrid,1)*SIZE(grid%lhsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lhsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%hfxsubgrid,1)*SIZE(grid%hfxsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hfxsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lwupsubgrid,1)*SIZE(grid%lwupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%q2subgrid,1)*SIZE(grid%q2subgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2subgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabvsubgrid,1)*SIZE(grid%sabvsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabvsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabgsubgrid,1)*SIZE(grid%sabgsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabgsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%nrasubgrid,1)*SIZE(grid%nrasubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nrasubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%swupsubgrid,1)*SIZE(grid%swupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
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%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_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,   & 
     123  &
   + num_moist   &
   + num_dfi_moist   &
   + num_scalar   &
   + num_dfi_scalar   &
   + num_tracer   &
     , 202, RWORDSIZE, &
     1, 24, 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 &
,132 &
,config_flags%ocean_levels &
,config_flags%num_snow_layers &
,config_flags%num_snso_layers &
,config_flags%lagday &
,config_flags%maxpatch &
))
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%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,3) .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_XZY, 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,3) .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_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
IF ( SIZE(grid%w_2,1)*SIZE(grid%w_2,3) .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_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
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,3) .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_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
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,3) .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_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
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,3) .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_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
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%nest_pos,1)*SIZE(grid%nest_pos,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_pos, 4,&
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%nest_mask,1)*SIZE(grid%nest_mask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_mask, 4,&
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,3) .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_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
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,3) .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_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
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,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_moist
 IF ( SIZE(dfi_moist,1)*SIZE(dfi_moist,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
DO itrace = PARAM_FIRST_SCALAR, num_scalar
 IF ( SIZE(scalar,1)*SIZE(scalar,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_scalar
 IF ( SIZE(dfi_scalar,1)*SIZE(dfi_scalar,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
IF ( SIZE(grid%toposlpx,1)*SIZE(grid%toposlpx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpx, 4,&
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%toposlpy,1)*SIZE(grid%toposlpy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpy, 4,&
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%slope,1)*SIZE(grid%slope,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slope, 4,&
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%slp_azi,1)*SIZE(grid%slp_azi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slp_azi, 4,&
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%shdmax,1)*SIZE(grid%shdmax,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmax, 4,&
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%shdmin,1)*SIZE(grid%shdmin,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmin, 4,&
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,3) .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_XZY, 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%urb_param,1)*SIZE(grid%urb_param,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%urb_param, 4,&
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, 1, 132,             &
ims, ime, jms, jme, 1, 132,             &
ips, ipe, jps, jpe, 1, 132              )
ENDIF
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,3) .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_XZY, 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,3) .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_XZY, 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,3) .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_XZY, 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%icedepth,1)*SIZE(grid%icedepth,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%icedepth, 4,&
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%xicem,1)*SIZE(grid%xicem,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xicem, 4,&
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%albsi,1)*SIZE(grid%albsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albsi, 4,&
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%snowsi,1)*SIZE(grid%snowsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowsi, 4,&
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%acgrdflx,1)*SIZE(grid%acgrdflx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acgrdflx, 4,&
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%acsnow,1)*SIZE(grid%acsnow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnow, 4,&
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%acsnom,1)*SIZE(grid%acsnom,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnom, 4,&
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%canwat,1)*SIZE(grid%canwat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canwat, 4,&
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%tr_urb2d,1)*SIZE(grid%tr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tr_urb2d, 4,&
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%tb_urb2d,1)*SIZE(grid%tb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tb_urb2d, 4,&
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%tg_urb2d,1)*SIZE(grid%tg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tg_urb2d, 4,&
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%tc_urb2d,1)*SIZE(grid%tc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tc_urb2d, 4,&
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%qc_urb2d,1)*SIZE(grid%qc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qc_urb2d, 4,&
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%uc_urb2d,1)*SIZE(grid%uc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%uc_urb2d, 4,&
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%xxxr_urb2d,1)*SIZE(grid%xxxr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxr_urb2d, 4,&
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%xxxb_urb2d,1)*SIZE(grid%xxxb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxb_urb2d, 4,&
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%xxxg_urb2d,1)*SIZE(grid%xxxg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxg_urb2d, 4,&
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%xxxc_urb2d,1)*SIZE(grid%xxxc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxc_urb2d, 4,&
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%trl_urb3d,1)*SIZE(grid%trl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trl_urb3d, 4,&
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, 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%tbl_urb3d,1)*SIZE(grid%tbl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tbl_urb3d, 4,&
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, 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%tgl_urb3d,1)*SIZE(grid%tgl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgl_urb3d, 4,&
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, 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%frc_urb2d,1)*SIZE(grid%frc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%frc_urb2d, 4,&
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%utype_urb2d,1)*SIZE(grid%utype_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%utype_urb2d, 4,&
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%var2d,1)*SIZE(grid%var2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%var2d, 4,&
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%oc12d,1)*SIZE(grid%oc12d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oc12d, 4,&
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%oa1,1)*SIZE(grid%oa1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa1, 4,&
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%oa2,1)*SIZE(grid%oa2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa2, 4,&
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%oa3,1)*SIZE(grid%oa3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa3, 4,&
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%oa4,1)*SIZE(grid%oa4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa4, 4,&
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%ol1,1)*SIZE(grid%ol1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol1, 4,&
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%ol2,1)*SIZE(grid%ol2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol2, 4,&
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%ol3,1)*SIZE(grid%ol3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol3, 4,&
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%ol4,1)*SIZE(grid%ol4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol4, 4,&
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%ctopo,1)*SIZE(grid%ctopo,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo, 4,&
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%ctopo2,1)*SIZE(grid%ctopo2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo2, 4,&
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_ice_phy,1)*SIZE(grid%f_ice_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_ice_phy, 4,&
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
IF ( SIZE(grid%f_rain_phy,1)*SIZE(grid%f_rain_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rain_phy, 4,&
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
IF ( SIZE(grid%f_rimef_phy,1)*SIZE(grid%f_rimef_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rimef_phy, 4,&
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
IF ( SIZE(grid%om_tmp,1)*SIZE(grid%om_tmp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_tmp, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_s,1)*SIZE(grid%om_s,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_s, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_u,1)*SIZE(grid%om_u,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_v,1)*SIZE(grid%om_v,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_ml,1)*SIZE(grid%om_ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_ml, 4,&
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%h_diabatic,1)*SIZE(grid%h_diabatic,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%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_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
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%rainsh,1)*SIZE(grid%rainsh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rainsh, 4,&
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%i_rainc,1)*SIZE(grid%i_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%i_rainnc,1)*SIZE(grid%i_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%snownc,1)*SIZE(grid%snownc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snownc, 4,&
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%graupelnc,1)*SIZE(grid%graupelnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%graupelnc, 4,&
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%hailnc,1)*SIZE(grid%hailnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hailnc, 4,&
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%refl_10cm,1)*SIZE(grid%refl_10cm,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%refl_10cm, 4,&
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
IF ( SIZE(grid%acswupt,1)*SIZE(grid%acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupt, 4,&
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%acswuptc,1)*SIZE(grid%acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswuptc, 4,&
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%acswdnt,1)*SIZE(grid%acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnt, 4,&
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%acswdntc,1)*SIZE(grid%acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdntc, 4,&
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%acswupb,1)*SIZE(grid%acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupb, 4,&
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%acswupbc,1)*SIZE(grid%acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupbc, 4,&
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%acswdnb,1)*SIZE(grid%acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnb, 4,&
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%acswdnbc,1)*SIZE(grid%acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnbc, 4,&
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%aclwupt,1)*SIZE(grid%aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupt, 4,&
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%aclwuptc,1)*SIZE(grid%aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwuptc, 4,&
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%aclwdnt,1)*SIZE(grid%aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnt, 4,&
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%aclwdntc,1)*SIZE(grid%aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdntc, 4,&
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%aclwupb,1)*SIZE(grid%aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupb, 4,&
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%aclwupbc,1)*SIZE(grid%aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupbc, 4,&
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%aclwdnb,1)*SIZE(grid%aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnb, 4,&
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%aclwdnbc,1)*SIZE(grid%aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnbc, 4,&
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%i_acswupt,1)*SIZE(grid%i_acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupt, 4,&
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%i_acswuptc,1)*SIZE(grid%i_acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswuptc, 4,&
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%i_acswdnt,1)*SIZE(grid%i_acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnt, 4,&
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%i_acswdntc,1)*SIZE(grid%i_acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdntc, 4,&
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%i_acswupb,1)*SIZE(grid%i_acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupb, 4,&
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%i_acswupbc,1)*SIZE(grid%i_acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupbc, 4,&
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%i_acswdnb,1)*SIZE(grid%i_acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnb, 4,&
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%i_acswdnbc,1)*SIZE(grid%i_acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnbc, 4,&
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%i_aclwupt,1)*SIZE(grid%i_aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupt, 4,&
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%i_aclwuptc,1)*SIZE(grid%i_aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwuptc, 4,&
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%i_aclwdnt,1)*SIZE(grid%i_aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnt, 4,&
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%i_aclwdntc,1)*SIZE(grid%i_aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdntc, 4,&
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%i_aclwupb,1)*SIZE(grid%i_aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupb, 4,&
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%i_aclwupbc,1)*SIZE(grid%i_aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupbc, 4,&
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%i_aclwdnb,1)*SIZE(grid%i_aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnb, 4,&
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%i_aclwdnbc,1)*SIZE(grid%i_aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnbc, 4,&
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%swupt,1)*SIZE(grid%swupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupt, 4,&
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%swuptc,1)*SIZE(grid%swuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swuptc, 4,&
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%swdnt,1)*SIZE(grid%swdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnt, 4,&
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%swdntc,1)*SIZE(grid%swdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdntc, 4,&
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%swupb,1)*SIZE(grid%swupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupb, 4,&
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%swupbc,1)*SIZE(grid%swupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupbc, 4,&
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%swdnb,1)*SIZE(grid%swdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnb, 4,&
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%swdnbc,1)*SIZE(grid%swdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnbc, 4,&
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%lwupt,1)*SIZE(grid%lwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupt, 4,&
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%lwuptc,1)*SIZE(grid%lwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwuptc, 4,&
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%lwdnt,1)*SIZE(grid%lwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnt, 4,&
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%lwdntc,1)*SIZE(grid%lwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdntc, 4,&
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%lwupb,1)*SIZE(grid%lwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupb, 4,&
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%lwupbc,1)*SIZE(grid%lwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupbc, 4,&
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%lwdnb,1)*SIZE(grid%lwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnb, 4,&
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%lwdnbc,1)*SIZE(grid%lwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnbc, 4,&
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%isnowxy,1)*SIZE(grid%isnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%isnowxy, 4,&
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%tvxy,1)*SIZE(grid%tvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tvxy, 4,&
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%tgxy,1)*SIZE(grid%tgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgxy, 4,&
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%canicexy,1)*SIZE(grid%canicexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canicexy, 4,&
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%canliqxy,1)*SIZE(grid%canliqxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canliqxy, 4,&
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%eahxy,1)*SIZE(grid%eahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%eahxy, 4,&
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%tahxy,1)*SIZE(grid%tahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tahxy, 4,&
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%cmxy,1)*SIZE(grid%cmxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%cmxy, 4,&
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%chxy,1)*SIZE(grid%chxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chxy, 4,&
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%fwetxy,1)*SIZE(grid%fwetxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fwetxy, 4,&
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%sneqvoxy,1)*SIZE(grid%sneqvoxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sneqvoxy, 4,&
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%alboldxy,1)*SIZE(grid%alboldxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%alboldxy, 4,&
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%qsnowxy,1)*SIZE(grid%qsnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qsnowxy, 4,&
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%wslakexy,1)*SIZE(grid%wslakexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wslakexy, 4,&
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%zwtxy,1)*SIZE(grid%zwtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zwtxy, 4,&
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%waxy,1)*SIZE(grid%waxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%waxy, 4,&
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%wtxy,1)*SIZE(grid%wtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtxy, 4,&
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%tsnoxy,1)*SIZE(grid%tsnoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tsnoxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%zsnsoxy,1)*SIZE(grid%zsnsoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zsnsoxy, 4,&
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, 1, config_flags%num_snso_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snso_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snso_layers              )
ENDIF
IF ( SIZE(grid%snicexy,1)*SIZE(grid%snicexy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snicexy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%snliqxy,1)*SIZE(grid%snliqxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snliqxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%lfmassxy,1)*SIZE(grid%lfmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lfmassxy, 4,&
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%rtmassxy,1)*SIZE(grid%rtmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rtmassxy, 4,&
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%stmassxy,1)*SIZE(grid%stmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stmassxy, 4,&
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%woodxy,1)*SIZE(grid%woodxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%woodxy, 4,&
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%stblcpxy,1)*SIZE(grid%stblcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stblcpxy, 4,&
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%fastcpxy,1)*SIZE(grid%fastcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fastcpxy, 4,&
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%xsaixy,1)*SIZE(grid%xsaixy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xsaixy, 4,&
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%t2mvxy,1)*SIZE(grid%t2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mvxy, 4,&
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%t2mbxy,1)*SIZE(grid%t2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mbxy, 4,&
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%q2mvxy,1)*SIZE(grid%q2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mvxy, 4,&
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%q2mbxy,1)*SIZE(grid%q2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mbxy, 4,&
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%tradxy,1)*SIZE(grid%tradxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tradxy, 4,&
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%neexy,1)*SIZE(grid%neexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%neexy, 4,&
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%gppxy,1)*SIZE(grid%gppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%gppxy, 4,&
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%nppxy,1)*SIZE(grid%nppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nppxy, 4,&
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%fvegxy,1)*SIZE(grid%fvegxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fvegxy, 4,&
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%qinxy,1)*SIZE(grid%qinxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qinxy, 4,&
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%runsfxy,1)*SIZE(grid%runsfxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsfxy, 4,&
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%runsbxy,1)*SIZE(grid%runsbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsbxy, 4,&
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%ecanxy,1)*SIZE(grid%ecanxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ecanxy, 4,&
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%edirxy,1)*SIZE(grid%edirxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%edirxy, 4,&
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%etranxy,1)*SIZE(grid%etranxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%etranxy, 4,&
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%fsaxy,1)*SIZE(grid%fsaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fsaxy, 4,&
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%firaxy,1)*SIZE(grid%firaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%firaxy, 4,&
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%aparxy,1)*SIZE(grid%aparxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aparxy, 4,&
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%psnxy,1)*SIZE(grid%psnxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%psnxy, 4,&
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%savxy,1)*SIZE(grid%savxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%savxy, 4,&
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%sagxy,1)*SIZE(grid%sagxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sagxy, 4,&
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%rssunxy,1)*SIZE(grid%rssunxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rssunxy, 4,&
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%rsshaxy,1)*SIZE(grid%rsshaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rsshaxy, 4,&
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%bgapxy,1)*SIZE(grid%bgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%bgapxy, 4,&
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%wgapxy,1)*SIZE(grid%wgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wgapxy, 4,&
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%tgvxy,1)*SIZE(grid%tgvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgvxy, 4,&
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%tgbxy,1)*SIZE(grid%tgbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgbxy, 4,&
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%chvxy,1)*SIZE(grid%chvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chvxy, 4,&
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%chbxy,1)*SIZE(grid%chbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chbxy, 4,&
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%shgxy,1)*SIZE(grid%shgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shgxy, 4,&
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%shcxy,1)*SIZE(grid%shcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shcxy, 4,&
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%shbxy,1)*SIZE(grid%shbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shbxy, 4,&
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%evgxy,1)*SIZE(grid%evgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evgxy, 4,&
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%evbxy,1)*SIZE(grid%evbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evbxy, 4,&
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%ghvxy,1)*SIZE(grid%ghvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghvxy, 4,&
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%ghbxy,1)*SIZE(grid%ghbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghbxy, 4,&
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%irgxy,1)*SIZE(grid%irgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irgxy, 4,&
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%ircxy,1)*SIZE(grid%ircxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ircxy, 4,&
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%irbxy,1)*SIZE(grid%irbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irbxy, 4,&
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%trxy,1)*SIZE(grid%trxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trxy, 4,&
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%evcxy,1)*SIZE(grid%evcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evcxy, 4,&
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%chleafxy,1)*SIZE(grid%chleafxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chleafxy, 4,&
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%chucxy,1)*SIZE(grid%chucxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chucxy, 4,&
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%chv2xy,1)*SIZE(grid%chv2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chv2xy, 4,&
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%chb2xy,1)*SIZE(grid%chb2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chb2xy, 4,&
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%chstarxy,1)*SIZE(grid%chstarxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chstarxy, 4,&
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%tyr,1)*SIZE(grid%tyr,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyr, 4,&
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%tyra,1)*SIZE(grid%tyra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyra, 4,&
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%tdly,1)*SIZE(grid%tdly,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tdly, 4,&
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%tlag,1)*SIZE(grid%tlag,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tlag, 4,&
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, 1, config_flags%lagday,             &
ims, ime, jms, jme, 1, config_flags%lagday,             &
ips, ipe, jps, jpe, 1, config_flags%lagday              )
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%achfx,1)*SIZE(grid%achfx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%achfx, 4,&
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%aclhf,1)*SIZE(grid%aclhf,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclhf, 4,&
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%tml,1)*SIZE(grid%tml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tml, 4,&
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%t0ml,1)*SIZE(grid%t0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t0ml, 4,&
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%hml,1)*SIZE(grid%hml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hml, 4,&
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%h0ml,1)*SIZE(grid%h0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h0ml, 4,&
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%huml,1)*SIZE(grid%huml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%huml, 4,&
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%hvml,1)*SIZE(grid%hvml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hvml, 4,&
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%tmoml,1)*SIZE(grid%tmoml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tmoml, 4,&
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%numc,1)*SIZE(grid%numc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%numc, 4,&
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%nump,1)*SIZE(grid%nump,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nump, 4,&
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%snl,1)*SIZE(grid%snl,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snl, 4,&
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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowdp,1)*SIZE(grid%snowdp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowdp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtc,1)*SIZE(grid%wtc,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtc, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtp,1)*SIZE(grid%wtp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osno,1)*SIZE(grid%h2osno,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osno, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_grnd,1)*SIZE(grid%t_grnd,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_grnd, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_veg,1)*SIZE(grid%t_veg,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_veg, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan,1)*SIZE(grid%h2ocan,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan_col,1)*SIZE(grid%h2ocan_col,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan_col, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t2m_max,1)*SIZE(grid%t2m_max,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_max, 4,&
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%t2m_min,1)*SIZE(grid%t2m_min,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_min, 4,&
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%t2clm,1)*SIZE(grid%t2clm,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2clm, 4,&
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%t_ref2m,1)*SIZE(grid%t_ref2m,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_ref2m, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s1,1)*SIZE(grid%h2osoi_liq_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s2,1)*SIZE(grid%h2osoi_liq_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s3,1)*SIZE(grid%h2osoi_liq_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s4,1)*SIZE(grid%h2osoi_liq_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s5,1)*SIZE(grid%h2osoi_liq_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq1,1)*SIZE(grid%h2osoi_liq1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq2,1)*SIZE(grid%h2osoi_liq2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq3,1)*SIZE(grid%h2osoi_liq3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq4,1)*SIZE(grid%h2osoi_liq4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq5,1)*SIZE(grid%h2osoi_liq5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq6,1)*SIZE(grid%h2osoi_liq6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq7,1)*SIZE(grid%h2osoi_liq7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq8,1)*SIZE(grid%h2osoi_liq8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq9,1)*SIZE(grid%h2osoi_liq9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq10,1)*SIZE(grid%h2osoi_liq10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s1,1)*SIZE(grid%h2osoi_ice_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s2,1)*SIZE(grid%h2osoi_ice_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s3,1)*SIZE(grid%h2osoi_ice_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s4,1)*SIZE(grid%h2osoi_ice_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s5,1)*SIZE(grid%h2osoi_ice_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice1,1)*SIZE(grid%h2osoi_ice1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice2,1)*SIZE(grid%h2osoi_ice2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice3,1)*SIZE(grid%h2osoi_ice3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice4,1)*SIZE(grid%h2osoi_ice4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice5,1)*SIZE(grid%h2osoi_ice5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice6,1)*SIZE(grid%h2osoi_ice6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice7,1)*SIZE(grid%h2osoi_ice7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice8,1)*SIZE(grid%h2osoi_ice8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice9,1)*SIZE(grid%h2osoi_ice9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice10,1)*SIZE(grid%h2osoi_ice10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s1,1)*SIZE(grid%t_soisno_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s2,1)*SIZE(grid%t_soisno_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s3,1)*SIZE(grid%t_soisno_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s4,1)*SIZE(grid%t_soisno_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s5,1)*SIZE(grid%t_soisno_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno1,1)*SIZE(grid%t_soisno1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno2,1)*SIZE(grid%t_soisno2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno3,1)*SIZE(grid%t_soisno3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno4,1)*SIZE(grid%t_soisno4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno5,1)*SIZE(grid%t_soisno5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno6,1)*SIZE(grid%t_soisno6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno7,1)*SIZE(grid%t_soisno7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno8,1)*SIZE(grid%t_soisno8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno9,1)*SIZE(grid%t_soisno9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno10,1)*SIZE(grid%t_soisno10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow1,1)*SIZE(grid%dzsnow1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow2,1)*SIZE(grid%dzsnow2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow3,1)*SIZE(grid%dzsnow3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow4,1)*SIZE(grid%dzsnow4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow5,1)*SIZE(grid%dzsnow5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds1,1)*SIZE(grid%snowrds1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds2,1)*SIZE(grid%snowrds2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds3,1)*SIZE(grid%snowrds3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds4,1)*SIZE(grid%snowrds4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds5,1)*SIZE(grid%snowrds5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake1,1)*SIZE(grid%t_lake1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake2,1)*SIZE(grid%t_lake2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake3,1)*SIZE(grid%t_lake3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake4,1)*SIZE(grid%t_lake4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake5,1)*SIZE(grid%t_lake5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake6,1)*SIZE(grid%t_lake6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake7,1)*SIZE(grid%t_lake7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake8,1)*SIZE(grid%t_lake8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake9,1)*SIZE(grid%t_lake9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake10,1)*SIZE(grid%t_lake10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol1,1)*SIZE(grid%h2osoi_vol1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol2,1)*SIZE(grid%h2osoi_vol2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol3,1)*SIZE(grid%h2osoi_vol3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol4,1)*SIZE(grid%h2osoi_vol4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol5,1)*SIZE(grid%h2osoi_vol5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol6,1)*SIZE(grid%h2osoi_vol6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol7,1)*SIZE(grid%h2osoi_vol7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol8,1)*SIZE(grid%h2osoi_vol8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol9,1)*SIZE(grid%h2osoi_vol9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol10,1)*SIZE(grid%h2osoi_vol10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%albedosubgrid,1)*SIZE(grid%albedosubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albedosubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lhsubgrid,1)*SIZE(grid%lhsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lhsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%hfxsubgrid,1)*SIZE(grid%hfxsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hfxsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lwupsubgrid,1)*SIZE(grid%lwupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%q2subgrid,1)*SIZE(grid%q2subgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2subgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabvsubgrid,1)*SIZE(grid%sabvsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabvsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabgsubgrid,1)*SIZE(grid%sabgsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabgsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%nrasubgrid,1)*SIZE(grid%nrasubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nrasubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%swupsubgrid,1)*SIZE(grid%swupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
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%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_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%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%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,3) .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_XZY, 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,3) .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_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
IF ( SIZE(grid%w_2,1)*SIZE(grid%w_2,3) .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_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
IF ( SIZE(grid%ph_2,1)*SIZE(grid%ph_2,3) .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_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
IF ( SIZE(grid%phb,1)*SIZE(grid%phb,3) .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_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
IF ( SIZE(grid%t_2,1)*SIZE(grid%t_2,3) .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_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
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%nest_pos,1)*SIZE(grid%nest_pos,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_pos, 4,&
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%nest_mask,1)*SIZE(grid%nest_mask,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nest_mask, 4,&
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,3) .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_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
IF ( SIZE(grid%pb,1)*SIZE(grid%pb,3) .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_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
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,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_moist
 IF ( SIZE(dfi_moist,1)*SIZE(dfi_moist,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
DO itrace = PARAM_FIRST_SCALAR, num_scalar
 IF ( SIZE(scalar,1)*SIZE(scalar,3) .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_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
DO itrace = PARAM_FIRST_SCALAR, num_dfi_scalar
 IF ( SIZE(dfi_scalar,1)*SIZE(dfi_scalar,3) .GT. 1 ) THEN
  CALL RSL_LITE_PACK ( local_communicator,&
dfi_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_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
IF ( SIZE(grid%toposlpx,1)*SIZE(grid%toposlpx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpx, 4,&
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%toposlpy,1)*SIZE(grid%toposlpy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%toposlpy, 4,&
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%slope,1)*SIZE(grid%slope,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slope, 4,&
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%slp_azi,1)*SIZE(grid%slp_azi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%slp_azi, 4,&
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%shdmax,1)*SIZE(grid%shdmax,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmax, 4,&
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%shdmin,1)*SIZE(grid%shdmin,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shdmin, 4,&
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,3) .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_XZY, 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%urb_param,1)*SIZE(grid%urb_param,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%urb_param, 4,&
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, 1, 132,             &
ims, ime, jms, jme, 1, 132,             &
ips, ipe, jps, jpe, 1, 132              )
ENDIF
IF ( SIZE(grid%smois,1)*SIZE(grid%smois,3) .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_XZY, 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,3) .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_XZY, 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,3) .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_XZY, 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%icedepth,1)*SIZE(grid%icedepth,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%icedepth, 4,&
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%xicem,1)*SIZE(grid%xicem,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xicem, 4,&
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%albsi,1)*SIZE(grid%albsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albsi, 4,&
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%snowsi,1)*SIZE(grid%snowsi,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowsi, 4,&
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%acgrdflx,1)*SIZE(grid%acgrdflx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acgrdflx, 4,&
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%acsnow,1)*SIZE(grid%acsnow,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnow, 4,&
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%acsnom,1)*SIZE(grid%acsnom,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acsnom, 4,&
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%canwat,1)*SIZE(grid%canwat,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canwat, 4,&
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%tr_urb2d,1)*SIZE(grid%tr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tr_urb2d, 4,&
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%tb_urb2d,1)*SIZE(grid%tb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tb_urb2d, 4,&
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%tg_urb2d,1)*SIZE(grid%tg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tg_urb2d, 4,&
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%tc_urb2d,1)*SIZE(grid%tc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tc_urb2d, 4,&
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%qc_urb2d,1)*SIZE(grid%qc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qc_urb2d, 4,&
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%uc_urb2d,1)*SIZE(grid%uc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%uc_urb2d, 4,&
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%xxxr_urb2d,1)*SIZE(grid%xxxr_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxr_urb2d, 4,&
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%xxxb_urb2d,1)*SIZE(grid%xxxb_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxb_urb2d, 4,&
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%xxxg_urb2d,1)*SIZE(grid%xxxg_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxg_urb2d, 4,&
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%xxxc_urb2d,1)*SIZE(grid%xxxc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xxxc_urb2d, 4,&
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%trl_urb3d,1)*SIZE(grid%trl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trl_urb3d, 4,&
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, 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%tbl_urb3d,1)*SIZE(grid%tbl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tbl_urb3d, 4,&
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, 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%tgl_urb3d,1)*SIZE(grid%tgl_urb3d,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgl_urb3d, 4,&
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, 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%frc_urb2d,1)*SIZE(grid%frc_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%frc_urb2d, 4,&
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%utype_urb2d,1)*SIZE(grid%utype_urb2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%utype_urb2d, 4,&
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%var2d,1)*SIZE(grid%var2d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%var2d, 4,&
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%oc12d,1)*SIZE(grid%oc12d,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oc12d, 4,&
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%oa1,1)*SIZE(grid%oa1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa1, 4,&
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%oa2,1)*SIZE(grid%oa2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa2, 4,&
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%oa3,1)*SIZE(grid%oa3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa3, 4,&
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%oa4,1)*SIZE(grid%oa4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%oa4, 4,&
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%ol1,1)*SIZE(grid%ol1,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol1, 4,&
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%ol2,1)*SIZE(grid%ol2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol2, 4,&
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%ol3,1)*SIZE(grid%ol3,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol3, 4,&
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%ol4,1)*SIZE(grid%ol4,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ol4, 4,&
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%ctopo,1)*SIZE(grid%ctopo,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo, 4,&
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%ctopo2,1)*SIZE(grid%ctopo2,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ctopo2, 4,&
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_ice_phy,1)*SIZE(grid%f_ice_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_ice_phy, 4,&
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
IF ( SIZE(grid%f_rain_phy,1)*SIZE(grid%f_rain_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rain_phy, 4,&
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
IF ( SIZE(grid%f_rimef_phy,1)*SIZE(grid%f_rimef_phy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%f_rimef_phy, 4,&
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
IF ( SIZE(grid%om_tmp,1)*SIZE(grid%om_tmp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_tmp, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_s,1)*SIZE(grid%om_s,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_s, 4,&
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, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_u,1)*SIZE(grid%om_u,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_v,1)*SIZE(grid%om_v,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%ocean_levels,             &
ims, ime, jms, jme, 1, config_flags%ocean_levels,             &
ips, ipe, jps, jpe, 1, config_flags%ocean_levels              )
ENDIF
IF ( SIZE(grid%om_ml,1)*SIZE(grid%om_ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%om_ml, 4,&
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%h_diabatic,1)*SIZE(grid%h_diabatic,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%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_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
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%rainsh,1)*SIZE(grid%rainsh,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rainsh, 4,&
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%i_rainc,1)*SIZE(grid%i_rainc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%i_rainnc,1)*SIZE(grid%i_rainnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_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, &
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%snownc,1)*SIZE(grid%snownc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snownc, 4,&
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%graupelnc,1)*SIZE(grid%graupelnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%graupelnc, 4,&
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%hailnc,1)*SIZE(grid%hailnc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hailnc, 4,&
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%refl_10cm,1)*SIZE(grid%refl_10cm,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%refl_10cm, 4,&
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
IF ( SIZE(grid%acswupt,1)*SIZE(grid%acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupt, 4,&
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%acswuptc,1)*SIZE(grid%acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswuptc, 4,&
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%acswdnt,1)*SIZE(grid%acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnt, 4,&
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%acswdntc,1)*SIZE(grid%acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdntc, 4,&
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%acswupb,1)*SIZE(grid%acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupb, 4,&
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%acswupbc,1)*SIZE(grid%acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswupbc, 4,&
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%acswdnb,1)*SIZE(grid%acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnb, 4,&
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%acswdnbc,1)*SIZE(grid%acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%acswdnbc, 4,&
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%aclwupt,1)*SIZE(grid%aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupt, 4,&
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%aclwuptc,1)*SIZE(grid%aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwuptc, 4,&
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%aclwdnt,1)*SIZE(grid%aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnt, 4,&
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%aclwdntc,1)*SIZE(grid%aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdntc, 4,&
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%aclwupb,1)*SIZE(grid%aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupb, 4,&
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%aclwupbc,1)*SIZE(grid%aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwupbc, 4,&
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%aclwdnb,1)*SIZE(grid%aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnb, 4,&
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%aclwdnbc,1)*SIZE(grid%aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclwdnbc, 4,&
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%i_acswupt,1)*SIZE(grid%i_acswupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupt, 4,&
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%i_acswuptc,1)*SIZE(grid%i_acswuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswuptc, 4,&
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%i_acswdnt,1)*SIZE(grid%i_acswdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnt, 4,&
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%i_acswdntc,1)*SIZE(grid%i_acswdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdntc, 4,&
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%i_acswupb,1)*SIZE(grid%i_acswupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupb, 4,&
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%i_acswupbc,1)*SIZE(grid%i_acswupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswupbc, 4,&
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%i_acswdnb,1)*SIZE(grid%i_acswdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnb, 4,&
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%i_acswdnbc,1)*SIZE(grid%i_acswdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_acswdnbc, 4,&
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%i_aclwupt,1)*SIZE(grid%i_aclwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupt, 4,&
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%i_aclwuptc,1)*SIZE(grid%i_aclwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwuptc, 4,&
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%i_aclwdnt,1)*SIZE(grid%i_aclwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnt, 4,&
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%i_aclwdntc,1)*SIZE(grid%i_aclwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdntc, 4,&
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%i_aclwupb,1)*SIZE(grid%i_aclwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupb, 4,&
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%i_aclwupbc,1)*SIZE(grid%i_aclwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwupbc, 4,&
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%i_aclwdnb,1)*SIZE(grid%i_aclwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnb, 4,&
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%i_aclwdnbc,1)*SIZE(grid%i_aclwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%i_aclwdnbc, 4,&
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%swupt,1)*SIZE(grid%swupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupt, 4,&
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%swuptc,1)*SIZE(grid%swuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swuptc, 4,&
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%swdnt,1)*SIZE(grid%swdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnt, 4,&
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%swdntc,1)*SIZE(grid%swdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdntc, 4,&
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%swupb,1)*SIZE(grid%swupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupb, 4,&
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%swupbc,1)*SIZE(grid%swupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupbc, 4,&
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%swdnb,1)*SIZE(grid%swdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnb, 4,&
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%swdnbc,1)*SIZE(grid%swdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swdnbc, 4,&
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%lwupt,1)*SIZE(grid%lwupt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupt, 4,&
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%lwuptc,1)*SIZE(grid%lwuptc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwuptc, 4,&
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%lwdnt,1)*SIZE(grid%lwdnt,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnt, 4,&
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%lwdntc,1)*SIZE(grid%lwdntc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdntc, 4,&
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%lwupb,1)*SIZE(grid%lwupb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupb, 4,&
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%lwupbc,1)*SIZE(grid%lwupbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupbc, 4,&
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%lwdnb,1)*SIZE(grid%lwdnb,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnb, 4,&
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%lwdnbc,1)*SIZE(grid%lwdnbc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwdnbc, 4,&
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%isnowxy,1)*SIZE(grid%isnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%isnowxy, 4,&
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%tvxy,1)*SIZE(grid%tvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tvxy, 4,&
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%tgxy,1)*SIZE(grid%tgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgxy, 4,&
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%canicexy,1)*SIZE(grid%canicexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canicexy, 4,&
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%canliqxy,1)*SIZE(grid%canliqxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%canliqxy, 4,&
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%eahxy,1)*SIZE(grid%eahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%eahxy, 4,&
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%tahxy,1)*SIZE(grid%tahxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tahxy, 4,&
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%cmxy,1)*SIZE(grid%cmxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%cmxy, 4,&
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%chxy,1)*SIZE(grid%chxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chxy, 4,&
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%fwetxy,1)*SIZE(grid%fwetxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fwetxy, 4,&
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%sneqvoxy,1)*SIZE(grid%sneqvoxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sneqvoxy, 4,&
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%alboldxy,1)*SIZE(grid%alboldxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%alboldxy, 4,&
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%qsnowxy,1)*SIZE(grid%qsnowxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qsnowxy, 4,&
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%wslakexy,1)*SIZE(grid%wslakexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wslakexy, 4,&
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%zwtxy,1)*SIZE(grid%zwtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zwtxy, 4,&
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%waxy,1)*SIZE(grid%waxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%waxy, 4,&
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%wtxy,1)*SIZE(grid%wtxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtxy, 4,&
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%tsnoxy,1)*SIZE(grid%tsnoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tsnoxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%zsnsoxy,1)*SIZE(grid%zsnsoxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%zsnsoxy, 4,&
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, 1, config_flags%num_snso_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snso_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snso_layers              )
ENDIF
IF ( SIZE(grid%snicexy,1)*SIZE(grid%snicexy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snicexy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%snliqxy,1)*SIZE(grid%snliqxy,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snliqxy, 4,&
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, 1, config_flags%num_snow_layers,             &
ims, ime, jms, jme, 1, config_flags%num_snow_layers,             &
ips, ipe, jps, jpe, 1, config_flags%num_snow_layers              )
ENDIF
IF ( SIZE(grid%lfmassxy,1)*SIZE(grid%lfmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lfmassxy, 4,&
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%rtmassxy,1)*SIZE(grid%rtmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rtmassxy, 4,&
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%stmassxy,1)*SIZE(grid%stmassxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stmassxy, 4,&
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%woodxy,1)*SIZE(grid%woodxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%woodxy, 4,&
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%stblcpxy,1)*SIZE(grid%stblcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%stblcpxy, 4,&
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%fastcpxy,1)*SIZE(grid%fastcpxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fastcpxy, 4,&
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%xsaixy,1)*SIZE(grid%xsaixy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%xsaixy, 4,&
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%t2mvxy,1)*SIZE(grid%t2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mvxy, 4,&
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%t2mbxy,1)*SIZE(grid%t2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2mbxy, 4,&
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%q2mvxy,1)*SIZE(grid%q2mvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mvxy, 4,&
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%q2mbxy,1)*SIZE(grid%q2mbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2mbxy, 4,&
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%tradxy,1)*SIZE(grid%tradxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tradxy, 4,&
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%neexy,1)*SIZE(grid%neexy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%neexy, 4,&
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%gppxy,1)*SIZE(grid%gppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%gppxy, 4,&
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%nppxy,1)*SIZE(grid%nppxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nppxy, 4,&
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%fvegxy,1)*SIZE(grid%fvegxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fvegxy, 4,&
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%qinxy,1)*SIZE(grid%qinxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%qinxy, 4,&
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%runsfxy,1)*SIZE(grid%runsfxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsfxy, 4,&
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%runsbxy,1)*SIZE(grid%runsbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%runsbxy, 4,&
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%ecanxy,1)*SIZE(grid%ecanxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ecanxy, 4,&
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%edirxy,1)*SIZE(grid%edirxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%edirxy, 4,&
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%etranxy,1)*SIZE(grid%etranxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%etranxy, 4,&
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%fsaxy,1)*SIZE(grid%fsaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%fsaxy, 4,&
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%firaxy,1)*SIZE(grid%firaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%firaxy, 4,&
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%aparxy,1)*SIZE(grid%aparxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aparxy, 4,&
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%psnxy,1)*SIZE(grid%psnxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%psnxy, 4,&
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%savxy,1)*SIZE(grid%savxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%savxy, 4,&
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%sagxy,1)*SIZE(grid%sagxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sagxy, 4,&
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%rssunxy,1)*SIZE(grid%rssunxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rssunxy, 4,&
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%rsshaxy,1)*SIZE(grid%rsshaxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%rsshaxy, 4,&
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%bgapxy,1)*SIZE(grid%bgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%bgapxy, 4,&
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%wgapxy,1)*SIZE(grid%wgapxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wgapxy, 4,&
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%tgvxy,1)*SIZE(grid%tgvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgvxy, 4,&
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%tgbxy,1)*SIZE(grid%tgbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tgbxy, 4,&
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%chvxy,1)*SIZE(grid%chvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chvxy, 4,&
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%chbxy,1)*SIZE(grid%chbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chbxy, 4,&
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%shgxy,1)*SIZE(grid%shgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shgxy, 4,&
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%shcxy,1)*SIZE(grid%shcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shcxy, 4,&
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%shbxy,1)*SIZE(grid%shbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%shbxy, 4,&
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%evgxy,1)*SIZE(grid%evgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evgxy, 4,&
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%evbxy,1)*SIZE(grid%evbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evbxy, 4,&
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%ghvxy,1)*SIZE(grid%ghvxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghvxy, 4,&
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%ghbxy,1)*SIZE(grid%ghbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ghbxy, 4,&
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%irgxy,1)*SIZE(grid%irgxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irgxy, 4,&
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%ircxy,1)*SIZE(grid%ircxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%ircxy, 4,&
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%irbxy,1)*SIZE(grid%irbxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%irbxy, 4,&
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%trxy,1)*SIZE(grid%trxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%trxy, 4,&
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%evcxy,1)*SIZE(grid%evcxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%evcxy, 4,&
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%chleafxy,1)*SIZE(grid%chleafxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chleafxy, 4,&
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%chucxy,1)*SIZE(grid%chucxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chucxy, 4,&
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%chv2xy,1)*SIZE(grid%chv2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chv2xy, 4,&
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%chb2xy,1)*SIZE(grid%chb2xy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chb2xy, 4,&
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%chstarxy,1)*SIZE(grid%chstarxy,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%chstarxy, 4,&
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%tyr,1)*SIZE(grid%tyr,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyr, 4,&
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%tyra,1)*SIZE(grid%tyra,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tyra, 4,&
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%tdly,1)*SIZE(grid%tdly,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tdly, 4,&
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%tlag,1)*SIZE(grid%tlag,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tlag, 4,&
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, 1, config_flags%lagday,             &
ims, ime, jms, jme, 1, config_flags%lagday,             &
ips, ipe, jps, jpe, 1, config_flags%lagday              )
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%achfx,1)*SIZE(grid%achfx,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%achfx, 4,&
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%aclhf,1)*SIZE(grid%aclhf,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%aclhf, 4,&
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%tml,1)*SIZE(grid%tml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tml, 4,&
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%t0ml,1)*SIZE(grid%t0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t0ml, 4,&
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%hml,1)*SIZE(grid%hml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hml, 4,&
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%h0ml,1)*SIZE(grid%h0ml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h0ml, 4,&
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%huml,1)*SIZE(grid%huml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%huml, 4,&
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%hvml,1)*SIZE(grid%hvml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hvml, 4,&
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%tmoml,1)*SIZE(grid%tmoml,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%tmoml, 4,&
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%numc,1)*SIZE(grid%numc,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%numc, 4,&
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%nump,1)*SIZE(grid%nump,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nump, 4,&
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%snl,1)*SIZE(grid%snl,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snl, 4,&
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_XZY, 0, &
mytask, ntasks, ntasks_x, ntasks_y,       &
ids, ide, jds, jde, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowdp,1)*SIZE(grid%snowdp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowdp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtc,1)*SIZE(grid%wtc,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtc, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%wtp,1)*SIZE(grid%wtp,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%wtp, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osno,1)*SIZE(grid%h2osno,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osno, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_grnd,1)*SIZE(grid%t_grnd,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_grnd, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_veg,1)*SIZE(grid%t_veg,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_veg, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan,1)*SIZE(grid%h2ocan,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2ocan_col,1)*SIZE(grid%h2ocan_col,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2ocan_col, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t2m_max,1)*SIZE(grid%t2m_max,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_max, 4,&
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%t2m_min,1)*SIZE(grid%t2m_min,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2m_min, 4,&
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%t2clm,1)*SIZE(grid%t2clm,2) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t2clm, 4,&
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%t_ref2m,1)*SIZE(grid%t_ref2m,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_ref2m, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s1,1)*SIZE(grid%h2osoi_liq_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s2,1)*SIZE(grid%h2osoi_liq_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s3,1)*SIZE(grid%h2osoi_liq_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s4,1)*SIZE(grid%h2osoi_liq_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq_s5,1)*SIZE(grid%h2osoi_liq_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq1,1)*SIZE(grid%h2osoi_liq1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq2,1)*SIZE(grid%h2osoi_liq2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq3,1)*SIZE(grid%h2osoi_liq3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq4,1)*SIZE(grid%h2osoi_liq4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq5,1)*SIZE(grid%h2osoi_liq5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq6,1)*SIZE(grid%h2osoi_liq6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq7,1)*SIZE(grid%h2osoi_liq7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq8,1)*SIZE(grid%h2osoi_liq8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq9,1)*SIZE(grid%h2osoi_liq9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_liq10,1)*SIZE(grid%h2osoi_liq10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_liq10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s1,1)*SIZE(grid%h2osoi_ice_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s2,1)*SIZE(grid%h2osoi_ice_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s3,1)*SIZE(grid%h2osoi_ice_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s4,1)*SIZE(grid%h2osoi_ice_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice_s5,1)*SIZE(grid%h2osoi_ice_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice1,1)*SIZE(grid%h2osoi_ice1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice2,1)*SIZE(grid%h2osoi_ice2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice3,1)*SIZE(grid%h2osoi_ice3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice4,1)*SIZE(grid%h2osoi_ice4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice5,1)*SIZE(grid%h2osoi_ice5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice6,1)*SIZE(grid%h2osoi_ice6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice7,1)*SIZE(grid%h2osoi_ice7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice8,1)*SIZE(grid%h2osoi_ice8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice9,1)*SIZE(grid%h2osoi_ice9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_ice10,1)*SIZE(grid%h2osoi_ice10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_ice10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s1,1)*SIZE(grid%t_soisno_s1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s2,1)*SIZE(grid%t_soisno_s2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s3,1)*SIZE(grid%t_soisno_s3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s4,1)*SIZE(grid%t_soisno_s4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno_s5,1)*SIZE(grid%t_soisno_s5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno_s5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno1,1)*SIZE(grid%t_soisno1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno2,1)*SIZE(grid%t_soisno2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno3,1)*SIZE(grid%t_soisno3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno4,1)*SIZE(grid%t_soisno4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno5,1)*SIZE(grid%t_soisno5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno6,1)*SIZE(grid%t_soisno6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno7,1)*SIZE(grid%t_soisno7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno8,1)*SIZE(grid%t_soisno8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno9,1)*SIZE(grid%t_soisno9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_soisno10,1)*SIZE(grid%t_soisno10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_soisno10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow1,1)*SIZE(grid%dzsnow1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow2,1)*SIZE(grid%dzsnow2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow3,1)*SIZE(grid%dzsnow3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow4,1)*SIZE(grid%dzsnow4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%dzsnow5,1)*SIZE(grid%dzsnow5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%dzsnow5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds1,1)*SIZE(grid%snowrds1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds2,1)*SIZE(grid%snowrds2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds3,1)*SIZE(grid%snowrds3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds4,1)*SIZE(grid%snowrds4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%snowrds5,1)*SIZE(grid%snowrds5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%snowrds5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake1,1)*SIZE(grid%t_lake1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake2,1)*SIZE(grid%t_lake2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake3,1)*SIZE(grid%t_lake3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake4,1)*SIZE(grid%t_lake4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake5,1)*SIZE(grid%t_lake5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake6,1)*SIZE(grid%t_lake6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake7,1)*SIZE(grid%t_lake7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake8,1)*SIZE(grid%t_lake8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake9,1)*SIZE(grid%t_lake9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%t_lake10,1)*SIZE(grid%t_lake10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%t_lake10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol1,1)*SIZE(grid%h2osoi_vol1,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol1, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol2,1)*SIZE(grid%h2osoi_vol2,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol2, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol3,1)*SIZE(grid%h2osoi_vol3,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol3, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol4,1)*SIZE(grid%h2osoi_vol4,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol4, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol5,1)*SIZE(grid%h2osoi_vol5,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol5, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol6,1)*SIZE(grid%h2osoi_vol6,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol6, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol7,1)*SIZE(grid%h2osoi_vol7,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol7, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol8,1)*SIZE(grid%h2osoi_vol8,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol8, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol9,1)*SIZE(grid%h2osoi_vol9,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol9, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%h2osoi_vol10,1)*SIZE(grid%h2osoi_vol10,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%h2osoi_vol10, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%albedosubgrid,1)*SIZE(grid%albedosubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%albedosubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lhsubgrid,1)*SIZE(grid%lhsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lhsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%hfxsubgrid,1)*SIZE(grid%hfxsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%hfxsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%lwupsubgrid,1)*SIZE(grid%lwupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%lwupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%q2subgrid,1)*SIZE(grid%q2subgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%q2subgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabvsubgrid,1)*SIZE(grid%sabvsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabvsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%sabgsubgrid,1)*SIZE(grid%sabgsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%sabgsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%nrasubgrid,1)*SIZE(grid%nrasubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%nrasubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
ENDIF
IF ( SIZE(grid%swupsubgrid,1)*SIZE(grid%swupsubgrid,3) .GT. 1 ) THEN
CALL RSL_LITE_PACK ( local_communicator,&
 grid%swupsubgrid, 4,&
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, 1, config_flags%maxpatch,             &
ims, ime, jms, jme, 1, config_flags%maxpatch,             &
ips, ipe, jps, jpe, 1, config_flags%maxpatch              )
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%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_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