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