YetAnotherCoupler  2.4.1
Condensed release information

Version 2.4.1

  • some change to configure to avoid issues caused by ICON build process

Version 2.4.0

  • rework of internal handling of coupling configurations
  • new dummy initialisation routines for YAC (yac_cinit_dummy, yac_cinit_comm_dummy, yac_finit_dummy, and yac_finit_comm_dummy)
  • additional documentation on YAC instances
  • automatic unit tests by gitlab CI
  • automatic test coverage report by gitlab CI
  • improved test coverage
  • a lot of code cleanup
  • fixes issue with weight files that contained more than one fixed value
  • fixes broken accumulation time opertion of put
  • some additional minor fixes

Version 2.3.2

  • adds some workaround for NEC compiler
  • grids and points are now independent of YAC instances (a grid defined once can be used by multiple YAC instances)
  • some bug fixes

Version 2.3.1

  • some bug fixes

Version 2.3.0

Version 2.2.0

Version 2.1.2

  • interpolation method "Source Point Mapping" now has the option to distribute the source data to multiple target cell within a spread distance, which can be set by the user
  • interpolation method "Average" now has a new barycentric coordiante based weighting option
  • fixes issue that occured, when creating distributed grids on a single process

Version 2.1.1

  • a lot of cleanup and refactoring
  • small bug fixes

Version 2.1.0

Version 2.0.1

  • Support for user file interpolation

Version 2.0.0

  • Internal rewrite
  • Clean-up of coupling xml and GUI

Version 1.5.5 (Aug 2020)

  • YAC is now shipped with BSD license
  • minor bug fixes
  • update to latest version of mtime

Version 1.5.4 (Dec 2019)

  • Arguments '–with-regard-for-quality' and '–with-mpi-pack-external' are renamed to '–enable-mpi-checks' and '–enable-mpi-pack-external' respectively. Configure-time checks related to MPI_Pack_external are run only when the usage of MPI_Pack_external is enabled.
  • Influential environment variables '*_C_INCLUDE' and '*_C_LIB' are renamed to '*_CFLAGS' and '*_CLIBS' respectively. When set, the values of the variables override the values set with '–with-*-root', '–with-*-include', and '-with-*-lib'.
  • The default subdirectory to be searched for libxml2 header files is switched from '$with_xml2_root/include' to 'XML2_ROOT/include/libxml2'.
  • Automatic update of LD_LIBRARY_PATH when running the test suite on Linux (no need to specify rpath flags at configure-time anymore).
  • cfortran.h is not used anymore and removed from the repository. The name-mangling scheme required to enable Fortran backend for LAPACK is detected at configure-time.
  • The configure script generates a public header file 'yac_config.h' (installed to $prefix/include), which can be used by user applications to check for features enabled in YAC. The file can be safely included by Fortran compilers as well.
  • Silent mode for 'make' is enabled by default (can be overridden at the configure time with the option '–disable-silent-rules' or at the build time with the argument V=1, e.g. 'make V=1')
  • The configure script does not try to guess which libraries are required to enable MPI: users are encouraged to use MPI compiler wrappers).
  • Minor improvements for 'make clean' and 'make distclean' commands.
  • MPI_LAUNCH variable can be now set without the absolute path prefix.

Version 1.5.3 (Nov 2019)

  • bug fix in interpolation method spmap

Version 1.5.2 (Jul 2019)

  • bug fix in interpolation method spmap
  • error checking for all allocation routines
  • new configure test for bug in cray-mpich

Version 1.5.1 (Jun 2019)

  • gauss weighted distance n-nearest neighbours
  • bug fix to prevent a segmentation fault in nnn_search_local, if the number of unmasked point on a process is zero

Version 1.5.0 (Feb 2019)

  • a frist implementation of interpolation with radial basis functions (experimental)
  • refactoring of configure
  • refactoring of internal routines and structs
  • bug fixes

Version 1.4.0 (22 Oct 2018)

  • new interpolation: 2nd order conservative remapping
  • optimisation
  • fixes of memory leaks in tests and examples
  • cleaning of examples

Version 1.3.2 (21 Aug 2018)

  • internally coordinates are now handled in the cartesian space to avoid unneccessary forward- and backward conversion
  • improved performance for nearest-neighbour search
  • bug fixes and cleanup

Version 1.3.1 (6 Aug 2018)

  • new interpolation: hybrid cubic spherical Bernstern-Bezier
  • optimisation
  • bug fixes

Version 1.3.0 (25 Sep 2017)

  • new features in user interface:
  • new internal features:
    • point_sphere_part_search for optimised search in source point mapping (spmap) and n nearest neighbour (nnn)
    • interpolation plan type pointsum
    • interpolation plan type point for special case of 1 nearest neighbour
    • yac_comm_bsend now integrated into communicator_mpi to allow for waiting of bsends to be completed (results in performance improvements)
    • parallel reading of grid files especially required for high resolution grids like R02B11 (read_icon_grid_information_parallel)
    • experimental new interpolation methods smoothed patch recovery
    • new communication routines yac_comm_isend, yac_comm_irecv, yac_comm_testsome, yac_comm_waitall, yac_comm_free_request, yac_comm_scatter_callback and yac_comm_reduce_callback
    • yac_comm_check can now be used to pass on control to communication from time to time when processes a kept busy with huge but low-priority tasks, used in conserv, nnn, and patch.
    • DEBUG_TAGS prints tags and their associated strings
    • ATLAS is now supported by configure
    • component now contains information on good IO-processor count used for reading and writing weight files
    • collective routine yac_get_unique_comm_tags as a replacement for yac_get_unique_comm_tag which was unsave to use
    • constructor yac_global_search_all_local_new
    • constructor yac_new_field_interpolation_gen_src_tgt_2
  • bug fixes:
    • rewrite of spmap to overcome various problems
    • writing out weight files: older versions ignore writing out of some files
    • ensure bit-reproducability for conservative remapping and nearest-neighbour interpolation
    • useless use statements in Fortran interface removed
  • new interpolation method spmap (source point mapping); maps all non-masked source points to the nearest target point
    • with example toy_icon_runoff_atm/ocn to investigate spmap for icon grids
  • rework of n nearest neighbour interpolation method; much faster and less complex communication scheme
  • significant performance improvement in sphere part
  • removing of unused functions and variables
  • autotools update
  • update of GUI manual
  • update to latest version of mtime
  • cleaner handling of timestep and timelag in the GUI
  • makes write_restart and debug_mode optional in xml
  • components now can share one, some or all processes

Version 1.2.0 (30 Nov 2015)

  • bug fixes and performance improvements for reading in weights from files

Version 1.1.0 (28 Oct 2015)

  • first complete version of the GUI
  • reduction of MPI messages by using asynchronous collective operations
  • performance improvements in couple_config and global search
  • fix of several memory leaks
  • replaces mpi_pack, mpi_unpack, mpi_pack_size with its external counterpart
  • weighted average
  • correct behaviour or redirect stdout

Version 1.0.5 (22 Jul 2015)

  • performance improvements for search
  • fix in Fortran interface for yac_fget
  • minor bug fixes

Version 1.0.4 (9 Jun 2015)

  • major update of GUI with improved functionality
  • support user defined weights added (writing and reading of weight files)
  • load balancing functionality added
  • send/receive of individual collections/bundles with one operation
  • cubed sphere test case
  • minor bug fixes, performance improvements and code cleaning

Version 1.0.3 (5 Feb 2015)

  • priority given to targets sending grid info to source processes (see commit 92ee8eb6)
  • yac_ prefix for all external symbols
  • update of GUI plus minor revision of coupling.xsd
  • first version of GUI user manual

Version 1.0.2 (30 Oct 2014)

  • users are allowed to pass job start/end dates via F90/C API
  • new toy example to read in World Ocean Atlas 2009 data
  • bug fixes

Version 1.0.1 (3 Sep 2014)

SAB 2014 version

  • interpolation weights are now calculated only once if the same interpolation stack is applied to more than field, provided that grid- and mask-pairs are identical as well
  • some communication is saved for conservative remapping and patch recovery by packing data into a single message
  • support for moderately concave cells
  • distance-weighted n-nearest-neighbour interpolation
  • old simple n-nearest-neighbour weights are now optional

Version 1.0.0 (22 Jul 2014)

  • first release