Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop to main pre-1.9 #328

Merged
merged 70 commits into from
Jan 7, 2025
Merged

Develop to main pre-1.9 #328

merged 70 commits into from
Jan 7, 2025

Conversation

RobertPincus
Copy link
Member

Updates main with changes accumulated on develop. We will release alpha candidates to refine packaging with conda while continuing to make changes to develop.

Main changes include the Fortran API, for which vertical direction is now specified as part of ty_optical_properties_arry (see #287); changing from Gnu Make to CMake; refinements to gas optics kernels (#315), separate cloud optics kernels to accommodate the Python front end.

dependabot bot and others added 30 commits November 28, 2023 20:18
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.4.3...v4.5.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…_actions/develop/JamesIves/github-pages-deploy-action-4.5.0

Bump JamesIves/github-pages-deploy-action from 4.4.3 to 4.5.0
Update develop with changes from documentation branch
Build instructions point to the Github Pages site.
Deprecating NCHOME, NFHOME
Consolidating build information
Skip self-hosted jobs in the fork repositories,  use new container tags
Update YML files for simplicity and consistency with CI. Update Python version to 3.11
Single level source for LW no-scattering solver; spectral mapping as the sqrt of the product of the mappings in each adjacent layer
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…_actions/develop/actions/upload-artifact-4

Bump actions/upload-artifact from 3 to 4
Remove a workaround for PGI Fortran 19 and `present` status; interpolate level temperatures on device.
Bumps [actions/cache](https://github.com/actions/cache) from 3 to 4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v3...v4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Add CI jobs that run the tests on the GPU partition of Levante.
The compiler version and flags are what we currently use to build ICON by default.
For security reasons, the jobs are skipped for PRs from the forks.
This adds CI tests with the NAG compiler on Levante with compiler version and flags currently used to build ICON by default.
 
Both DP and SP floating models are tested, as are default and accelerator kernels, but not all possible combinations. Accelerator kernels fail with a run-time error and are marked as experimental.
)

Scripts fails when individual tests fail, small tolerance adjustments to tests pass, small correction to LW source calculation in accel kernels, revert change in 5ac4d0a: nvfortran fails to pass present status of args to lower-level procedures
Fix subroutine intent, mark corresponding CI as not-experimental
Enable manual runs of CI , don't run CI on push except for main, develop
CI now reports success if a) the code compiles but fails at runtime with `cce-gpu-openmp` in self-hosted CI, and b) fails with an internal compiler error for `ifx-gpu-openmp`. See the PR for more details.
Adds  stand-alone unit tests for solvers alone (in tests/rte[sl]w_unit_tests.F90). Longwave solvers are tested for correctness in radiative equilibrium and for invariance to choices (vertical orientation, problem size...). Shortwave solvers are tested only for invariance.
Streamline and add flexibility to the build process.
Fix GPU runtime error on NVIDIA A100 with nvhpc/24.3, thanks to @sjsprecious
Adds C and Fortran headers for the kernels in *-kernels/api subdirectories. Kernel headers are tested for consistency against Fortran front-end.

Changes the makefiles a) to not build the documentation by defaults, and b) to group the building and running of tests, so that make libs makes, um, only the libraries.
---------
Co-authored-by: Alexander Soklev <alex@makepath.com>
Adopt suggestions by @peterukk in #215. Makes expensive direct beam computations even when solar zenith angle is < 0, but masks those results out in layers where the direct beam does not reach. This will have practical impacts only in columns where the top of the column is in sunlight but the bottom not (or if users aren't removing columns entirely below the horizon).
skosukhin and others added 25 commits August 15, 2024 08:49
* Lumi CI: push as a branch, do not fail the clean-up if the pipeline is missing
* GitLab CI: do not duplicate reference types
* Self-hosted CI: a workaround for the old runtime on Daint
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.3 to 4.6.4.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.6.3...v4.6.4)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…_actions/develop/JamesIves/github-pages-deploy-action-4.6.4

Bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.4
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.4 to 4.6.6.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.6.4...v4.6.6)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…_actions/develop/JamesIves/github-pages-deploy-action-4.6.6

Bump JamesIves/github-pages-deploy-action from 4.6.4 to 4.6.6
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.6 to 4.6.8.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.6.6...v4.6.8)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…_actions/develop/JamesIves/github-pages-deploy-action-4.6.8

Bump JamesIves/github-pages-deploy-action from 4.6.6 to 4.6.8
…mi-CI

Based on problems with the Lumi software stack we will temporarily disable CI on that host. To be revisited after @skosukhin reports back from a hackathon the week of Nov 10.
Separate cloud optics kernels from the Fortran front-end implementation. Update `nvfortran` used in Levante CI to 24.07.
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.8 to 4.6.9.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.6.8...v4.6.9)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.9 to 4.7.1.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.6.9...v4.7.1)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.7.1 to 4.7.2.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](JamesIves/github-pages-deploy-action@v4.7.1...v4.7.2)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…_actions/develop/JamesIves/github-pages-deploy-action-4.7.2

Bump JamesIves/github-pages-deploy-action from 4.7.1 to 4.7.2
* Fix work-around with reasonable code.

* The following is bad in any performance-sensitive codes:
  + Using arrays instead of scalars.
  + Assigning to the same array element more than once in a loop-nest.
While the compiler can in principle fix this up, it's actually
too hard to ask for that and in the case fixed here, seriously trips
up the Intel Fortran compiler.

* Replace unnecessary log operation.

* Replace division by multiplication of inverse.

* Replace array reference with scalar.

* Replace division by multiplication with inverse.

* Keep data in float format.

* In some cases these conversions are carried out via memory such that
  reading data just written to memory back into a register stalls the
  FPU.

* Fix mix in precisions.
---------

Co-authored-by: Thomas Jahns <jahns@dkrz.de>
Move from Gnu Make to CMake/Ninja as the build system and update continuous integration. See the PR history for details. 

---------

Co-authored-by: Chiel van Heerwaarden <chielvanheerwaarden@gmail.com>
Co-authored-by: Robert Pincus <Robert.Pincus@columbia.edu>
Co-authored-by: Alexander Soklev <alex@makepath.com>
Improves file handling during the running of tests and examples. See PR (#319) for details.
Exclude ifx/accel jobs rather than setting them up and skipping them.
Adds CMake install target for the RTE and RRTMGP libraries. Other CMake refinements. 
See the PR for details.
tests/check_variants creates a new output file sharing two of the input file dimensions. CMake scripting creates separate SW and LW files.
Updates project version in CMakeLists.txt. Not the same as the Github release version number!
CMake: install data files during testing and installation.
@RobertPincus RobertPincus requested a review from skosukhin January 6, 2025 20:09
@RobertPincus RobertPincus marked this pull request as draft January 7, 2025 00:10
This was referenced Jan 7, 2025
@RobertPincus RobertPincus merged commit 2c4a848 into main Jan 7, 2025
42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants