From 740443d20000b085d68943d8aadedca6e6672ed9 Mon Sep 17 00:00:00 2001 From: Minsuk Ji <57227195+MinsukJi-NOAA@users.noreply.github.com> Date: Fri, 14 Jan 2022 10:42:40 -0500 Subject: [PATCH] Code changes to address reviewer's comments (#14) * Remove OVERLOAD_R8 directives regarding send_data_*d_r8 subroutines * Add Doxygen comments to constants4.F90 --- constants4/constants4.F90 | 8 +- diag_manager/diag_manager.F90 | 158 ---------------------------------- 2 files changed, 4 insertions(+), 162 deletions(-) diff --git a/constants4/constants4.F90 b/constants4/constants4.F90 index 18c8140a3..c244b6a42 100644 --- a/constants4/constants4.F90 +++ b/constants4/constants4.F90 @@ -68,14 +68,14 @@ module constantsR4_mod !! simulations (<13km) that will tax hardware resources. #ifdef SMALL_EARTH #if defined(DCMIP) || (defined(HIWPP) && defined(SUPER_K)) - real(r4_kind), public, parameter :: small_fac = 1._r8_kind / 120._r8_kind ! only needed for supercell test + real(r4_kind), public, parameter :: small_fac = 1._r8_kind / 120._r8_kind !< Real(kind=4) variant of small_fac defined in constants/constants.F90 #elif defined(HIWPP) - real(r4_kind), public, parameter :: small_fac = 1._r8_kind / 166.7_r8_kind + real(r4_kind), public, parameter :: small_fac = 1._r8_kind / 166.7_r8_kind !< Real(kind=4) variant of small_fac defined in constants/constants.F90 #else - real(r4_kind), public, parameter :: small_fac = 1._r8_kind / 10._r8_kind + real(r4_kind), public, parameter :: small_fac = 1._r8_kind / 10._r8_kind !< Real(kind=4) variant of small_fac defined in constants/constants.F90 #endif #else - real(r4_kind), public, parameter :: small_fac = 1._r8_kind + real(r4_kind), public, parameter :: small_fac = 1._r8_kind !< Real(kind=4) variant of small_fac defined in constants/constants.F90 #endif #ifdef GFS_PHYS diff --git a/diag_manager/diag_manager.F90 b/diag_manager/diag_manager.F90 index 8c8179333..a38777e4f 100644 --- a/diag_manager/diag_manager.F90 +++ b/diag_manager/diag_manager.F90 @@ -329,12 +329,6 @@ MODULE diag_manager_mod MODULE PROCEDURE send_data_1d MODULE PROCEDURE send_data_2d MODULE PROCEDURE send_data_3d -!#ifdef OVERLOAD_R8 -! MODULE PROCEDURE send_data_0d_r8 -! MODULE PROCEDURE send_data_1d_r8 -! MODULE PROCEDURE send_data_2d_r8 -! MODULE PROCEDURE send_data_3d_r8 -!#endif END INTERFACE !> @brief Register a diagnostic field for a given module @@ -1436,158 +1430,6 @@ LOGICAL FUNCTION send_data_2d(diag_field_id, field, time, is_in, js_in, & END IF END FUNCTION send_data_2d -!#ifdef OVERLOAD_R8 -! -! !> @return true if send is successful -! LOGICAL FUNCTION send_data_0d_r8(diag_field_id, field, time, err_msg) -! INTEGER, INTENT(in) :: diag_field_id -! REAL(r8_kind), INTENT(in) :: field -! TYPE(time_type), INTENT(in), OPTIONAL :: time -! CHARACTER(len=*), INTENT(out), OPTIONAL :: err_msg -! -! REAL(r8_kind) :: field_out(1, 1, 1) -! -! ! If diag_field_id is < 0 it means that this field is not registered, simply return -! IF ( diag_field_id <= 0 ) THEN -! send_data_0d_r8 = .FALSE. -! RETURN -! END IF -! ! First copy the data to a three d array with last element 1 -! field_out(1, 1, 1) = field -! send_data_0d_r8 = send_data_3d_r8(diag_field_id, field_out, time, err_msg=err_msg) -! END FUNCTION send_data_0d_r8 -! -! !> @return true if send is successful -! LOGICAL FUNCTION send_data_1d_r8(diag_field_id, field, time, is_in, mask, rmask, ie_in, weight, err_msg) -! INTEGER, INTENT(in) :: diag_field_id -! REAL(r8_kind), DIMENSION(:), INTENT(in) :: field -! REAL, INTENT(in), OPTIONAL :: weight -! REAL, INTENT(in), DIMENSION(:), OPTIONAL :: rmask -! TYPE (time_type), INTENT(in), OPTIONAL :: time -! INTEGER, INTENT(in), OPTIONAL :: is_in, ie_in -! LOGICAL, INTENT(in), DIMENSION(:), OPTIONAL :: mask -! CHARACTER(len=*), INTENT(out), OPTIONAL :: err_msg -! -! REAL(r8_kind), DIMENSION(SIZE(field(:)), 1, 1) :: field_out -! LOGICAL, DIMENSION(SIZE(field(:)), 1, 1) :: mask_out -! -! ! If diag_field_id is < 0 it means that this field is not registered, simply return -! IF ( diag_field_id <= 0 ) THEN -! send_data_1d_r8 = .FALSE. -! RETURN -! END IF -! -! ! First copy the data to a three d array with last element 1 -! field_out(:, 1, 1) = field -! -! ! Default values for mask -! IF ( PRESENT(mask) ) THEN -! mask_out(:, 1, 1) = mask -! ELSE -! mask_out = .TRUE. -! END IF -! -! IF ( PRESENT(rmask) ) WHERE (rmask < 0.5) mask_out(:, 1, 1) = .FALSE. -! IF ( PRESENT(mask) .OR. PRESENT(rmask) ) THEN -! IF ( PRESENT(is_in) .OR. PRESENT(ie_in) ) THEN -! send_data_1d_r8 = send_data_3d_r8(diag_field_id, field_out, time, is_in=is_in, js_in=1, ks_in=1,& -! & mask=mask_out, ie_in=ie_in, je_in=1, ke_in=1, weight=weight, err_msg=err_msg) -! ELSE -! send_data_1d_r8 = send_data_3d_r8(diag_field_id, field_out, time, mask=mask_out,& -! & weight=weight, err_msg=err_msg) -! END IF -! ELSE -! IF ( PRESENT(is_in) .OR. PRESENT(ie_in) ) THEN -! send_data_1d_r8 = send_data_3d_r8(diag_field_id, field_out, time, is_in=is_in, js_in=1, ks_in=1,& -! & ie_in=ie_in, je_in=1, ke_in=1, weight=weight, err_msg=err_msg) -! ELSE -! send_data_1d_r8 = send_data_3d_r8(diag_field_id, field_out, time, weight=weight, err_msg=err_msg) -! END IF -! END IF -! END FUNCTION send_data_1d_r8 -! !> @return true if send is successful -! LOGICAL FUNCTION send_data_2d_r8(diag_field_id, field, time, is_in, js_in, & -! & mask, rmask, ie_in, je_in, weight, err_msg) -! INTEGER, INTENT(in) :: diag_field_id -! REAL(r8_kind), INTENT(in), DIMENSION(:,:) :: field -! REAL, INTENT(in), OPTIONAL :: weight -! TYPE (time_type), INTENT(in), OPTIONAL :: time -! INTEGER, INTENT(in), OPTIONAL :: is_in, js_in, ie_in, je_in -! LOGICAL, INTENT(in), DIMENSION(:,:), OPTIONAL :: mask -! REAL, INTENT(in), DIMENSION(:,:),OPTIONAL :: rmask -! CHARACTER(len=*), INTENT(out), OPTIONAL :: err_msg -! -! REAL, DIMENSION(SIZE(field,1),SIZE(field,2),1) :: field_out -! LOGICAL, DIMENSION(SIZE(field,1),SIZE(field,2),1) :: mask_out -! -! ! If diag_field_id is < 0 it means that this field is not registered, simply return -! IF ( diag_field_id <= 0 ) THEN -! send_data_2d_r8 = .FALSE. -! RETURN -! END IF -! -! ! First copy the data to a three d array with last element 1 -! field_out(:, :, 1) = field -! -! ! Default values for mask -! IF ( PRESENT(mask) ) THEN -! mask_out(:, :, 1) = mask -! ELSE -! mask_out = .TRUE. -! END IF -! -! IF ( PRESENT(rmask) ) WHERE ( rmask < 0.5 ) mask_out(:, :, 1) = .FALSE. -! IF ( PRESENT(mask) .OR. PRESENT(rmask) ) THEN -! send_data_2d_r8 = send_data_3d(diag_field_id, field_out, time, is_in=is_in, js_in=js_in, ks_in=1, mask=mask_out,& -! & ie_in=ie_in, je_in=je_in, ke_in=1, weight=weight, err_msg=err_msg) -! ELSE -! send_data_2d_r8 = send_data_3d(diag_field_id, field_out, time, is_in=is_in, js_in=js_in, ks_in=1,& -! & ie_in=ie_in, je_in=je_in, ke_in=1, weight=weight, err_msg=err_msg) -! END IF -! END FUNCTION send_data_2d_r8 -! -! !> @return true if send is successful -! LOGICAL FUNCTION send_data_3d_r8(diag_field_id, field, time, is_in, js_in, ks_in, & -! & mask, rmask, ie_in, je_in, ke_in, weight, err_msg) -! INTEGER, INTENT(in) :: diag_field_id -! REAL(r8_kind), INTENT(in), DIMENSION(:,:,:) :: field -! REAL, INTENT(in), OPTIONAL :: weight -! TYPE (time_type), INTENT(in), OPTIONAL :: time -! INTEGER, INTENT(in), OPTIONAL :: is_in, js_in, ks_in,ie_in,je_in, ke_in -! LOGICAL, INTENT(in), DIMENSION(:,:,:), OPTIONAL :: mask -! REAL, INTENT(in), DIMENSION(:,:,:),OPTIONAL :: rmask -! CHARACTER(len=*), INTENT(out), OPTIONAL :: err_msg -! -! REAL, DIMENSION(SIZE(field,1),SIZE(field,2),size(field,3)) :: field_out -! LOGICAL, DIMENSION(SIZE(field,1),SIZE(field,2),size(field,3)) :: mask_out -! -! ! If diag_field_id is < 0 it means that this field is not registered, simply return -! IF ( diag_field_id <= 0 ) THEN -! send_data_3d_r8 = .FALSE. -! RETURN -! END IF -! -! ! First copy the data to a three d array with last element 1 -! field_out = field -! -! ! Default values for mask -! IF ( PRESENT(mask) ) THEN -! mask_out = mask -! ELSE -! mask_out = .TRUE. -! END IF -! -! IF ( PRESENT(rmask) ) WHERE ( rmask < 0.5 ) mask_out = .FALSE. -! IF ( PRESENT(mask) .OR. PRESENT(rmask) ) THEN -! send_data_3d_r8 = send_data_3d(diag_field_id, field_out, time, is_in=is_in, js_in=js_in, ks_in=ks_in, mask=mask_out,& -! & ie_in=ie_in, je_in=je_in, ke_in=ke_in, weight=weight, err_msg=err_msg) -! ELSE -! send_data_3d_r8 = send_data_3d(diag_field_id, field_out, time, is_in=is_in, js_in=js_in, ks_in=ks_in,& -! & ie_in=ie_in, je_in=je_in, ke_in=ke_in, weight=weight, err_msg=err_msg) -! END IF -! END FUNCTION send_data_3d_r8 -!#endif - !> @return true if send is successful LOGICAL FUNCTION send_data_3d(diag_field_id, field, time, is_in, js_in, ks_in, & & mask, rmask, ie_in, je_in, ke_in, weight, err_msg)