Console Output
+ 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