From 2c8363e057dde026e65ddcec1b62c18d5e260017 Mon Sep 17 00:00:00 2001 From: Xiaqiong Zhou Date: Thu, 21 Oct 2021 17:51:10 +0000 Subject: [PATCH] Revise back the range definition form. The compiling issue on DELL can be fixed by using -O0 instead of -O2 to compile fv_diagnostics.F90 --- CMakeLists.txt | 1 + tools/fv_diagnostics.F90 | 37 ++++++++++++++++++------------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a2c599c9..888a622d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -170,6 +170,7 @@ add_library(FV3::fv3 ALIAS fv3) set_property(SOURCE model/nh_utils.F90 APPEND_STRING PROPERTY COMPILE_FLAGS "${FAST}") set_property(SOURCE model/fv_mapz.F90 APPEND_STRING PROPERTY COMPILE_FLAGS "${FAST}") +set_property(SOURCE tools/fv_diagnostics.F90 APPEND_STRING PROPERTY COMPILE_FLAGS "-O0") set_target_properties(fv3 PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/fv3) target_include_directories(fv3 INTERFACE $ diff --git a/tools/fv_diagnostics.F90 b/tools/fv_diagnostics.F90 index fbe960d86..7e278d81b 100644 --- a/tools/fv_diagnostics.F90 +++ b/tools/fv_diagnostics.F90 @@ -295,30 +295,29 @@ subroutine fv_diag_init(Atm, axes, Time, npx, npy, npz, p_ref) ! valid range for some fields !!! This will need mods for more than 1 tile per pe !!! - vsrange(1) = -200. ; vsrange(2) = 200. ! surface (lowest layer) winds - rhrange(1) = -10. ; rhrange(2) = 150. ! RH - slprange(1) = 800. ; slprange(2) = 1200. ! surface (lowest layer) winds - skrange(1) = -10000000.0 ; skrange(2) = 10000000.0 ! dissipation estimate for SKEB - - if ( Atm(1)%flagstruct%molecular_diffusion ) then - vrange(1) = -850. ; vrange(2) = 850. - wrange(1) = -300. ; wrange(2) = 300. - trange(1) = 5. ; trange(2) = 3500. - vrange_bad(1) = -850. ; vrange_bad(2) = 850. - trange_bad(1) = 130. ; trange_bad(2) = 3500. + vsrange = (/ -200., 200. /) ! surface (lowest layer) winds + + if (Atm(1)%flagstruct%molecular_diffusion) then + vrange = (/ -850., 850. /) ! winds + wrange = (/ -300., 300. /) ! vertical wind + trange = (/ 5., 3500. /) ! temperature + vrange_bad = (/ -850., 850. /) ! winds + trange_bad = (/ 130., 3500. /) ! temperature else - vrange(1) = -330. ; vrange(2) = 330. ! winds - wrange(1) = -100. ; wrange(2) = 100. ! vertical wind - vrange_bad(1) = -250. ; vrange_bad(2) = 250. !winds + vrange = (/ -330., 330. /) ! winds + wrange = (/ -100., 100. /) ! vertical wind + vrange_bad = (/ -250., 250. /) ! winds #ifdef HIWPP - trange(1) = 5. ; trange(2)=350. ! temperature - trange_bad(1) = 130. ; trange_bad(2) = 350. ! temperature + trange = (/ 5., 350. /) ! temperature + trange_bad = (/ 130., 350. /) ! temperature #else - trange(1) = 100. ; trange(2) = 350. ! temperature - trange_bad(1) = 150. ; trange_bad(2) = 350. ! temperature + trange = (/ 100., 350. /) ! temperature + trange_bad = (/ 150., 350. /) ! temperature #endif endif - + rhrange = (/ -10., 150. /) ! RH + slprange = (/800., 1200./) ! sea-level-pressure + skrange = (/ -10000000.0, 10000000.0 /) ! dissipation estimate for SKEB ginv = 1./GRAV if (Atm(1)%grid_number == 1) fv_time = Time