@@ -33,6 +33,8 @@ set( ENABLE_MPI ON CACHE BOOL "Compile with MPI" )
3333
3434# Handle user options.
3535option (BUILD_GDASBUNDLE "Build GDAS Bundle" ON )
36+ option (BUILD_JEDI "Build core JEDI libraries (oops, vader, saber, ioda, ufo, crtm, gsibec, bufr-query)" ON )
37+ option (BUILD_GDAS "Build GDAS application code (fv3-jedi, soca, gdas, da-utils, land-jediincr, jcb)" ON )
3638option (CLONE_JCSDADATA "Clone JCSDA test data repositories" OFF )
3739option (WORKFLOW_TESTS "Include global-workflow dependent tests" OFF )
3840option (BUILD_REGRID_STATES "Build regrid states land DA utility" ON )
@@ -78,67 +80,72 @@ if(BUILD_GDASBUNDLE)
7880 # TODO remove the CRTM from here and use it as a library
7981 #option("BUNDLE_SKIP_CRTM" "Don't build CRTM" "OFF") # Don't build crtm unless user passes -DBUNDLE_SKIP_CRTM=OFF
8082 #ecbuild_bundle( PROJECT crtm GIT "https://github.com/JCSDA/crtm.git" TAG v2.4.1-jedi.2 )
81- ecbuild_bundle ( PROJECT crtm SOURCE "../sorc/crtm" )
83+ if (BUILD_JEDI)
84+ ecbuild_bundle ( PROJECT crtm SOURCE "../sorc/crtm" )
8285
8386# Build GSI-B
84- option (BUILD_GSIBEC "Build GSI-B" OFF )
85- if (BUILD_GSIBEC)
86- ecbuild_bundle ( PROJECT gsibec SOURCE "../sorc/gsibec" )
87- endif ()
87+ option (BUILD_GSIBEC "Build GSI-B" OFF )
88+ if (BUILD_GSIBEC)
89+ ecbuild_bundle ( PROJECT gsibec SOURCE "../sorc/gsibec" )
90+ endif ()
8891
89- # Gibbs seawater
90- if (BUILD_SOCA)
91- ecbuild_bundle ( PROJECT gsw SOURCE "../sorc/gsw" )
92- endif ()
92+ # Gibbs seawater (optional dependency for vader)
93+ if (BUILD_SOCA)
94+ ecbuild_bundle ( PROJECT gsw SOURCE "../sorc/gsw" )
95+ endif ()
9396
9497# EMC BUFR-query library
95- ecbuild_bundle ( PROJECT bufr-query SOURCE "../sorc/bufr-query" )
98+ ecbuild_bundle ( PROJECT bufr-query SOURCE "../sorc/bufr-query" )
9699
97100# Core JEDI repositories
98- ecbuild_bundle ( PROJECT oops SOURCE "../sorc/oops" )
99- ecbuild_bundle ( PROJECT vader SOURCE "../sorc/vader" )
100- ecbuild_bundle ( PROJECT saber SOURCE "../sorc/saber" )
101- option (ENABLE_IODA_DATA "Obtain ioda test data from ioda-data repository (vs tarball)" ON )
102- ecbuild_bundle ( PROJECT ioda SOURCE "../sorc/ioda" )
103- option (ENABLE_UFO_DATA "Obtain ufo test data from ufo-data repository (vs tarball)" ON )
104- ecbuild_bundle ( PROJECT ufo SOURCE "../sorc/ufo" )
105-
101+ ecbuild_bundle ( PROJECT oops SOURCE "../sorc/oops" )
102+ ecbuild_bundle ( PROJECT vader SOURCE "../sorc/vader" )
103+ ecbuild_bundle ( PROJECT saber SOURCE "../sorc/saber" )
104+ option (ENABLE_IODA_DATA "Obtain ioda test data from ioda-data repository (vs tarball)" ON )
105+ ecbuild_bundle ( PROJECT ioda SOURCE "../sorc/ioda" )
106+ option (ENABLE_UFO_DATA "Obtain ufo test data from ufo-data repository (vs tarball)" ON )
107+ ecbuild_bundle ( PROJECT ufo SOURCE "../sorc/ufo" )
108+ endif (BUILD_JEDI )
109+
110+ # GDAS application code
111+ if (BUILD_GDAS)
106112# fv3-jedi and associated repositories
107- ecbuild_bundle ( PROJECT fv3-jedi-lm SOURCE "../sorc/fv3-jedi-lm" )
108- option (ENABLE_FV3_JEDI_DATA "Obtain fv3-jedi test data from fv3-jedi-data repository (vs tarball)" ON )
109- ecbuild_bundle ( PROJECT fv3-jedi SOURCE "../sorc/fv3-jedi" )
113+ ecbuild_bundle ( PROJECT fv3-jedi-lm SOURCE "../sorc/fv3-jedi-lm" )
114+ option (ENABLE_FV3_JEDI_DATA "Obtain fv3-jedi test data from fv3-jedi-data repository (vs tarball)" ON )
115+ ecbuild_bundle ( PROJECT fv3-jedi SOURCE "../sorc/fv3-jedi" )
110116
111117# SOCA associated repositories
112- option (BUILD_SOCA "Build SOCA" ON )
113- if (BUILD_SOCA)
114- ecbuild_bundle ( PROJECT soca SOURCE "../sorc/soca" )
115- endif ()
118+ option (BUILD_SOCA "Build SOCA" ON )
119+ if (BUILD_SOCA)
120+ ecbuild_bundle ( PROJECT soca SOURCE "../sorc/soca" )
121+ endif ()
116122
117- # Build JEDI/DA or other peripherals
118- ecbuild_bundle ( PROJECT gdas-utils SOURCE "../utils" )
119- ecbuild_bundle ( PROJECT da-utils SOURCE "../sorc/da-utils" )
123+ # Build JEDI/DA or other peripherals
124+ ecbuild_bundle ( PROJECT gdas-utils SOURCE "../utils" )
125+ ecbuild_bundle ( PROJECT da-utils SOURCE "../sorc/da-utils" )
120126
121127# Build IODA converters
122- if (BUILD_IODA_CONVERTERS)
123- ecbuild_bundle ( PROJECT iodaconv SOURCE "../sorc/iodaconv" )
124- endif ()
128+ if (BUILD_IODA_CONVERTERS)
129+ ecbuild_bundle ( PROJECT iodaconv SOURCE "../sorc/iodaconv" )
130+ endif ()
125131
126132# Land associated repositories
127- ecbuild_bundle ( PROJECT land-jediincr SOURCE "../sorc/land-jediincr" )
133+ ecbuild_bundle ( PROJECT land-jediincr SOURCE "../sorc/land-jediincr" )
128134
129135# GDASApp
130- ecbuild_bundle ( PROJECT gdas SOURCE "../" )
136+ ecbuild_bundle ( PROJECT gdas SOURCE "../" )
131137
132138# Install jcb (JEDI Configuration Builder) Python package
133- message (STATUS "Installing jcb (JEDI Configuration Builder)" )
134- execute_process (
135- COMMAND ${Python3_EXECUTABLE} -m pip install --no-deps --no-build-isolation --prefix ${CMAKE_INSTALL_PREFIX } .
136- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR } /../sorc/jcb
137- RESULT_VARIABLE jcb_install_result
138- )
139- if (NOT jcb_install_result EQUAL 0)
140- message (FATAL_ERROR "Failed to install jcb Python package" )
141- endif ()
139+ message (STATUS "Installing jcb (JEDI Configuration Builder)" )
140+ execute_process (
141+ COMMAND ${Python3_EXECUTABLE} -m pip install --no-deps --no-build-isolation --prefix ${CMAKE_INSTALL_PREFIX } .
142+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR } /../sorc/jcb
143+ RESULT_VARIABLE jcb_install_result
144+ )
145+ if (NOT jcb_install_result EQUAL 0)
146+ message (FATAL_ERROR "Failed to install jcb Python package" )
147+ endif ()
148+ endif (BUILD_GDAS )
142149
143150# ioda, ufo, fv3-jedi, and saber test data
144151#---------------------------------
0 commit comments