Started by user Gunther Huebler
Obtained jenkins_tests/clubb_release_diff_test/Jenkinsfile from git https://github.com/larson-group/clubb.git
[Pipeline] Start of Pipeline
[Pipeline] node
Running on Jenkins in /home/jenkins/workspace/clubb_release_diff_test
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Declarative: Checkout SCM)
[Pipeline] checkout
The recommended git tool is: git
Cloning the remote Git repository
Cloning repository https://github.com/larson-group/clubb.git
> git init /home/jenkins/workspace/clubb_release_diff_test # timeout=10
Fetching upstream changes from https://github.com/larson-group/clubb.git
> git --version # timeout=10
> git --version # 'git version 2.34.1'
using GIT_ASKPASS to set credentials A token based key used by Jenkins to preform Github actions, created 6/21/2021
> git fetch --tags --force --progress -- https://github.com/larson-group/clubb.git +refs/heads/*:refs/remotes/origin/* # timeout=10
> git config remote.origin.url https://github.com/larson-group/clubb.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10
Avoid second fetch
> git rev-parse refs/remotes/origin/master^{commit} # timeout=10
Checking out Revision 3abb325943da1a557e1213b2908ead3c828aff16 (refs/remotes/origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 3abb325943da1a557e1213b2908ead3c828aff16 # timeout=10
Commit message: "Making num_draw_points in fill_holes a constant. We were already using this value as a constant everywhere, but passing a constant by argument list makes it difficult/impossible for a compiler to optimize using that constant, unless it does inlining. Now, rather than passing the constant num_hf_draw_points (or sometimes a hardcoded 2) we just use num_hf_draw_points directly from constants_clubb. This massively improves the performance of a loop in fill holes when using nvhpc+omp, which was the motivation for this, but should also improve the performance on CPUs. Everything is BFB."
> git rev-list --no-walk e904e3ffbf83888681ba64f9008890329bd18631 # timeout=10
[Pipeline] }
[Pipeline] // stage
[Pipeline] withEnv
[Pipeline] {
[Pipeline] stage
[Pipeline] { (Checkout Clubb and Clubb_Release)
[Pipeline] sh
+ git clone https://github.com/larson-group/clubb.git
Cloning into 'clubb'...
+ git clone https://github.com/larson-group/clubb_release.git
Cloning into 'clubb_release'...
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Diff)
[Pipeline] sh
+ diff --exclude=.git --exclude=version_clubb_core.txt --exclude=version_silhs.txt -r clubb clubb_release
diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/advance_clubb_core_module.F90 clubb_release/src/CLUBB_core/advance_clubb_core_module.F90
2150,2152c2150,2152
< call fill_holes_vertical( nz, ngrdcol, zero_threshold, nz, & ! In
< gr%dzt, rho_ds_zt, & ! In
< edsclrm(:,:,ixind) ) ! InOut
---
> call fill_holes_vertical( nz, ngrdcol, num_hf_draw_points, zero_threshold, nz, & ! In
> gr%dzt, rho_ds_zt, & ! In
> edsclrm(:,:,ixind) ) ! InOut
3297,3298c3297,3298
< vp2_zt(:,:) = zm2zt( nz, ngrdcol, gr, vp2(:,:), w_tol_sqd ) ! Positive definite quantity
< vp3_zm(:,:) = zt2zm( nz, ngrdcol, gr, vp3(:,:) )
---
> vp2_zt(:,:) = zm2zt( nz, ngrdcol, gr, vp2(:,:) ) ! Positive definite quantity
> vp3_zm(:,:) = zt2zm( nz, ngrdcol, gr, vp3(:,:), w_tol_sqd )
diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/advance_wp2_wp3_module.F90 clubb_release/src/CLUBB_core/advance_wp2_wp3_module.F90
1675,1677c1675,1677
< call fill_holes_vertical( nz, ngrdcol, w_tol_sqd, nz-1, & ! In
< gr%dzm, rho_ds_zm, & ! In
< wp2 ) ! InOut
---
> call fill_holes_vertical( nz, ngrdcol, num_hf_draw_points, w_tol_sqd, nz-1, & ! In
> gr%dzm, rho_ds_zm, & ! In
> wp2 ) ! InOut
diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/advance_xm_wpxp_module.F90 clubb_release/src/CLUBB_core/advance_xm_wpxp_module.F90
4811,4813c4811,4813
< call fill_holes_vertical( nz, ngrdcol, xm_threshold, nz, & ! In
< gr%dzt, rho_ds_zt, & ! In
< xm ) ! InOut
---
> call fill_holes_vertical( nz, ngrdcol, num_hf_draw_points, xm_threshold, nz, & ! In
> gr%dzt, rho_ds_zt, & ! In
> xm ) ! InOut
diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/advance_xp2_xpyp_module.F90 clubb_release/src/CLUBB_core/advance_xp2_xpyp_module.F90
5925,5927c5925,5927
< call fill_holes_vertical( nz, ngrdcol, tolerance, nz-1, & ! In
< gr%dzm, rho_ds_zm, & ! In
< xp2_np1 ) ! InOut
---
> call fill_holes_vertical( nz, ngrdcol, num_hf_draw_points, tolerance, nz-1, & ! In
> gr%dzm, rho_ds_zm, & ! In
> xp2_np1 ) ! InOut
diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/clubb_api_module.F90 clubb_release/src/CLUBB_core/clubb_api_module.F90
206,207c206
< fill_holes_hydromet_api => fill_holes_hydromet, &
< fill_holes_vertical_api => fill_holes_vertical
---
> fill_holes_hydromet_api => fill_holes_hydromet
2035a2035,2082
>
> !================================================================================================
> ! fill_holes_vertical - clips values of 'field' that are below 'threshold' as much as possible.
> !================================================================================================
>
> subroutine fill_holes_vertical_api( nz, ngrdcol, num_draw_pts, threshold, upper_hf_level, &
> dz, rho_ds, &
> field )
>
> use fill_holes, only : fill_holes_vertical
>
> ! Type
>
> implicit none
>
> ! --------------------- Input variables ---------------------
> integer, intent(in) :: &
> nz, &
> ngrdcol
>
> real( kind = core_rknd ), dimension(ngrdcol,nz) :: &
> dz ! Spacing between thermodynamic grid levels; centered over
> ! momentum grid levels
> ! OR
> ! Spcaing between momentum grid levels; centered over
> ! thermodynamic grid levels
>
> integer, intent(in) :: &
> num_draw_pts, & ! The number of points on either side of the hole;
> ! Mass is drawn from these points to fill the hole. []
> upper_hf_level ! Upper grid level of global hole-filling range []
>
> real( kind = core_rknd ), intent(in) :: &
> threshold ! A threshold (e.g. w_tol*w_tol) below which field must not
> ! fall [Units vary; same as field]
>
> real( kind = core_rknd ), dimension(ngrdcol,nz), intent(in) :: &
> rho_ds ! Dry, static density on thermodynamic or momentum levels [kg/m^3]
>
> ! --------------------- Input/Output variable ---------------------
> real( kind = core_rknd ), dimension(ngrdcol,nz), intent(inout) :: &
> field ! The field (e.g. wp2) that contains holes [Units same as threshold]
>
> call fill_holes_vertical( nz, ngrdcol, num_draw_pts, threshold, upper_hf_level, & ! intent(in)
> dz, rho_ds, & ! intent(in)
> field ) ! intent(inout)
>
> end subroutine fill_holes_vertical_api
diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/fill_holes.F90 clubb_release/src/CLUBB_core/fill_holes.F90
21c21
< subroutine fill_holes_vertical( nz, ngrdcol, threshold, upper_hf_level, &
---
> subroutine fill_holes_vertical( nz, ngrdcol, num_draw_pts, threshold, upper_hf_level, &
59,61c59
< one, &
< num_hf_draw_points ! The number of points on either side of the hole;
< ! Mass is drawn from these points to fill the hole
---
> one
77a76,77
> num_draw_pts, & ! The number of points on either side of the hole;
> ! Mass is drawn from these points to fill the hole. []
161c161
< do k = 2+num_hf_draw_points, upper_hf_level-num_hf_draw_points
---
> do k = 2+num_draw_pts, upper_hf_level-num_draw_pts
164c164
< ! invrs_denom_integral(i,k) = one / sum(rho_ds_dz(i,k-num_hf_draw_points:k+num_hf_draw_points))
---
> ! invrs_denom_integral(i,k) = one / sum(rho_ds_dz(i,k-num_draw_pts:k+num_draw_pts))
170c170
< do j = k - num_hf_draw_points, k + num_hf_draw_points
---
> do j = k - num_draw_pts, k + num_draw_pts
189c189
< do k = 2+num_hf_draw_points, upper_hf_level-num_hf_draw_points
---
> do k = 2+num_draw_pts, upper_hf_level-num_draw_pts
191,192c191,192
< k_start = k - num_hf_draw_points
< k_end = k + num_hf_draw_points
---
> k_start = k - num_draw_pts
> k_end = k + num_draw_pts
849,851c849,851
< call fill_holes_vertical( gr%nz, 1, zero_threshold, gr%nz, & ! In
< gr%dzt, rho_ds_zt, & ! In
< hydromet(:,i) ) ! InOut
---
> call fill_holes_vertical( gr%nz, 1, num_hf_draw_points, zero_threshold, gr%nz, & ! In
> gr%dzt, rho_ds_zt, & ! In
> hydromet(:,i) ) ! InOut
diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/Morrison_microphys/microphysics.F90 clubb_release/src/Morrison_microphys/microphysics.F90
876,877c876
< grid, &
< zero_threshold
---
> grid
1389,1390c1388,1389
< call fill_holes_vertical_api( gr%nz, 1, zero_threshold, nz, & ! In
< gr%dzt, rho_ds_zt_col, & ! In
---
> call fill_holes_vertical_api( gr%nz, 1, 2, 0._core_rknd, nz, & ! In
> gr%dzt, rho_ds_zt_col, & ! In
1405,1406c1404,1405
< call fill_holes_vertical_api( gr%nz, 1, zero_threshold, nz, & ! In
< gr%dzt, rho_ds_zt_col, & ! In
---
> call fill_holes_vertical_api( gr%nz, 1, 2, 0._core_rknd, nz, & ! In
> gr%dzt, rho_ds_zt_col, & ! In
1472,1473c1471,1472
< call fill_holes_vertical_api( gr%nz, 1, zero_threshold, nz, & ! In
< gr%dzt, rho_ds_zt_col, & ! In
---
> call fill_holes_vertical_api( gr%nz, 1, 2, 0._core_rknd, nz, & ! In
> gr%dzt, rho_ds_zt_col, & ! In
1488,1489c1487,1488
< call fill_holes_vertical_api( gr%nz, 1, zero_threshold, nz, & ! In
< gr%dzt, rho_ds_zt_col, & ! In
---
> call fill_holes_vertical_api( gr%nz, 1, 2, 0._core_rknd, nz, & ! In
> gr%dzt, rho_ds_zt_col, & ! In
[Pipeline] }
[Pipeline] // stage
[Pipeline] stage
[Pipeline] { (Declarative: Post Actions)
[Pipeline] script
[Pipeline] {
[Pipeline] cleanWs
[WS-CLEANUP] Deleting project workspace...
[WS-CLEANUP] Deferred wipeout is used...
[WS-CLEANUP] done
[Pipeline] }
[Pipeline] // script
[Pipeline] script
[Pipeline] {
[Pipeline] emailext
Sending email to: messnermet@uwm.edu
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 1
Finished: FAILURE