#include #include #include "mpi.h" #include "oasis_c.h" int main(int argc, char *argv[]) { char *comp_name = "receiver"; fprintf(stdout,"Component name: %s\n", comp_name); fflush(stdout); OASIS_CHECK_MPI_ERR(MPI_Init(&argc, &argv)); MPI_Comm commworld; OASIS_CHECK_MPI_ERR(MPI_Comm_split(MPI_COMM_WORLD, 1, 0, &commworld)); int comp_id; OASIS_CHECK_ERR(oasis_c_init_comp_with_comm(&comp_id, comp_name, OASIS_COUPLED, commworld)); fprintf(stdout, "Receiver: Component ID: %d\n", comp_id); fflush(stdout); const int n_points = 16; int part_params[OASIS_Serial_Params]; part_params[OASIS_Strategy] = OASIS_Serial; part_params[OASIS_Length] = n_points; int part_id; OASIS_CHECK_ERR(oasis_c_def_partition(&part_id, OASIS_Serial_Params, part_params, OASIS_No_Gsize, OASIS_No_Name)); fprintf(stdout, "Receiver: part_id: %d\n", part_id); fflush(stdout); char *var_name = "FRECVATM"; fprintf(stdout, "Receiver: var_name %s\n", var_name); int bundle_size = 1; int var_id; OASIS_CHECK_ERR(oasis_c_def_var(&var_id, var_name, part_id, bundle_size, OASIS_IN, OASIS_REAL)); fprintf(stdout, "Receiver: var_id %d\n", var_id); fflush(stdout); OASIS_CHECK_ERR(oasis_c_enddef()); float field[n_points]; int i; for (i = 0; i