PROGRAM test_xios_interface ! This test is based on test_complete USE xios USE mod_wait IMPLICIT NONE INCLUDE "mpif.h" INTEGER :: rank INTEGER :: size_loc INTEGER :: ierr CHARACTER(len=*),PARAMETER :: id="client" INTEGER :: comm TYPE(xios_date) :: start_date, time_origin TYPE(xios_duration) :: dtime TYPE(xios_context) :: ctx_hdl INTEGER,PARAMETER :: ni_glo=10 INTEGER,PARAMETER :: nj_glo=10 INTEGER,PARAMETER :: llm=5 DOUBLE PRECISION :: lval(llm)=1 TYPE(xios_field) :: field_hdl TYPE(xios_fieldgroup) :: fieldgroup_hdl TYPE(xios_file) :: file_hdl LOGICAL :: ok CHARACTER(len=256) :: crname DOUBLE PRECISION,DIMENSION(ni_glo,nj_glo) :: lon_glo,lat_glo DOUBLE PRECISION :: field_A_glo(ni_glo,nj_glo,llm) DOUBLE PRECISION,ALLOCATABLE :: lon(:,:),lat(:,:),field_A_atm(:,:,:), field_A_srf(:,:), lonvalue(:) INTEGER, ALLOCATABLE :: kindex(:) INTEGER :: ni,ibegin,iend,nj,jbegin,jend INTEGER :: i,j,l,ts,n, nb_pt INTEGER :: var_val_int REAL :: var_val_float DOUBLE PRECISION :: var_val_double LOGICAL :: var_val_bool CHARACTER(len=256) :: var_val_char ="" CHARACTER(len=256) :: var_id !!! MPI Initialization CALL MPI_INIT(ierr) CALL init_wait !!! XIOS Initialization (get the local communicator) CALL xios_initialize(id,return_comm=comm) CALL MPI_COMM_RANK(comm,rank,ierr) CALL MPI_COMM_SIZE(comm,size_loc,ierr) !------------------------------------------------------------------------------- ! ! Define all neccessary values for test ! !------------------------------------------------------------------------------- !########################################################################### ! Contexte ATM !########################################################################### !!! Initialisation des coordonnées globales et locales pour la grille régulière 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 DO l=1,llm field_A_glo(i,j,l)=(i-1)+(j-1)*ni_glo+10000*l ENDDO ENDDO ENDDO ni=ni_glo ; ibegin=1 jbegin=1 DO n=0,size_loc-1 nj=nj_glo/size_loc IF (n