Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 3.4)

list(APPEND CMAKE_MODULE_PATH ${CIME_CMAKE_MODULE_DIRECTORY})
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../share/cmake")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../components/cmeps/cmake")

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

set(HLM_ROOT "../../")

if (DEFINED ENV{ESMF_ROOT})
list(APPEND CMAKE_MODULE_PATH $ENV{ESMF_ROOT}/cmake)
endif()
find_package(ESMF REQUIRED)

# This adds include directories needed for ESMF
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${ESMF_F90COMPILEPATHS} ")
# This (which is *not* done in the share CMakeLists.txt) adds all directories and
# libraries needed when linking ESMF, including any dependencies of ESMF. (But note that
# this does *not* include the "-lesmf" itself). In particular, note that this includes any
# link flags needed to link against PIO, which is needed on some systems (including
# derecho); bringing in these PIO-related link flags via this ESMF mechanism allows us to
# avoid explicitly including PIO as a link library, which wouldn't work on systems where
# there is no separate PIO library and instead ESMF is built with its internal PIO
# library.
link_libraries(${ESMF_INTERFACE_LINK_LIBRARIES})

# Add source directories from other share code (csm_share, etc.)
add_subdirectory(${HLM_ROOT}/share/src csm_share)
add_subdirectory(${HLM_ROOT}/share/unit_test_stubs/util csm_share_stubs)
Expand Down Expand Up @@ -90,6 +108,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})

# Directories and libraries to include in the link step
link_directories(${CMAKE_CURRENT_BINARY_DIR})
link_libraries(esmf)

# Add the main test directory
add_subdirectory(${HLM_ROOT}/src/fates/testing)
3 changes: 0 additions & 3 deletions testing/cime_setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,6 @@ Next set up some other environment variables:

```bash
export ESMF_INSTALL_PREFIX=$ESMF_DIR/install_dir
export ESMF_NETCDF=split
export ESMF_NETCDF_INCLUDE=/usr/local/include
export ESMF_NETCDF_LIBPATH=/usr/local/lib
export ESMF_COMM=openmpi
export ESMF_COMPILER=gfortranclang
```
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
program FatesTestQuadSolvers

use FatesConstantsMod, only : r8 => fates_r8
use FatesUtilsMod, only : QuadraticRootsNSWC, QuadraticRootsSridharachary
use FatesUtilsMod, only : QuadraticRootsNSWC
use FatesUtilsMod, only : GetNeighborDistance

implicit none
Expand Down
4 changes: 2 additions & 2 deletions testing/testing_shr/FatesFactoryMod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ subroutine InitializeGlobals(step_size)
element_pos(carbon12_element) = 1
call InitPRTGlobalAllometricCarbon()

hlm_regeneration_model = default_regeneration

allocate(ema_24hr)
call ema_24hr%define(sec_per_day, step_size, moving_ema_window)
allocate(fixed_24hr)
Expand All @@ -110,8 +112,6 @@ subroutine InitializeGlobals(step_size)
do i = 2,nlevleaf
dlower_vai(i) = dlower_vai(i-1) + dinc_vai(i-1)
end do

hlm_regeneration_model = default_regeneration

end subroutine InitializeGlobals

Expand Down