YAC 3.21.0
Yet Another Coupler
Loading...
Searching...
No Matches
test_yac_pak_mci_component.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <mpi.h>
#include "io_utils.h"
#include "tests.h"
#include "yac.h"
#include "test_yac_pak_common.h"
Include dependency graph for test_yac_pak_mci_component.c:

Go to the source code of this file.

Macros

#define YAC_RAD   (0.01745329251994329576923690768489)
 

Detailed Description

Test
How the component of a process determines its trace output: the file name comes from the component name, and YAC_PAK_TRACE_STRIDE selects the writing ranks within the component. Both are only known at yac_cdef_comp. Must be run with 4 MPI ranks.

Tests 1-3 put "atm" on rank 0 and "ocn" on ranks 1-3. The sizes differ on purpose: with equal sizes the selection within the communicator and within the component coincide.

Tests:

  1. YAC_PAK_TRACE_STRIDE=2: only the ranks selected within their component write and both write modes agree.
  2. YAC_PAK_TRACE_STRIDE=1: nothing is filtered out.
  3. Setup-only traces (YAC_PAK_TRACE_LEVEL=0) are named after the component, although no coupling event carries a component name.
  4. A process defining two components of equal size picks the same one on all ranks, independent of the order it defined them in.
  5. A process defining a subcomponent is attributed to the larger one.

Definition in file test_yac_pak_mci_component.c.

Macro Definition Documentation

◆ YAC_RAD

#define YAC_RAD   (0.01745329251994329576923690768489)

Definition at line 37 of file test_yac_pak_mci_component.c.