Started by an SCM change 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' > 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 969bc4aa2a1db2664c0f92b98d2df5544c554c32 (refs/remotes/origin/master) > git config core.sparsecheckout # timeout=10 > git checkout -f 969bc4aa2a1db2664c0f92b98d2df5544c554c32 # timeout=10 Commit message: "Clubb test correct gg (#1237)" > git rev-list --no-walk b1e6e895ca45b2170bc75489232af169397b99d8 # 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/jenkins_tests/clubb_generalized_vertical_grid_test/Jenkinsfile clubb_release/jenkins_tests/clubb_generalized_vertical_grid_test/Jenkinsfile 35c35 < python3 run_scripts/run_clubb_w_varying_flags.py -f run_scripts/run_bindiff_w_flags_config_core_flags.json''' --- > python3 run_scripts/run_clubb_w_varying_flags.py -f run_scripts/run_bindiff_w_flags_config_example.json''' diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/run_scripts/run_bindiff_w_flags_config_core_flags.json clubb_release/run_scripts/run_bindiff_w_flags_config_core_flags.json 25d24 < "l_min_xp2_from_corr_wx": false, 46c45,46 < "l_use_C11_Richardson": true --- > "l_use_C11_Richardson": true, > "l_min_xp2_from_corr_wx": false 76a77 > "l_mono_flux_lim_thlm": false, 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 341a342,344 > use interpolation, only: & > pvertinterp > 2239c2242 < call pvertinterp( nzt, ngrdcol, gr, & ! intent(in) --- > call pvertinterp( nzt, ngrdcol, & ! intent(in) 2243c2246 < call pvertinterp( nzt, ngrdcol, gr, & ! intent(in) --- > call pvertinterp( nzt, ngrdcol, & ! intent(in) 3757c3760 < p_in_Pa_zm(i,gr%k_lb_zm) = p_sfc(i) --- > p_in_Pa_zm(i,1) = p_sfc(i) 3760,3761c3763 < p_in_Pa_zm(i,gr%k_ub_zm) & < = max( p_in_Pa_zm(i,gr%k_ub_zm), 0.5_core_rknd * p_in_Pa(i,gr%k_ub_zt) ) --- > p_in_Pa_zm(i,nzm) = max( p_in_Pa_zm(i,nzm), 0.5_core_rknd*p_in_Pa(i,nzt) ) 4972,4976c4974 < use constants_clubb, only: & < one_half < < use grid_class, only: & < grid --- > use grid_class, only: grid 4979c4977 < core_rknd ! Variable(s) --- > core_rknd ! Variable(s) 5019,5026c5017,5020 < = one_half & < * ( variable_zm(i,k_zmp1) + variable_zt(i,k) ) & < * ( gr%zm(i,k_zmp1) - gr%zt(i,k) ) & < * gr%grid_dir * gr%invrs_dzt(i,k) & < + one_half & < * ( variable_zt(i,k) + variable_zm(i,k_zm) ) & < * ( gr%zt(i,k) - gr%zm(i,k_zm) ) & < * gr%grid_dir * gr%invrs_dzt(i,k) --- > = 0.5_core_rknd * ( variable_zm(i,k_zmp1) + variable_zt(i,k) ) & > * ( gr%zm(i,k_zmp1) - gr%zt(i,k) ) * gr%invrs_dzt(i,k) & > + 0.5_core_rknd * ( variable_zt(i,k) + variable_zm(i,k_zm) ) & > * ( gr%zt(i,k) - gr%zm(i,k_zm) ) * gr%invrs_dzt(i,k) 5048,5052c5042 < use constants_clubb, only: & < one_half < < use grid_class, only: & < grid --- > use grid_class, only: grid 5098,5105c5088,5091 < = one_half & < * ( variable_zt(i,k_zt) + variable_zm(i,k) ) & < * ( gr%zt(i,k_zt) - gr%zm(i,k) ) & < * gr%grid_dir * gr%invrs_dzm(i,k) & < + one_half & < * ( variable_zm(i,k) + variable_zt(i,k_ztm1) ) & < * ( gr%zm(i,k) - gr%zt(i,k_ztm1) ) & < * gr%grid_dir * gr%invrs_dzm(i,k) --- > = 0.5_core_rknd * ( variable_zt(i,k_zt) + variable_zm(i,k) ) & > * ( gr%zt(i,k_zt) - gr%zm(i,k) ) * gr%invrs_dzm(i,k) & > + 0.5_core_rknd * ( variable_zm(i,k) + variable_zt(i,k_ztm1) ) & > * ( gr%zm(i,k) - gr%zt(i,k_ztm1) ) * gr%invrs_dzm(i,k) 5488,5586c5474 < !------------------------------------------------------------------------------- < subroutine pvertinterp( nzt, ngrdcol, gr, & < p_mid, p_out, input_var, & < interp_var ) < < use grid_class, only: & < grid ! Type(s) < < use clubb_precision, only: & < core_rknd < < implicit none < < !------------------------ Input Variables ------------------------ < integer , intent(in) :: & < nzt, & < ngrdcol < < type( grid ), intent(in) :: & < gr < < real( kind = core_rknd ), dimension(ngrdcol,nzt), intent(in) :: & < p_mid, & ! input level pressure levels < input_var ! input array < < real( kind = core_rknd ), intent(in) :: & < p_out ! output pressure level < < !------------------------ Output Variables ------------------------ < real( kind = core_rknd ), dimension(ngrdcol), intent(out) :: & < interp_var ! output array (interpolated) < < !------------------------ Local Variables ------------------------ < integer :: & < i, k, & ! Loop indices < k_upper ! Level indices for interpolation < < real( kind = core_rknd ) :: & < dpu, & ! upper level pressure difference < dpl ! lower level pressure difference < < logical :: & < l_found, & ! true if input levels found < l_error ! true if error < < !------------------------ Begin Code ------------------------ < < ! Initialize index array and logical flags < l_error = .false. < < ! If we've fallen through the k=1,nz-1 loop, we cannot interpolate and < ! must extrapolate from the bottom or top data level for at least some < ! of the longitude points. < !$acc parallel loop gang vector default(present) < do i = 1, ngrdcol < < if ( p_out >= p_mid(i,gr%k_lb_zt) ) then < < interp_var(i) = input_var(i,gr%k_lb_zt) < < elseif ( p_out <= p_mid(i,gr%k_ub_zt) ) then < < interp_var(i) = input_var(i,gr%k_ub_zt) < < else < < l_found = .false. < k_upper = 1 < < ! Store level indices for interpolation. < ! If all indices for this level have been found, < ! do the interpolation < do k = gr%k_lb_zt, gr%k_ub_zt-gr%grid_dir_indx, gr%grid_dir_indx < if ( p_mid(i,k) > p_out .and. p_out >= p_mid(i,k+gr%grid_dir_indx) ) then < l_found = .true. < k_upper = k < exit < end if < end do < < if ( .not. l_found ) then < l_error = .true. < end if < < dpu = p_mid(i,k_upper) - p_out < dpl = p_out - p_mid(i,k_upper+gr%grid_dir_indx) < interp_var(i) = ( input_var(i,k_upper)*dpl & < + input_var(i,k_upper+gr%grid_dir_indx)*dpu ) & < / ( dpl + dpu ) < end if < < end do < !$acc end parallel loop < < return < < end subroutine pvertinterp < < !============================================================================= --- > !=============================================================================== diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/advance_windm_edsclrm_module.F90 clubb_release/src/CLUBB_core/advance_windm_edsclrm_module.F90 1917,1919c1917 < ! Lower boundary conditions < k = gr%k_lb_zt < kp1 = k+gr%grid_dir_indx --- > do k = 1, nzt-1, 1 1921,1942c1919,1920 < ! xm mean advection < ! xm term ma is completely implicit; call stat_update_var_pt. < call stat_update_var_pt( ixm_ma, k, & ! intent(in) < - lhs_ma_zt(2,k) * xm(k) & < - lhs_ma_zt(2-gr%grid_dir_indx,k) * xm(kp1), & ! intent(in) < stats_zt ) ! intent(inout) < < ! xm turbulent transport (implicit component) < ! xm term ta has both implicit and explicit components; < ! call stat_end_update_pt. < call stat_end_update_pt( ixm_ta, k, & ! intent(in) < + ( - 0.5_core_rknd * lhs_diff(2,k) & < + imp_sfc_flux(k) ) * xm(k) & < - 0.5_core_rknd * lhs_diff(2-gr%grid_dir_indx,k) * xm(kp1), & ! intent(in) < stats_zt ) ! intent(inout) < < < ! Interior domain < do k = 2, nzt-1, 1 < < km1 = k-gr%grid_dir_indx < kp1 = k+gr%grid_dir_indx --- > km1 = max( k-1, 1 ) > kp1 = min( k+1, nzt ) 1947c1925 < - lhs_ma_zt(2+gr%grid_dir_indx,k) * xm(km1) & --- > - lhs_ma_zt(3,k) * xm(km1) & 1949c1927 < - lhs_ma_zt(2-gr%grid_dir_indx,k) * xm(kp1), & ! intent(in) --- > - lhs_ma_zt(1,k) * xm(kp1), & ! intent(in) 1956c1934 < - 0.5_core_rknd * lhs_diff(2+gr%grid_dir_indx,k) * xm(km1) & --- > - 0.5_core_rknd * lhs_diff(3,k) * xm(km1) & 1959c1937 < - 0.5_core_rknd * lhs_diff(2-gr%grid_dir_indx,k) * xm(kp1), & ! intent(in) --- > - 0.5_core_rknd * lhs_diff(1,k) * xm(kp1), & ! intent(in) 1966,1967c1944,1945 < k = gr%k_ub_zt < km1 = k-gr%grid_dir_indx --- > k = nzt > km1 = max( k-1, 1 ) 1972c1950 < - lhs_ma_zt(2+gr%grid_dir_indx,k) * xm(km1) & --- > - lhs_ma_zt(3,k) * xm(km1) & 1980c1958 < - 0.5_core_rknd * lhs_diff(2+gr%grid_dir_indx,k) * xm(km1) & --- > - 0.5_core_rknd * lhs_diff(3,k) * xm(km1) & 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 477,480c477,485 < < C11_Skw_fnc = zm2zt_api( nzm, nzt, ngrdcol, gr, Cx_fnc_Richardson, & < zero_threshold ) < --- > ! Note: C11_Skw_fnc is a thermodynamic-level variable, but > ! Cx_fnc_Richardson is a momentum-level variable. > !$acc parallel loop gang vector collapse(2) default(present) > do k = 1, nzt > do i = 1, ngrdcol > C11_Skw_fnc(i,k) = Cx_fnc_Richardson(i,k+1) > end do > end do > !$acc end parallel loop 1643,1644c1648,1649 < km1 = max( k-gr%grid_dir_indx, 1 ) < kp1 = min( k+gr%grid_dir_indx, nzm ) --- > km1 = max( k-1, 1 ) > kp1 = min( k+1, nzm ) 1662c1667 < - lhs_diff_zm(2+gr%grid_dir_indx,i,k) * wp2(i,km1) & --- > - lhs_diff_zm(3,i,k) * wp2(i,km1) & 1664c1669 < - lhs_diff_zm(2-gr%grid_dir_indx,i,k) * wp2(i,kp1), & ! intent(in) --- > - lhs_diff_zm(1,i,k) * wp2(i,kp1), & ! intent(in) 1668c1673 < - lhs_diff_zm(2+gr%grid_dir_indx,i,k) * wp2(i,km1) & --- > - lhs_diff_zm(3,i,k) * wp2(i,km1) & 1670c1675 < - lhs_diff_zm(2-gr%grid_dir_indx,i,k) * wp2(i,kp1), & ! intent(in) --- > - lhs_diff_zm(1,i,k) * wp2(i,kp1), & ! intent(in) 1676c1681 < (- lhs_ta_wp2(2,i,k)) * wp3(i,k-1) & --- > (- lhs_ta_wp2(2,i,k)) * wp3(i,km1) & 1682c1687 < - lhs_ma_zm(2+gr%grid_dir_indx,i,k) * wp2(i,km1) & --- > - lhs_ma_zm(3,i,k) * wp2(i,km1) & 1684c1689 < - lhs_ma_zm(2-gr%grid_dir_indx,i,k) * wp2(i,kp1), & ! intent(in) --- > - lhs_ma_zm(1,i,k) * wp2(i,kp1), & ! intent(in) 1717,1718c1722,1723 < km1 = max( k-gr%grid_dir_indx, 1 ) < kp1 = min( k+gr%grid_dir_indx, nzt ) --- > km1 = max( k-1, 1 ) > kp1 = min( k+1, nzt ) 1736c1741 < - lhs_diff_zt(2+gr%grid_dir_indx,i,k) * wp3(i,km1) & --- > - lhs_diff_zt(3,i,k) * wp3(i,km1) & 1738c1743 < - lhs_diff_zt(2-gr%grid_dir_indx,i,k) * wp3(i,kp1), & ! intent(in) --- > - lhs_diff_zt(1,i,k) * wp3(i,kp1), & ! intent(in) 1742c1747 < - lhs_diff_zt(2+gr%grid_dir_indx,i,k) * wp3(i,km1) & --- > - lhs_diff_zt(3,i,k) * wp3(i,km1) & 1744c1749 < - lhs_diff_zt(2-gr%grid_dir_indx,i,k) * wp3(i,kp1), & ! intent(in) --- > - lhs_diff_zt(1,i,k) * wp3(i,kp1), & ! intent(in) 1751c1756 < - gamma_over_implicit_ts * wp3_term_ta_lhs_result(5,i,k) * wp3(i,k-1) & --- > - gamma_over_implicit_ts * wp3_term_ta_lhs_result(5,i,k) * wp3(i,km1) & 1754,1755c1759,1760 < - gamma_over_implicit_ts * wp3_term_ta_lhs_result(2,i,k) * wp2(i,k+1) & < - gamma_over_implicit_ts * wp3_term_ta_lhs_result(1,i,k) * wp3(i,k+1), & ! intent(in) --- > - gamma_over_implicit_ts * wp3_term_ta_lhs_result(2,i,k) * wp2(i,kp1) & > - gamma_over_implicit_ts * wp3_term_ta_lhs_result(1,i,k) * wp3(i,kp1), & ! intent(in) 1765c1770 < - gamma_over_implicit_ts * lhs_adv_tp_wp3(1,i,k) * wp2(i,k+1), & ! intent(in) --- > - gamma_over_implicit_ts * lhs_adv_tp_wp3(1,i,k) * wp2(i,kp1), & ! intent(in) 1771c1776 < - gamma_over_implicit_ts * lhs_pr_tp_wp3(1,i,k) * wp2(i,k+1), & ! intent(in) --- > - gamma_over_implicit_ts * lhs_pr_tp_wp3(1,i,k) * wp2(i,kp1), & ! intent(in) 1777c1782 < - wp3_pr3_lhs(5,i,k) * wp3(i,k-1) & --- > - wp3_pr3_lhs(5,i,k) * wp3(i,km1) & 1780,1781c1785,1786 < - wp3_pr3_lhs(2,i,k) * wp2(i,k+1) & < - wp3_pr3_lhs(1,i,k) * wp3(i,k+1), & ! intent(in) --- > - wp3_pr3_lhs(2,i,k) * wp2(i,kp1) & > - wp3_pr3_lhs(1,i,k) * wp3(i,kp1), & ! intent(in) 1786c1791 < - lhs_ma_zt(2+gr%grid_dir_indx,i,k) * wp3(i,km1) & --- > - lhs_ma_zt(3,i,k) * wp3(i,km1) & 1788c1793 < - lhs_ma_zt(2-gr%grid_dir_indx,i,k) * wp3(i,kp1), & ! intent(in) --- > - lhs_ma_zt(1,i,k) * wp3(i,kp1), & ! intent(in) 2543,2547c2548,2551 < rhs(i,k_wp2) & < = rhs(i,k_wp2) & < - lhs_diff_zm_crank(2+gr%grid_dir_indx,i,k) * wp2(i,k-gr%grid_dir_indx) & < - lhs_diff_zm_crank(2,i,k) * wp2(i,k) & < - lhs_diff_zm_crank(2-gr%grid_dir_indx,i,k) * wp2(i,k+gr%grid_dir_indx) --- > rhs(i,k_wp2) = rhs(i,k_wp2) & > - lhs_diff_zm_crank(3,i,k) * wp2(i,k-1) & > - lhs_diff_zm_crank(2,i,k) * wp2(i,k) & > - lhs_diff_zm_crank(1,i,k) * wp2(i,k+1) 2556,2560c2560,2563 < rhs(i,k_wp3) & < = rhs(i,k_wp3) & < - lhs_diff_zt_crank(2+gr%grid_dir_indx,i,k) * wp3(i,k-gr%grid_dir_indx) & < - lhs_diff_zt_crank(2,i,k) * wp3(i,k) & < - lhs_diff_zt_crank(2-gr%grid_dir_indx,i,k) * wp3(i,k+gr%grid_dir_indx) --- > rhs(i,k_wp3) = rhs(i,k_wp3) & > - lhs_diff_zt_crank(3,i,k) * wp3(i,k-1) & > - lhs_diff_zt_crank(2,i,k) * wp3(i,k) & > - lhs_diff_zt_crank(1,i,k) * wp3(i,k+1) 2581,2587c2584,2587 < rhs(i,k_wp2) & < = rhs(i,k_wp2) & < - lhs_diff_zm(2+gr%grid_dir_indx,i,k) & < * ( up2(i,k-gr%grid_dir_indx) + vp2(i,k-gr%grid_dir_indx) ) & < - lhs_diff_zm(2,i,k) * ( up2(i,k) + vp2(i,k) ) & < - lhs_diff_zm(2-gr%grid_dir_indx,i,k) & < * ( up2(i,k+gr%grid_dir_indx) + vp2(i,k+gr%grid_dir_indx) ) --- > rhs(i,k_wp2) = rhs(i,k_wp2) & > - lhs_diff_zm(3,i,k) * ( up2(i,k-1) + vp2(i,k-1) ) & > - lhs_diff_zm(2,i,k) * ( up2(i,k) + vp2(i,k) ) & > - lhs_diff_zm(1,i,k) * ( up2(i,k+1) + vp2(i,k+1) ) 2596,2602c2596,2599 < rhs(i,k_wp3) & < = rhs(i,k_wp3) & < - lhs_diff_zt(2+gr%grid_dir_indx,i,k) & < * ( wpup2(i,k-gr%grid_dir_indx) + wpvp2(i,k-gr%grid_dir_indx) ) & < - lhs_diff_zt(2,i,k) * ( wpup2(i,k) + wpvp2(i,k) ) & < - lhs_diff_zt(2+gr%grid_dir_indx,i,k) & < * ( wpup2(i,k+gr%grid_dir_indx) + wpvp2(i,k+gr%grid_dir_indx) ) --- > rhs(i,k_wp3) = rhs(i,k_wp3) & > - lhs_diff_zt(3,i,k) * ( wpup2(i,k-1) + wpvp2(i,k-1) ) & > - lhs_diff_zt(2,i,k) * ( wpup2(i,k) + wpvp2(i,k) ) & > - lhs_diff_zt(1,i,k) * ( wpup2(i,k+1) + wpvp2(i,k+1) ) 2875c2872 < lhs_diff_zm_crank(2+gr%grid_dir_indx,i,k) * wp2(i,k-gr%grid_dir_indx) & --- > lhs_diff_zm_crank(3,i,k) * wp2(i,k-1) & 2877,2878c2874,2875 < + lhs_diff_zm_crank(2-gr%grid_dir_indx,i,k) * wp2(i,k+gr%grid_dir_indx), & ! intent(in) < stats_zm(i) ) ! intent(out) --- > + lhs_diff_zm_crank(1,i,k) * wp2(i,k+1), & ! intent(in) > stats_zm(i) ) ! intent(out) 2886,2891c2883,2886 < + lhs_diff_zm(2+gr%grid_dir_indx,i,k) & < * ( up2(i,k-gr%grid_dir_indx) + vp2(i,k-gr%grid_dir_indx) ) & < + lhs_diff_zm(2,i,k) * ( up2(i,k) + vp2(i,k) ) & < + lhs_diff_zm(2-gr%grid_dir_indx,i,k) & < * ( up2(i,k+gr%grid_dir_indx) + vp2(i,k+gr%grid_dir_indx) ), & < stats_zm(i) ) --- > + lhs_diff_zm(3,i,k) * ( up2(i,k-1) + vp2(i,k-1) ) & > + lhs_diff_zm(2,i,k) * ( up2(i,k) + vp2(i,k) ) & > + lhs_diff_zm(1,i,k) * ( up2(i,k+1) + vp2(i,k+1) ), & > stats_zm(i) ) 3089,3091c3084,3086 < lhs_diff_zt(2+gr%grid_dir_indx,i,k) * wp3(i,k-gr%grid_dir_indx) & < + lhs_diff_zt(2,i,k) * wp3(i,k) & < + lhs_diff_zt(2-gr%grid_dir_indx,i,k) * wp3(i,k+gr%grid_dir_indx), & ! intent(in) --- > lhs_diff_zt(3,i,k) * wp3(i,k-1) & > + lhs_diff_zt(2,i,k) * wp3(i,k) & > + lhs_diff_zt(1,i,k) * wp3(i,k+1), & ! intent(in) 3100,3105c3095,3098 < + lhs_diff_zt(2+gr%grid_dir_indx,i,k) & < * ( wpup2(i,k-gr%grid_dir_indx) + wpvp2(i,k-gr%grid_dir_indx) ) & < + lhs_diff_zt(2,i,k) * ( wpup2(i,k) + wpvp2(i,k) ) & < + lhs_diff_zt(2-gr%grid_dir_indx,i,k) & < * ( wpup2(i,k+gr%grid_dir_indx) + wpvp2(i,k+gr%grid_dir_indx) ), & < stats_zt(i) ) --- > + lhs_diff_zt(3,i,k) * ( wpup2(i,k-1) + wpvp2(i,k-1) ) & > + lhs_diff_zt(2,i,k) * ( wpup2(i,k) + wpvp2(i,k) ) & > + lhs_diff_zt(1,i,k) * ( wpup2(i,k+1) + wpvp2(i,k+1) ), & > stats_zt(i) ) 4495,4497c4488 < * gr%grid_dir & < * min( gr%grid_dir * a1_coef(i,k+1) * wp3_on_wp2(i,k+1), & < zero ) --- > * min( a1_coef(i,k+1) * wp3_on_wp2(i,k+1), zero ) 4508,4512c4499,4500 < * gr%grid_dir & < * ( max( gr%grid_dir * a1_coef(i,k+1) * wp3_on_wp2(i,k+1), & < zero ) & < - min( gr%grid_dir * a1_coef(i,k) * wp3_on_wp2(i,k), & < zero ) ) --- > * ( max( a1_coef(i,k+1) * wp3_on_wp2(i,k+1), zero ) & > - min( a1_coef(i,k) * wp3_on_wp2(i,k), zero ) ) 4523,4525c4511 < * gr%grid_dir & < * max( gr%grid_dir * a1_coef(i,k) * wp3_on_wp2(i,k), & < zero ) --- > * max( a1_coef(i,k) * wp3_on_wp2(i,k), zero ) 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 1984,1987c1984,1987 < + ( one - gamma_over_implicit_ts ) & < * ( - lhs_ta_wpxp(2-gr%grid_dir_indx,i,k) * wpxp(i,k+gr%grid_dir_indx) & < - lhs_ta_wpxp(2,i,k) * wpxp(i,k) & < - lhs_ta_wpxp(2+gr%grid_dir_indx,i,k) * wpxp(i,k-gr%grid_dir_indx) ), & --- > + ( one - gamma_over_implicit_ts ) & > * ( - lhs_ta_wpxp(1,i,k) * wpxp(i,k+1) & > - lhs_ta_wpxp(2,i,k) * wpxp(i,k) & > - lhs_ta_wpxp(3,i,k) * wpxp(i,k-1) ), & ! intent(in) 4858,4859c4858,4859 < km1 = max( k-gr%grid_dir_indx, 1 ) < kp1 = min( k+gr%grid_dir_indx, nzt ) --- > km1 = max( k-1, 1 ) > kp1 = min( k+1, nzt ) 4864c4864 < (-lhs_ma_zt(2+gr%grid_dir_indx,i,k)) * xm(i,km1) & --- > (-lhs_ma_zt(3,i,k)) * xm(i,km1) & 4866c4866 < + (-lhs_ma_zt(2-gr%grid_dir_indx,i,k)) * xm(i,kp1), & ! intent(in) --- > + (-lhs_ma_zt(1,i,k)) * xm(i,kp1), & ! intent(in) 4875c4875 < + (-lhs_ta_xm(1,i,k)) * wpxp(i,k+1), & ! intent(in) --- > + (-lhs_ta_xm(1,i,k)) * wpxp(i,kp1), & ! intent(in) 4886,4887c4886,4887 < km1 = max( k-gr%grid_dir_indx, 1 ) < kp1 = min( k+gr%grid_dir_indx, nzm ) --- > km1 = max( k-1, 1 ) > kp1 = min( k+1, nzm ) 4893c4893 < (-lhs_ma_zm(2+gr%grid_dir_indx,i,k)) * wpxp(i,km1) & --- > (-lhs_ma_zm(3,i,k)) * wpxp(i,km1) & 4895c4895 < + (-lhs_ma_zm(2-gr%grid_dir_indx,i,k)) * wpxp(i,kp1), & ! intent(in) --- > + (-lhs_ma_zm(1,i,k)) * wpxp(i,kp1), & ! intent(in) 4900c4900 < (-gamma_over_implicit_ts*lhs_ta_wpxp(2+gr%grid_dir_indx,i,k)) * wpxp(i,km1) & --- > (-gamma_over_implicit_ts*lhs_ta_wpxp(3,i,k)) * wpxp(i,km1) & 4902c4902 < + (-gamma_over_implicit_ts*lhs_ta_wpxp(2-gr%grid_dir_indx,i,k)) * wpxp(i,kp1), & --- > + (-gamma_over_implicit_ts*lhs_ta_wpxp(1,i,k)) * wpxp(i,kp1), & ! intent(in) 4907c4907 < (-lhs_tp(2,i,k)) * xm(i,k-1) & --- > (-lhs_tp(2,i,k)) * xm(i,km1) & 4934c4934 < (-lhs_diff_zm(2+gr%grid_dir_indx,i,k)) * wpxp(i,km1) & --- > (-lhs_diff_zm(3,i,k)) * wpxp(i,km1) & 4936c4936 < + (-lhs_diff_zm(2-gr%grid_dir_indx,i,k)) * wpxp(i,kp1), & ! intent(in) --- > + (-lhs_diff_zm(1,i,k)) * wpxp(i,kp1), & ! intent(in) 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 757c757 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_up2, gr, up2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_up2, up2(i,:), & !intent(in) 800c800 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_vp2, gr, vp2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_vp2, vp2(i,:), & !intent(in) 878c878 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_up2, gr, up2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_up2, up2(i,:), & !intent(in) 884c884 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_vp2, gr, vp2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_vp2, vp2(i,:), & !intent(in) 1848c1848 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtp2, gr, rtp2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtp2, rtp2(i,:), & !intent(in) 1853c1853 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_thlp2, gr, thlp2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_thlp2, thlp2(i,:), & !intent(in) 1858c1858 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtpthlp, gr, rtpthlp(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtpthlp, rtpthlp(i,:), & !intent(in) 2133c2133 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtp2, gr, rtp2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtp2, rtp2(i,:), & !intent(in) 2200c2200 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_thlp2, gr, thlp2(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_thlp2, thlp2(i,:), & !intent(in) 2267c2267 < call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtpthlp, gr, rtpthlp(i,:), & !intent(in) --- > call xp2_xpyp_implicit_stats( nzm, xp2_xpyp_rtpthlp, rtpthlp(i,:), & !intent(in) 2918c2918 < subroutine xp2_xpyp_implicit_stats( nzm, solve_type, gr, xapxbp, & !intent(in) --- > subroutine xp2_xpyp_implicit_stats( nzm, solve_type, xapxbp, & !intent(in) 2932,2934d2931 < use grid_class, only: & < grid < 2960,2962d2956 < type( grid ), intent(in) :: & < gr < 3044,3045c3038,3039 < km1 = max( k-gr%grid_dir_indx, 1 ) < kp1 = min( k+gr%grid_dir_indx, nzm ) --- > km1 = max( k-1, 1 ) > kp1 = min( k+1, nzm ) 3055,3057c3049,3051 < (-lhs_diff(2+gr%grid_dir_indx,k)) * xapxbp(km1) & ! Intent(in) < + (-lhs_diff(2,k)) * xapxbp(k) & < + (-lhs_diff(2-gr%grid_dir_indx,k)) * xapxbp(kp1), & --- > (-lhs_diff(3,k)) * xapxbp(km1) & ! Intent(in) > + (-lhs_diff(2,k)) * xapxbp(k) & > + (-lhs_diff(1,k)) * xapxbp(kp1), & 3063,3066c3057,3060 < (-gamma_over_implicit_ts * lhs_ta(2+gr%grid_dir_indx,k)) * xapxbp(km1) & ! Intent(in) < + (-gamma_over_implicit_ts * lhs_ta(2,k)) * xapxbp(k) & < + (-gamma_over_implicit_ts * lhs_ta(2-gr%grid_dir_indx,k)) * xapxbp(kp1), & < stats_zm ) ! Intent(inout) --- > (-gamma_over_implicit_ts * lhs_ta(3,k)) * xapxbp(km1) & ! Intent(in) > + (-gamma_over_implicit_ts * lhs_ta(2,k)) * xapxbp(k) & > + (-gamma_over_implicit_ts * lhs_ta(1,k)) * xapxbp(kp1), & > stats_zm ) ! Intent(inout) 3070,3072c3064,3066 < (-lhs_ma(2+gr%grid_dir_indx,k)) * xapxbp(km1) & ! Intent(in) < + (-lhs_ma(2,k)) * xapxbp(k) & < + (-lhs_ma(2-gr%grid_dir_indx,k)) * xapxbp(kp1), & --- > (-lhs_ma(3,k)) * xapxbp(km1) & ! Intent(in) > + (-lhs_ma(2,k)) * xapxbp(k) & > + (-lhs_ma(1,k)) * xapxbp(kp1), & 3297,3302c3291,3294 < rhs(i,k) & < = rhs(i,k) & < + ( one - gamma_over_implicit_ts ) & < * ( - lhs_ta(2-gr%grid_dir_indx,i,k) * xap2(i,k+gr%grid_dir_indx) & < - lhs_ta(2,i,k) * xap2(i,k) & < - lhs_ta(2+gr%grid_dir_indx,i,k) * xap2(i,k-gr%grid_dir_indx) ) --- > rhs(i,k) = rhs(i,k) + ( one - gamma_over_implicit_ts ) & > * ( - lhs_ta(1,i,k) * xap2(i,k+1) & > - lhs_ta(2,i,k) * xap2(i,k) & > - lhs_ta(3,i,k) * xap2(i,k-1) ) 3369,3372c3361,3364 < + ( one - gamma_over_implicit_ts ) & ! Intent(in) < * ( - lhs_ta(2-gr%grid_dir_indx,i,k) * xap2(i,k+gr%grid_dir_indx) & < - lhs_ta(2,i,k) * xap2(i,k) & < - lhs_ta(2+gr%grid_dir_indx,i,k) * xap2(i,k-gr%grid_dir_indx) ), & --- > + ( one - gamma_over_implicit_ts ) & ! Intent(in) > * ( - lhs_ta(1,i,k) * xap2(i,k+1) & > - lhs_ta(2,i,k) * xap2(i,k) & > - lhs_ta(3,i,k) * xap2(i,k-1) ), & 3647,3652c3639,3642 < rhs(i,k) & < = rhs_ta(i,k) & < + ( one - gamma_over_implicit_ts ) & < * ( - lhs_ta(2-gr%grid_dir_indx,i,k) * xapxbp(i,k+gr%grid_dir_indx) & < - lhs_ta(2,i,k) * xapxbp(i,k) & < - lhs_ta(2+gr%grid_dir_indx,i,k) * xapxbp(i,k-gr%grid_dir_indx) ) --- > rhs(i,k) = rhs_ta(i,k) + ( one - gamma_over_implicit_ts ) & > * ( - lhs_ta(1,i,k) * xapxbp(i,k+1) & > - lhs_ta(2,i,k) * xapxbp(i,k) & > - lhs_ta(3,i,k) * xapxbp(i,k-1) ) 3755,3758c3745,3748 < + ( one - gamma_over_implicit_ts ) & ! Intent(in) < * ( - lhs_ta(2-gr%grid_dir_indx,i,k) * xapxbp(i,k+gr%grid_dir_indx) & < - lhs_ta(2,i,k) * xapxbp(i,k) & < - lhs_ta(2+gr%grid_dir_indx,i,k) * xapxbp(i,k-gr%grid_dir_indx) ), & --- > + ( one - gamma_over_implicit_ts ) & ! Intent(in) > * ( - lhs_ta(1,i,k) * xapxbp(i,k+1) & > - lhs_ta(2,i,k) * xapxbp(i,k) & > - lhs_ta(3,i,k) * xapxbp(i,k-1) ), & 5051c5041 < + term_wprtp2_explicit_zm(:,:) ) * rtp2(:,:)) --- > + term_wprtpthlp_explicit_zm(:,:) ) * rtp2(:,:)) diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/CLUBB_core/interpolation.F90 clubb_release/src/CLUBB_core/interpolation.F90 15c15 < lin_interp_between_grids --- > pvertinterp, lin_interp_between_grids 502a503,590 > > !------------------------------------------------------------------------------- > subroutine pvertinterp( nz, ngrdcol, & > p_mid, p_out, input_var, & > interp_var ) > > implicit none > > !------------------------ Input Variables ------------------------ > integer , intent(in) :: & > nz, & > ngrdcol > > real( kind = core_rknd ), dimension(ngrdcol,nz), intent(in) :: & > p_mid, & ! input level pressure levels > input_var ! input array > > real( kind = core_rknd ), intent(in) :: & > p_out ! output pressure level > > !------------------------ Output Variables ------------------------ > real( kind = core_rknd ), dimension(ngrdcol), intent(out) :: & > interp_var ! output array (interpolated) > > !------------------------ Local Variables ------------------------ > integer :: & > i, k, & ! Loop indices > k_upper ! Level indices for interpolation > > real( kind = core_rknd ) :: & > dpu, & ! upper level pressure difference > dpl ! lower level pressure difference > > logical :: & > l_found, & ! true if input levels found > l_error ! true if error > > !------------------------ Begin Code ------------------------ > > ! Initialize index array and logical flags > l_error = .false. > > ! If we've fallen through the k=1,nz-1 loop, we cannot interpolate and > ! must extrapolate from the bottom or top data level for at least some > ! of the longitude points. > !$acc parallel loop gang vector default(present) > do i = 1, ngrdcol > > if ( p_out >= p_mid(i,1) ) then > > interp_var(i) = input_var(i,1) > > elseif ( p_out <= p_mid(i,nz) ) then > > interp_var(i) = input_var(i,nz) > > else > > l_found = .false. > k_upper = 1 > > ! Store level indices for interpolation. > ! If all indices for this level have been found, > ! do the interpolation > do k = 1, nz-1 > if ( p_mid(i,k) > p_out .and. p_out >= p_mid(i,k+1) ) then > l_found = .true. > k_upper = k > exit > end if > end do > > if ( .not. l_found ) then > l_error = .true. > end if > > dpu = p_mid(i,k_upper) - p_out > dpl = p_out - p_mid(i,k_upper+1) > interp_var(i) = ( input_var(i,k_upper)*dpl + input_var(i,k_upper+1)*dpu ) & > / ( dpl + dpu ) > end if > > end do > !$acc end parallel loop > > return > > end subroutine pvertinterp diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/clubb_driver.F90 clubb_release/src/clubb_driver.F90 2209c2209 < Ncm, Nc_in_cloud, Nccnm, err_code, & ! Intent(inout) --- > Ncm, Nc_in_cloud, Nccnm, & ! Intent(inout) 3243,3250d3242 < if ( clubb_at_least_debug_level( 0 ) ) then < if ( err_code == clubb_fatal_error ) then < write(fstderr, *) "Fatal error in radiation, " & < // "check your parameter values and timestep" < exit mainloop < end if < end if < 3638c3630 < Ncm, Nc_in_cloud, Nccnm, err_code, & --- > Ncm, Nc_in_cloud, Nccnm, & 3722,3724d3713 < use error_code, only: & < clubb_fatal_error < 3818,3820d3806 < < integer, intent(inout) :: & < err_code 4040,4042c4026 < err_code = clubb_fatal_error < write(fstderr,*) 'For this case l_add_dycore_grid must be set to .false..' < return --- > error stop 'For this case l_add_dycore_grid must be set to .false..' 7059c7043 < return --- > error stop 7429c7413 < return --- > error stop diff '--exclude=.git' '--exclude=version_clubb_core.txt' '--exclude=version_silhs.txt' -r clubb/src/generalized_grid_test.F90 clubb_release/src/generalized_grid_test.F90 728c728 < ! pdf_implicit_coefs_terms --- > ! pdf_implicit_coefs_term 769c769 < pdf_implicit_coefs_terms_flip%coef_wp2sclrp_implicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%coef_wp2sclrp_implicit(i,:,sclr) & 771c771 < pdf_implicit_coefs_terms_flip%term_wp2sclrp_explicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%term_wp2sclrp_explicit(i,:,sclr) & 773c773 < pdf_implicit_coefs_terms_flip%coef_wpsclrp2_implicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%coef_wpsclrp2_implicit(i,:,sclr) & 775c775 < pdf_implicit_coefs_terms_flip%term_wpsclrp2_explicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%term_wpsclrp2_explicit(i,:,sclr) & 777c777 < pdf_implicit_coefs_terms_flip%coef_wprtpsclrp_implicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%coef_wprtpsclrp_implicit(i,:,sclr) & 779c779 < pdf_implicit_coefs_terms_flip%term_wprtpsclrp_explicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%term_wprtpsclrp_explicit(i,:,sclr) & 781c781 < pdf_implicit_coefs_terms_flip%coef_wpthlpsclrp_implicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%coef_wpthlpsclrp_implicit(i,:,sclr) & 783c783 < pdf_implicit_coefs_terms_flip%term_wpthlpsclrp_explicit(i,:,sclr) & --- > pdf_implicit_coefs_terms%term_wpthlpsclrp_explicit(i,:,sclr) & [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