PROGRAM test_cs IMPLICIT NONE INCLUDE "mpif.h" INTEGER :: rank INTEGER :: size INTEGER :: ierr CALL MPI_INIT(ierr) CALL MPI_COMM_RANK(MPI_COMM_WORLD,rank,ierr) CALL MPI_COMM_SIZE(MPI_COMM_WORLD,size,ierr) IF (rank<3) THEN CALL client("client",rank,3) ELSE CALL server ENDIF CALL MPI_FINALIZE(ierr) END PROGRAM test_cs SUBROUTINE client(id,rank,size) USE xios IMPLICIT NONE INCLUDE 'mpif.h' CHARACTER(len=*) :: id INTEGER :: rank INTEGER :: size INTEGER :: comm TYPE(xios_time) :: dtime TYPE(xios_context) :: ctx_hdl INTEGER,PARAMETER :: ni_glo=10 INTEGER,PARAMETER :: nj_glo=10 TYPE(xios_field) :: field_hdl TYPE(xios_fieldgroup) :: fieldgroup_hdl TYPE(xios_file) :: file_hdl DOUBLE PRECISION,DIMENSION(ni_glo,nj_glo) :: lon_glo,lat_glo,field_A_glo DOUBLE PRECISION,ALLOCATABLE :: lon(:,:),lat(:,:),field_A(:,:), lonvalue(:) ; INTEGER :: ni,ibegin,iend,nj,jbegin,jend INTEGER :: i,j,ts,n DO j=1,nj_glo DO i=1,ni_glo lon_glo(i,j)=(i-1)+(j-1)*ni_glo lat_glo(i,j)=1000+(i-1)+(j-1)*ni_glo field_A_glo(i,j)=(i-1)+(j-1)*ni_glo ENDDO ENDDO ni=ni_glo ; ibegin=1 jbegin=1 DO n=0,size-1 nj=nj_glo/size IF (n