Loading...
Searching...
No Matches
Version 3.0.3 (Oct 2023)
Version 3.0.2 (Aug 2023)
- various fixes
- new interfaces for
- adds support for Dynamic fractional masking (includes various new interfaces)
- improved code structure in interpolation.c
- adds plausibility check for vertex coordinates provided by the user
- replaces usage of MPF in crossproduct computation with kahan summation (required for CPUs that do not support long double with more than 64 bit)
- Extends options for the Definition of couples
- Fortran/Python:
- additional optional arguments
- C:
- routines for the definition of an extended coupling configuration
- new yac_cdef_couple_custom interface that has an additional argument for the extended coupling configuration
- adds support for scaling fractors and summand (can be used for unit conversions in the interpolation)
- adds support for scrip-formated grid files to tool weights2vtk
- adds support for named masks
- adds various workarounds for current NVHPC compiler
- adds Python tool weight visualisation
Version 3.0.1 (Jun 2023)
- various fixes
- reduces compiler warnings
- adds new interface for unstructured grids with edge on circles of longitude or latitude (can be used to register reduced gaussion grids)
(yac_cdef_grid_unstruct_ll)
- adds check which ensures that the entries in the cell_to_vertex array in the definition of unstructed grids are within the valid range
Version 3.0.0 (Mar 2023)
- various fixes
- various improvements in configure environment
- source to target point mapping now applies spread distance to distance between target points and to bounding circles of target cells
- updates libmtime to version 1.1.1
- new configuration file format
- reduction in and changes to initialisation routines
- various changes and renaming of interfaces
- new interfaces for
- new constants in interface
- calendar types
- time unit types
- improvement of python support
- relieves rules for
- definition of components, grids, and fields; do not have to be defined in coupling configuration anymore
- field names of couples; source and target field names do not have to be identical anymore
- removes GUI
Version 2.6.2 (Dec 2022)
Version 2.6.1 (Sep 2022)
Version 2.6.0 (Aug 2022)
- adds constants returned via info argument by yac_cput and yac_cget to interface (YAC_ACTION_NONE, YAC_ACTION_COUPLING, YAC_ACTION_GET_FOR_RESTART, YAC_ACTION_PUT_FOR_RESTART, and YAC_ACTION_OUT_OF_BOUND)
- adds constants for time operation types to interface (YAC_REDUCTION_INSTANT, YAC_REDUCTION_ACCUMULATE, and YAC_REDUCTION_TIME_AVERAGE)
- adds check to YAC initialisation, which check whether all components in a run have been compiled with the same YAC version
- adds new interface for curvilinear grids (yac_cdef_grid_curve2d and yac_cdef_points_curve2d)
- adds new interfaces for generating a coupling configuration at runtime
- adds new YAC initialisation interfaces that accept a coupling configuration instead of an XML file (yac_cinit_couple_config, yac_cinit_couple_config_group, yac_cinit_couple_config_instance, yac_cinit_couple_config_group_instance, yac_cinit_couple_config_comm, yac_cinit_couple_config_comm_group, yac_cinit_couple_config_comm_instance, and yac_cinit_couple_config_comm_group_instance)
- adds new interpolation User callback interpolation
Version 2.5.2 (Jun 2022)
Version 2.5.1 (Jun 2022)
- adds new query routine for fields (yac_cget_collection_size_id, yac_cget_collection_size_name, yac_cget_collection_size_name_instance)
- adds optional maximum search distance to interpolation method Source to Target mapping
- adds support for regular gaussian grids to weights2vtk tool
- some bug fixes
Version 2.5.0 (May 2022)
- adds new YAC initialisation interface that allows an early splitting of of the MPI_COMM_WORLD before the definition of components (yac_cinit_group, yac_cinit_group_instance, yac_cinit_comm_group, yac_cinit_comm_group_instance, yac_cget_groupcomm, yac_cget_groupcomm_instance, yac_finit_group, yac_finit_group_instance, yac_finit_comm_group, yac_finit_comm_group_instance, yac_fget_groupcomm, and yac_fget_groupcomm_instance)
- adds new query routines for coupling configuration (yac_get_transients_count, yac_get_transient_ids, yac_is_transient_source, yac_is_transient_target, yac_get_transient_collection_size, yac_get_transient_coupling_period, yac_get_transient_source_grid_name, yac_get_transient_source_grid_name, yac_fget_transients_count, yac_fget_transient_ids, yac_fis_transient_source, yac_fis_transient_target, yac_fget_transient_collection_size, yac_fget_transient_coupling_period, yac_fget_transient_source_grid_name, yac_fget_transient_target_grid_name, and yac_fget_transient_name)
Version 2.4.3 (May 2022)
- multiple source fields per target field are now supported in YAC2
- rework of intersection computation and clipping for better and more consistent results
- new query routines for fields (yac_cget_field_id_from_field_and_grid_name, yac_cget_field_id_from_field_and_grid_name_instance, yac_cget_role_of_field_by_field_and_grid_name, and yac_cget_role_of_field_by_field_and_grid_name_instance)
- added support for multi precision library in case the hardware does not support a double precision data type with more than 64 Bit
- significant improvment of test coverage and as a result a lot of fixes
Version 2.4.2 (Dec 2021)
- fixes bug which cause a segmentation fault in case the configuration XML file did not contain a transient_grid_refs section for a component
- improves computation of barycenters (relevant for 2nd order conservative interpolation)
- fixes bug that occured the core mask for a cell, vertex, or edge was 0 on all processes
- fixes issue that occured if a process with no cells was part of a active component
- additional code cleanup and improved testing
Version 2.4.1 (Dec 2021)
- some change to configure to avoid issues caused by ICON build process
Version 2.4.0 (Nov 2021)
- rework of internal handling of coupling configurations
- new dummy initialisation routines for YAC (yac_cinit_dummy, yac_cinit_comm_dummy, yac_finit_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 (Sep 2021)
- 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 (Sep 2021)
Version 2.3.0 (Aug 2021)
- improved doxygen documentation (Interpolation, documentation of XML configuration file)
- new interpolation: creep fill (Creep Fill)
- support for restarting of YAC (Restarting YAC)
- new interface that cleans up YAC without finalising MPI, which is required for restarting (yac_ccleanup and yac_fcleanup)
- new interface that allow YAC to be initialised with MPI communicator other than MPI_COMM_WORLD (yac_cinit_comm and yac_finit_comm)
- libxml2 is now a mandatory requirement for YAC
- reduces number of arguments to yac_csearch and yac_fsearch
- support for multiple YAC instances in parallel
- new interfaces for working with multiple YAC instances (yac_cinit_instance, yac_cinit_comm_instance, yac_ccleanup_instance, yac_cfinalize_instance, yac_cdef_datetime_instance, yac_cdef_comp_instance, yac_cdef_comps_instance, yac_cget_pair_rootcomm_instance, yac_cdef_grid_reg2d_instance, yac_cdef_grid_unstruct_instance, yac_csearch_instance, yac_get_start_datetime_instance, yac_get_end_datetime_instance, yac_cget_nbr_fields_instance, yac_cget_field_ids_instance, yac_cget_field_id_from_name_instance, yac_cget_role_of_field_by_name_instance, yac_cget_coupling_timestep_name_instance, yac_cget_model_timestep_name_instance, and Fortran counterparts)
- removes grid_id from def_field interfaces (yac_cdef_field, yac_cdef_field_mask, yac_fdef_field, and yac_fdef_field_mask)
- various bug fixes
Version 2.2.0 (May 2021)
Version 2.1.2 (Apr 2021)
- 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 (Mar 2021)
- a lot of cleanup and refactoring
- small bug fixes
Version 2.1.0 (Feb 2021)
Version 2.0.1 (Jan 2021)
- Support for user file interpolation
Version 2.0.0 (Jan 2021)
- 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:
- optional mapping of interpolated data on the target instead of source processes
- couple_config (yac_setup_couple_config) now supports coupling of domains located on the same process
- extension of the user interface by yac_cdef_comps and yac_fdef_comps
- example based on OASIS_MCT paper (Craig et al, 2017), their Fig. 1 (see https://www.geosci-model-dev-discuss.net/gmd-2017-64/)
- interface yac_fdef_field_nomask
- support of ISO format for time steps and coupling period
- constants for location of data points YAC_LOCATION_CELL, YAC_LOCATION_CORNER and YAC_LOCATION_EDGE
- interface yac_fset_comp_io_proc_step and yac_fget_comp_io_proc_step
- interface.h renamed to yac_interface.h
- interpolation method file now read point location from weight file
- interpolation method file now supports fixed values
- 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)