- Apr 04, 2025
-
-
## What is the new feature Add a contribution guide. Yen-Chen's email is also updated after moving from KIT to TUM. Approved-by:
Mikael Stellio <mikael.stellio@c2sm.ethz.ch> Merged-by:
Mikael Stellio <mikael.stellio@c2sm.ethz.ch> Changelog: other
-
- Mar 28, 2025
-
-
## What is the new feature Make changelog API to search for changelogs until the target commit. This way we can mange the versions more easily. ## How is it implemented In the GitLab [Changelog API](https://docs.gitlab.com/api/repositories/#generate-changelog-data ), the default `from` attribute is the last tag, which is exactly what we wanted. The default `to` attribute is the latest commit at the default branch. We change it to the target commit where we create the tag. Approved-by:
Mikael Stellio <mikael.stellio@c2sm.ethz.ch> Merged-by:
Mikael Stellio <mikael.stellio@c2sm.ethz.ch> Changelog: other
-
- Mar 12, 2025
-
-
Jonas Jucker authored
## What is the new feature Hand maintenance over to Mikel Stellio Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: other
-
- Mar 04, 2025
-
-
## What is the new feature New copy variants for 2d,4d,5d fields from double-precision to single-precision. Co-authored-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Approved-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Changelog: feature
-
- Mar 03, 2025
-
-
## What is the bug The `insert_dimension` fails in ICON without the deleted if clause. ## How do you fix it Recover the deleted code. Merged-by:
Pradipta Samanta <samanta@dkrz.de> Changelog: bugfix
-
- Feb 17, 2025
-
-
## What is the bug The C++ test code for `mo_util_stride` uses the experimental standard library. The filesystem standard library is automatically linked in C++17 ## How do you fix it Replace with the standard library Merged-by:
Pradipta Samanta <samanta@dkrz.de> Changelog: bugfix
-
## What is the bug `OpenMP_C` is not used and cannot be found with Mac clang, which causes compile trouble. This MR solves #25 . ## How do you fix it Only find OpenMP and the link for Fortran. Along the way, one bug for `insert_dimension` is also fixed with this MR. Approved-by:
Pradipta Samanta <samanta@dkrz.de> Merged-by:
Pradipta Samanta <samanta@dkrz.de> Changelog: bugfix
-
- Feb 14, 2025
-
-
## What is the bug The endianness detection in `src/util_hash.c` produces a false result on macOS with GCC 13 or later. For whatever reason, [`#include <sys/param.h>`](https://gitlab.dkrz.de/icon-libraries/libfortran-support/-/blob/316d3dc6edb6ef0f4f1b9adaf9f3cb27a7bb831a/src/util_hash.c#L49) does not define the `__DARWIN_BYTE_ORDER` and `__DARWIN_LITTLE_ENDIAN` macros when [`#define _POSIX_C_SOURCE 200112L`](https://gitlab.dkrz.de/icon-libraries/libfortran-support/-/blob/316d3dc6edb6ef0f4f1b9adaf9f3cb27a7bb831a/src/util_hash.c#L45). And that leads to the wrong values of the `HASH_LITTLE_ENDIAN` and `HASH_BIG_ENDIAN` macros. See also https://gitlab.dkrz.de/icon/icon-mpim/-/merge_requests/684#note_300951 . ## How do you fix it The endianness detection is delegated to CMake. Approved-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Changelog: bugfix
-
- Feb 07, 2025
-
-
## What is the new feature Support for single-precision as working-precision in libfortran-support. Related to icon-mpim MR (https://gitlab.dkrz.de/icon/icon-mpim/-/merge_requests/558), and libiconmath MR (libiconmath!13 ). ## How is it implemented - New CMake argument `FS_ENABLE_SINGLE_PRECISION`, disabled by default - Precision handling: Introduction of `src/mo_iconlib_kind.f90` shared by fortran-support and iconmath: - Precision (dp+sp): Using iso_fortran_env variables `dp=>real64` and `sp=>real32` - Working precision (wp): `FS_ENABLE_SINGLE_PRECISION==TRUE` -> `wp=real32`, else `wp=real64` - Variable precision (vp): `FS_ENABLE_MIXED_PRECISION==TRUE` -> `vp=real32`, else `vp=wp` - Extensions of some functions to include sp and dp interfaces - Kind for `t_ptr` types is `wp` by default, with wp or dp or sp versions specified by suffix. Co-authored-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Co-authored-by:
Dylan Kierans <dylankierans53@gmail.com> Co-authored-by:
Pradipta Samanta <samanta@dkrz.de> Approved-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Changelog: feature
-
- Feb 05, 2025
-
-
## What is the new feature `assert_lacc_equals_i_am_accel_node` is not used in ICON any more and should be removed completely. ## How is it implemented `grep -r assert_lacc_equals_i_am_accel_node` in icon only found the definition and test in libfortran-support. Co-authored-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Co-authored-by:
Marek Jacob <MeraX@users.noreply.github.com> Approved-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@tum.de> Changelog: feature
-
- Jan 29, 2025
-
-
## What is the new feature Bump license year to 2025 Approved-by:
Pradipta Samanta <samanta@dkrz.de> Merged-by:
Pradipta Samanta <samanta@dkrz.de> Changelog: other
-
- Jan 24, 2025
-
-
## What is the bug The `t_char_workaround` was missing from the public interface, which causes some BuildBots to fail. ## How do you fix it Add `t_char_workaround` public interface to `fortran_support`. Approved by: Pradipta Samanta <samanta@dkrz.de> Merged-by:
Pradipta Samanta <samanta@dkrz.de> Changelog: default
-
- Jan 21, 2025
-
-
## What is the new feature Improve `minval_2d` performance. ## How is it implemented Add COLLAPSE(2) to a nested loop in minval_2d to improve performance. Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: feature
-
- Dec 09, 2024
-
-
Yen-Chen Chen authored
## What is the bug The variable `nnml` is falsely deleted in !94 . Which causes error in dace that uses `nnml` from `mo_namelist`. ## How do you fix it Add back the variable. Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
- Dec 03, 2024
-
-
Yen-Chen Chen authored
## What is the bug CMake install prefix using `${CMAKE_INSTALL_PREFIX}` does not take environmental install path, but rather hardcoded to the explicit path. See [Sergey's comment](!95 (comment 280056) ) ## How do you fix it Use `$<INSTALL_PREFIX>` instead. Approved-by:
Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
- Nov 27, 2024
-
-
Yen-Chen Chen authored
## What is the bug Gather licenses of technical files and docs into REUSE.toml. This prevents licenses from getting into the commit with the MR templates. ## How do you fix it Add `REUSE.toml` and remove license texts Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
- Nov 25, 2024
-
-
This removes an anti-pattern from `CMakeLists.txt` (I'm very sorry for introducing it). The most annoying part about it is that it makes it difficult for a parent project (e.g. ICON) to support multi-configuration backends properly. Basically, the only right place to set `CMAKE_BUILD_TYPE` is on the command line when calling `cmake` (and generating for a single-configuration backend). Also, see [here](https://stackoverflow.com/questions/24460486/cmake-build-type-is-not-being-used-in-cmakelists-txt/24470998#24470998 ). Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
Yen-Chen Chen authored
The present check in the `set_acc_host_or_device` is heavily used in ICON and cannot be changed easily. This problem comes from the discussion at https://gitlab.dkrz.de/icon/icon-mpim/-/merge_requests/563#note_276277 Revert the changes. Approved-by:
Marek Jacob <1129-b380572@users.noreply.gitlab.dkrz.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
Workaround for the CCE 17 requiring explicit copy for reduction variables (!99) CCE 17 needed for AMD GPUs on LUMI now requires an explicit copy of reduction variables. Add copy clauses for the reduction variables. Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
The subroutines `init_zero_4d_[dp,sp,i4]` do not vectorize properly on NEC SX AURORA. Loop collapsing is enforced by a compiler directive for the subroutines `init_zero_4d_[dp,sp,i4]`, in order to ensure proper vectorization on NEC SX AURORA. Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: feature
-
- Aug 29, 2024
-
-
Fixed installation; other projects can now find module files from fortran-support (!95) ## What is the bug Any projects dependent on fortran-support are not able to find the associated module files of when the fortran-support is installed in the system ## How do you fix it `CMAKE_INSTALL_PREFIX` was not used to define `INSTALL_INTERFACE`. I corrected it now. Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
- Jul 19, 2024
-
-
Yen-Chen Chen authored
## What is the new feature Move random number generator to `libmath-support`. (Adds in https://gitlab.dkrz.de/icon-libraries/libmath-support/-/merge_requests/33 ) ## How is it implemented The random number generator module is more suitable to be put into `libmath-support`. Thus we are moving it from `libfortran-support`. **The next versions `libfortran-support` 2.0.0 and `libmath-support` 1.1.0 should be merged at the same time.** Approved-by:
Daniel Hupp <daniel.hupp@meteoswiss.ch> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: feature
-
This updates the `add_icon_c_test` macro in `cmake/gtest_helper.cmake`: 1. The macro is turned into a function to avoid namespace pollution. 2. The function is renamed to `fs_add_c_test`. 3. The function now accepts named options `SOURCES` (followed by a list of source files of the test) and `ARGS` (followed by a list of command-line arguments for the test). 4. The old signature of the macro is still supported, i.e. it is possible to call something like `add_c_test(UtilHashTest ctest_util_hash.cpp)`, but it made sense to me to switch to the new one. 5. The `UtilFileTest` test is now provided with an extra command-line argument and it runs on `${CMAKE_CURRENT_BINARY_DIR}` instead of `.` as it was before !28. Co-authored-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Approved-by:
Terry Cojean <terry.cojean@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: other
-
- Jul 10, 2024
-
-
Yen-Chen Chen authored
## What is the new feature Add a public interface for `libfortran-support`. This is related to #9 ## How is it implemented Add a `fortran_support.F90` collecting all subroutines and functions in the `libfortran-support` library. Now one can do `USE fortran_support` to access all public subroutines/functions in the library. Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: feature
-
- Jun 26, 2024
-
-
Yen-Chen Chen authored
## What is the bug A package-NOTFOUND is undetected and does not raise a problem. See #20 This MR closes #20 ## How do you fix it The OpenMP find package is made `REQUIRED`. The find package for OpenACC has to stay `QUIET` or else it will try to look for both `OpenACC_C` and `OpenACC_Fortran`. (LUMI does not have `OpenACC_C` at the moment.) Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Approved-by:
Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: other
-
- Jun 21, 2024
-
-
Yen-Chen Chen authored
## What is the new feature Make `lacc` mandatory. ## How is it implemented With the changes in https://gitlab.dkrz.de/icon/icon-mpim/-/merge_requests/342, https://gitlab.dkrz.de/art/art/-/merge_requests/96, and https://gitlab.dkrz.de/jsbach/jsbach/-/merge_requests/165 , the `lacc` argument in all `fortran_tools` functions should be added explicitly. This MR makes sure that in the future, an error will pop up if `lacc` is not passed. Approved-by:
Marek Jacob <1129-b380572@users.noreply.gitlab.dkrz.de> Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: other
-
- Jun 06, 2024
-
-
Yen-Chen Chen authored
## What is the bug Running pipelines on images cannot do tests with OpenACC. ## How do you fix it Change the CI configuration to using the `levante` shared runner. This runner submits jobs on Levante directly with the CI script. `Check typos` CI is also fixed by specifying the conda channel to search for the package. Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: bugfix
-
- May 13, 2024
-
-
Yen-Chen Chen authored
## What is the new feature Add a formatter for CMake files. And CI task for CMake formatting is also added. ## How is it implemented We use the opensource tool https://github.com/cheshirekow/cmake_format for formatting. Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: feature
-
String lists grow dynamically, removing the need for preallocated arrays. This simplifies handling of large variable groups in the icon initialization phase. The output lists of `add_to_list` are now `ALLOCATABLE`. They may be passed an unallocated argument, which is treated like an empty list and allocated using the new `new_list` subroutine. That subroutine initially allocates space for 8 strings. Every time the list needs to grow, the allocated size doubles. This ensures constant amortized runtime for adding to the list. No provisions are made for shrinking the list size, because they are usually short-lived. The tests for `add_to_list` are adapted for the new interface, checking list expansion. A new test for `new_list` is added. Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: feature
-
- Apr 12, 2024
-
-
Yen-Chen Chen authored
## What is the bug `mo_fortran_tools` was updated during the release preparation MR. Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: bugfix
-
Yen-Chen Chen authored
## What is the new feature Improve README. Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: feature
-
Yen-Chen Chen authored
## What is the bug FortUTF did not return correct error code for failed test. ## How do you fix it [This PR(merged)](https://github.com/artemis-beta/FortUTF/pull/22 ) fixed the problem. Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: bugfix
-
- Apr 10, 2024
-
-
## What is the new feature This PR adds a new module for random number generations. It contains a parallelization uniform random number generator and a normal random number generator. ## How is it implemented The uniform random number generator uses the Lehmer random number generator. The normal random number generator uses a Box-Mueller transform using the uniform random number generator. Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: feature
-
- Apr 08, 2024
-
-
Yen-Chen Chen authored
<!-- ICON ## What is the bug LUMI does not have `OpenACC_C` and the BB fails because we are checking `OpenACC` for both `C` and `Fortran`. This MR fixes `lumi_gpu` BB. ## How do you fix it Only check if `OpenACC_Fortran` is found. Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: bugfix
-
Yen-Chen Chen authored
## What is the new feature Add a typo check pipeline. ## How is it implemented Use https://github.com/crate-ci/typos Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: feature
-
- Apr 05, 2024
-
-
Yen-Chen Chen authored
## What is the new feature Make `lacc` arguments mandatory. This MR closes #17 Approved-by:
Marek Jacob <1129-b380572@users.noreply.gitlab.dkrz.de> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: bugfix
-
- Apr 04, 2024
-
-
Yen-Chen Chen authored
## What is the bug Fix a test for the if_associated subroutine. ## How do you fix it The false test did not pop up because of a bug in FortUTF. See #18 Approved-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: bugfix
-
Yen-Chen Chen authored
## What is the bug The accuracy of the expression evaluation code was falsely downscaled in the code. ## How do you fix it The false test did not pop up because of a bug in FortUTF. See #18 Merged-by:
Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: bugfix
-
- Apr 02, 2024
-
-
Yen-Chen Chen authored
## What is the new feature Add tests ## How is it implemented Add tests in `mo_expression` and the test coverage badge has officially turned yellow.
Merged-by:Jonas Jucker <jonas.jucker@env.ethz.ch> Changelog: feature
-
New instructions for the merge request workflow. Approved-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Merged-by:
Yen-Chen Chen <yen-chen.chen@kit.edu> Changelog: other
-