Skip to content

Commit 5ab1ef1

Browse files
authored
Merge pull request #1423 from adrifoster/fix_testing
Fix some bugs in testing
2 parents 717aa3f + ea26256 commit 5ab1ef1

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

CMakeLists.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.4)
22

33
list(APPEND CMAKE_MODULE_PATH ${CIME_CMAKE_MODULE_DIRECTORY})
44
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../share/cmake")
5+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../components/cmeps/cmake")
56

67
FIND_PATH(NETCDFC_FOUND libnetcdf.a ${NETCDF_C_DIR}/lib)
78
FIND_PATH(NETCDFF_FOUND libnetcdff.a ${NETCDF_FORTRAN_DIR}/lib)
@@ -19,6 +20,23 @@ include(CIME_utils)
1920

2021
set(HLM_ROOT "../../")
2122

23+
if (DEFINED ENV{ESMF_ROOT})
24+
list(APPEND CMAKE_MODULE_PATH $ENV{ESMF_ROOT}/cmake)
25+
endif()
26+
find_package(ESMF REQUIRED)
27+
28+
# This adds include directories needed for ESMF
29+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${ESMF_F90COMPILEPATHS} ")
30+
# This (which is *not* done in the share CMakeLists.txt) adds all directories and
31+
# libraries needed when linking ESMF, including any dependencies of ESMF. (But note that
32+
# this does *not* include the "-lesmf" itself). In particular, note that this includes any
33+
# link flags needed to link against PIO, which is needed on some systems (including
34+
# derecho); bringing in these PIO-related link flags via this ESMF mechanism allows us to
35+
# avoid explicitly including PIO as a link library, which wouldn't work on systems where
36+
# there is no separate PIO library and instead ESMF is built with its internal PIO
37+
# library.
38+
link_libraries(${ESMF_INTERFACE_LINK_LIBRARIES})
39+
2240
# Add source directories from other share code (csm_share, etc.)
2341
add_subdirectory(${HLM_ROOT}/share/src csm_share)
2442
add_subdirectory(${HLM_ROOT}/share/unit_test_stubs/util csm_share_stubs)
@@ -90,6 +108,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
90108

91109
# Directories and libraries to include in the link step
92110
link_directories(${CMAKE_CURRENT_BINARY_DIR})
111+
link_libraries(esmf)
93112

94113
# Add the main test directory
95114
add_subdirectory(${HLM_ROOT}/src/fates/testing)

testing/cime_setup.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,6 @@ Next set up some other environment variables:
7272

7373
```bash
7474
export ESMF_INSTALL_PREFIX=$ESMF_DIR/install_dir
75-
export ESMF_NETCDF=split
76-
export ESMF_NETCDF_INCLUDE=/usr/local/include
77-
export ESMF_NETCDF_LIBPATH=/usr/local/lib
7875
export ESMF_COMM=openmpi
7976
export ESMF_COMPILER=gfortranclang
8077
```

testing/functional_testing/math_utils/FatesTestMathUtils.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
program FatesTestQuadSolvers
22

33
use FatesConstantsMod, only : r8 => fates_r8
4-
use FatesUtilsMod, only : QuadraticRootsNSWC, QuadraticRootsSridharachary
4+
use FatesUtilsMod, only : QuadraticRootsNSWC
55
use FatesUtilsMod, only : GetNeighborDistance
66

77
implicit none

testing/testing_shr/FatesFactoryMod.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ subroutine InitializeGlobals(step_size)
9090
element_pos(carbon12_element) = 1
9191
call InitPRTGlobalAllometricCarbon()
9292

93+
hlm_regeneration_model = default_regeneration
94+
9395
allocate(ema_24hr)
9496
call ema_24hr%define(sec_per_day, step_size, moving_ema_window)
9597
allocate(fixed_24hr)
@@ -110,8 +112,6 @@ subroutine InitializeGlobals(step_size)
110112
do i = 2,nlevleaf
111113
dlower_vai(i) = dlower_vai(i-1) + dinc_vai(i-1)
112114
end do
113-
114-
hlm_regeneration_model = default_regeneration
115115

116116
end subroutine InitializeGlobals
117117

0 commit comments

Comments
 (0)