Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
cc3df70
VLab Issue #45502. Misc issues for the FV3 DA Implementation. Fixes…
ADCollard Feb 13, 2018
18ae10a
Master: Final update to ensure that all necessary changes for the DA …
MichaelLueken Mar 19, 2018
88796b5
VLab Issue #44559. Evaluating and merging the capability of assimila…
hu5970 Mar 13, 2018
aff1fd6
Master: Fix to historical convinfo files in rev2.
MichaelLueken Mar 21, 2018
d9fce16
VLab Issue #48130. CMake refactor and expansion. Fixes #48130.
mark-a-potts Feb 28, 2018
fd6dd5d
Master: Fixed issue with naming of libsrc in .gitmodules (cloning fai…
MichaelLueken Mar 28, 2018
1cd3570
Master: Removed obsolete lib directory and updated libsrc master to i…
MichaelLueken Mar 28, 2018
29b9329
Master: Updated wrflib to remove warning messages while building wrflib.
MichaelLueken Mar 28, 2018
fe60a4c
Master: Updated Theia compiler flags to work with wrflib.
MichaelLueken Mar 28, 2018
0bb7693
Vlab Issue #46408. Fixes #46408.
Apr 6, 2018
b629577
Master: Updating revisions for fix/rev2 (adding EnKF entries to globa…
MichaelLueken Apr 11, 2018
8b88150
Master: Updating fix revision to include new background error fix fil…
MichaelLueken Apr 12, 2018
e6162d2
Vlab Issue #48425. Fixes #48425.
aerorahul Apr 11, 2018
01fab3b
Master: Two modifications were made to correct issues with code compi…
MichaelLueken Apr 12, 2018
0ee5447
Master: Updating the fix submodule revision to include the addition o…
MichaelLueken Apr 12, 2018
c70629d
VLab Issue #35655. Corrects ConMon data type handling and time series…
EdwardSafford-NOAA Apr 12, 2018
d243976
VLab Issue #49048. Updates to CMake for Venus and to fix Prod issues…
mark-a-potts Apr 17, 2018
f914e62
VLab Issue #49483. Branch icmr_bugfix (C. Thomas): Bug fixes for cal…
CatherineThomas-NOAA Apr 24, 2018
8f65b84
VLab Issue #49187. MinMon iteration error. Fixes #49187.
EdwardSafford-NOAA Apr 24, 2018
e7a2e99
VLab issue #45318. Implement automated error checking in OznMon, add…
EdwardSafford-NOAA Apr 26, 2018
c7c5277
VLab Issue #49473. Enable building+testing GSI on Discover. Fixes #…
pchakraborty Apr 25, 2018
a7af622
Merge "VLab Issue #49473. Enable building+testing GSI on Discover. …
MichaelLueken Apr 30, 2018
c91fd12
Merge "VLab Issue #49483. Branch icmr_bugfix (C. Thomas): Bug fixes …
MichaelLueken Apr 30, 2018
a8accdf
Master: Update fix:rev2 revision to delete extraneous global_berror f…
MichaelLueken Apr 30, 2018
1b9b4ba
VLab Issue #35862. Slow CG convergence with correlated error. Fixes…
KristenBathmann Sep 26, 2017
ab114aa
VLab Issue #45526, correct exit message, file compression sequence. …
EdwardSafford-NOAA May 17, 2018
6b821f9
VLab Issue #46578. - regional GSI interface with single FV3 tile. fix…
WanshuWu-NOAA Feb 28, 2018
1ee0b6b
Master: Added new regional FV3 anavinfo file, anavinfo_fv3, to fix su…
MichaelLueken May 30, 2018
f4db8a4
VLab Issue #45373. Remove most of the go to and goto 's from GSI. Fix…
jderber-NOAA May 10, 2018
dd6e7ce
VLab issue #50591. Sync build scripts with FV3, modify threshold mec…
EdwardSafford-NOAA Jun 11, 2018
1680189
Vlab issue #48838. Fixes #48838. Updates for further code generalizat…
YanqiuZhu Apr 9, 2018
729af1d
master: Updated cloudy_radiance_info.txt fix file as part of today's …
MichaelLueken Jun 22, 2018
6dab4d8
master: Added C48 and C96 specific background error fix files, that e…
MichaelLueken Jun 22, 2018
cb5fdc2
VLab issue #44613. Improve file manipulation efficency, correct extra…
EdwardSafford-NOAA Jun 22, 2018
92371ea
Rewrite of calc_increment's fv3_interface.f90 to reduce memory usage.
SamuelTrahanNOAA Jul 5, 2018
b62809d
Master: Updated RTMA specific fix files in fix/rev2:
MichaelLueken Jul 12, 2018
5668698
VLab Issue #51759. Prevent unnecessary calls to correlated_obsmod wit…
KristenBathmann Jul 5, 2018
a8999cb
VLab Issue #51757. Update to the Desroziers Utility. Fixes #51757.
KristenBathmann Jul 10, 2018
e1c7fce
VLab Issue #52647. Surface pressure observation error update. Fixes #…
XiujuanSu-NOAA Jul 26, 2018
772defc
VLab Issue #51610: Model space localization in the EnKF. Fixes #51610.
Aug 6, 2018
3d02bf1
VLab Issue #52131. Fix the reporting of incorrect gross assimilation…
Aug 7, 2018
6e9f68e
Merger of DA-FV3-IMPL (mostly non-source) files into master
mark-a-potts Jul 31, 2018
9925869
Master: Update to the latest revision of libsrc following yeterday's …
MichaelLueken Sep 19, 2018
212d163
VLab Issue #54207, #54200, #54296: Bug fixes from MPMC (multiple plat…
guoqing-noaa Sep 6, 2018
dc899d7
Master: Updated libsrc revision following merging libsrc/comgsi.v3.7b…
MichaelLueken Sep 24, 2018
252df8a
Master: Modified the global_T62(_ozonly) regression test scripts so t…
MichaelLueken Sep 27, 2018
27d33e1
VLab Issue #49654. RTMA v2.7 with nonlinear transformation to cloud c…
Runhua Apr 27, 2018
5319c01
Master: Updated fix/Big_Endian/rtma_fltnorm.dat_*, fix/rtma_parmcard_…
MichaelLueken Oct 15, 2018
cff19e9
Master: Modified regression_nl_update.sh to properly apply updated OB…
MichaelLueken Oct 16, 2018
4fa6d93
VLab Issue #45088. Variational assimilation of lightning flash rate …
hu5970 Sep 29, 2018
02e827c
Master: Update fix submodule commit that includes new global_lightinf…
MichaelLueken Oct 25, 2018
e8fe68f
VLAB issue #55399. Update OznMon COM_IN and TANKverf directories, fi…
EdwardSafford-NOAA Oct 25, 2018
f470503
Correct bug in COMIN_GES_OBS default path
mark-a-potts Oct 2, 2018
dbd7390
Master: Fix file changes for ASCAT-B winds in global_convinfo.txt and…
MichaelLueken Nov 6, 2018
a877e93
VLab Issue #51079. Restore function oberror_tune. Fixes #51079.
WanshuWu-NOAA Oct 19, 2018
726c47d
VLab Issue #57409. Commit new changes in comGSIv3.7 to master. Fixes …
guoqing-noaa Nov 8, 2018
8624728
Master: Merged fix/comGSIv3.7 branch into fix/rev2 and libsrc/comGSIv…
MichaelLueken Nov 16, 2018
06ba678
VLab Issue #55400. Update MinMon with fv3 changes. Fixes #55400.
EdwardSafford-NOAA Nov 19, 2018
1114e8d
VLab Issue #57480. Fixes #57480.
mark-a-potts Dec 5, 2018
6d46afe
Subversion ticket 641. Add 4d thinning option on conventional data, r…
XiujuanSu-NOAA Oct 26, 2017
3ce537c
VLab issue #59742. Fixes #59742.
mark-a-potts Feb 5, 2019
79430f3
Vlab Issue #38319. Development of radar reflectivity and radial veloc…
Wangy1111 Aug 10, 2018
ca52381
CMake bug fixes to gsdcloud and corelibs
guoqing-noaa Apr 1, 2019
0864100
Master: merge branch libsrc/comGSI-2019001 into libsrc master.
MichaelLueken Apr 2, 2019
f375da3
VLab issue #60660. Update RadMon package to correctly configure itsel…
EdwardSafford-NOAA Apr 2, 2019
0b1374a
VLab issue #60016. Expand OznMon time series plots to optionally inc…
EdwardSafford-NOAA Apr 2, 2019
f2b4fa6
VLab Issue #61943. Fixes broking links in ProdGSI/util. Fixes #61943.
EdwardSafford-NOAA Apr 3, 2019
cb71973
VLab Issue #60244. Adds latitudinal dependence and resolution indepen…
CoryMartin-NOAA Mar 11, 2019
174c92a
VLab Issue #60857. Add necessary html and php files to RadMon to sup…
EdwardSafford-NOAA Apr 12, 2019
17094f2
VLab Issue #61285. Introduce the conditional assignments of jcap_gfs…
TingLei-NOAA Mar 14, 2019
2f91656
VLab Issue #57481. Modify the RadMon package to process radstat file…
EdwardSafford-NOAA Apr 23, 2019
ef54018
Revert "VLab Issue #57481. Modify the RadMon package to process rads…
MichaelLueken Apr 26, 2019
41c225b
VLab Issue #62988. Merge the final changes from DA-FV3-IMPL branch i…
MichaelLueken Apr 26, 2019
b022d4b
Master: Merged fix/DA-FV3-IMPL_global_only into fix/rev2.
MichaelLueken May 9, 2019
6a479b3
Master: Added necessary changes to regression/regression_param.sh and…
MichaelLueken May 9, 2019
5627f13
VLab Issue #62392. Convert ConMon to slurm on theia. Fixes #62392.
EdwardSafford-NOAA May 9, 2019
58b789f
VLab Issue #63258. Modified RadMon to use cmake utility for build, a…
EdwardSafford-NOAA May 10, 2019
13e1387
VLab Issue #55984. Add capability to assimilate ABI G16/G17 CSR data.…
HaixiaLiu-NOAA Apr 19, 2019
7474a0c
master: Added two new regional FV3 anavinfo files - anavinfo_fv3_64 a…
MichaelLueken May 22, 2019
bdd2a0e
master: Added two historical global_ozinfo.txt files to fix/rev2/fv3_…
MichaelLueken May 23, 2019
d9cb26c
master: Added C96 and C48 background error files to fix/rev2/Big_Endian.
MichaelLueken May 23, 2019
1d687b5
HOST_FLAG fix, Jet fix and Generic. changes
guoqing-noaa May 24, 2019
6687fbf
VLab Issue #63750. Update OznMon to use cmake and slurm controls on …
EdwardSafford-NOAA May 29, 2019
a1e312a
Master: Remove hardwired path pointing to CRTM coefficient files on t…
MichaelLueken May 29, 2019
58e22a7
VLab Issue #60362. Fixes localization bugs, plus various EnKF update…
MichaelLueken May 29, 2019
de68f13
VLab Issue #65194. Resolve script and compilation issues with master.…
RussTreadon-NOAA Jun 20, 2019
1664ea6
VLab Issue #64411. Code changes for RAPv5/HRRRv4 implementation. Fixe…
hu5970 Jun 5, 2019
6708a67
Master: Merged fix/fix_l127 branch into fix/rev2.
MichaelLueken Jul 15, 2019
8393351
VLab Issue #64908. Add slurm job controls to RadMon, correct problem…
EdwardSafford-NOAA Jun 29, 2019
ed27850
VLab Issue #34726. Added NEMSIO and ensemble perturbation capability…
CatherineThomas-NOAA Aug 2, 2019
6da4722
VLab Issue #60886, Master: A fix for the L127 interpolated background…
MichaelLueken Aug 8, 2019
8c49dfa
VLab Issue #50440, #61391, #63503, and #50554. GMAO polymorphic refac…
MichaelLueken Sep 18, 2019
a2ec29f
Squashed commit of the following:
mark-a-potts Oct 7, 2019
32834c9
Revert "Squashed commit of the following:"
mark-a-potts Oct 10, 2019
a13c17d
Squashed commit of the following:
mark-a-potts Oct 7, 2019
ebe0e8b
VLab Issue #69893. Remove tpwc_amsua and correct comments. Fixes #6…
RussTreadon-NOAA Oct 16, 2019
00f9710
VLab Issue #70063
KristenBathmann Oct 18, 2019
dc08e52
Vlab issue #57072. Add global aerosol analysis capabilities to ProdGS…
CoryMartin-NOAA Jul 15, 2019
1ce60d4
Master: Updated fix directory - Merge branch feature/crm-fv3aero_fix …
MichaelLueken Oct 30, 2019
258feae
VLab issue #66146. Fix static image plot problem, update RadMon for …
EdwardSafford-NOAA Oct 30, 2019
f55b388
VLab issue #63751. Expand OznMon plots to include OMA data. Fixes #…
EdwardSafford-NOAA Oct 30, 2019
7a7ff86
Merge "VLab issue #63751. Expand OznMon plots to include OMA data. …
MichaelLueken Oct 30, 2019
80e1887
VLab Issue #70505. Turn off correlated error in the EnKF. Fixes #70505.
KristenBathmann Oct 28, 2019
1e39631
VLab Issue #70452. Corrects a bug in the calculation of the delz
CatherineThomas-NOAA Oct 31, 2019
c1d037e
VLab issue #67898. Add fix to gnorm_data.txt problem, port to hera. …
EdwardSafford-NOAA Nov 1, 2019
c31e008
VLab Issue #70728. - problem near zero degree longitude for FV3 regio…
WanshuWu-NOAA Nov 1, 2019
523edfd
HWRFGSI: Corrected issus for FV3GFS in gesinfo.f90
lbi2018 Nov 22, 2019
b95a981
H220: This commit bring in the git log after merge HWRF to ProdGSI
lbi2018 Nov 22, 2019
cb31f53
H220B: Add scripts to connect the HWRF build system.
BinLiu-NOAA Nov 21, 2019
b703f9d
VLab Issue #55367. Incorporate FV3-CAM ensmble into DA. Fixes #55367.
TingLei-NOAA Aug 16, 2019
04d56b0
VLab issue #71496. Update wcoss_c build to intel/18.1.163. Fixes #7…
RussTreadon-NOAA Nov 22, 2019
ca696e7
H220B: Update modulefiles/modulefile.ProdGSI.jet to build on Jet.
BinLiu-NOAA Dec 3, 2019
d3b59e7
H220B: Update modulefiles/modulefile.ProdGSI.jet.
BinLiu-NOAA Dec 3, 2019
f85f4ff
VLab Issue #55980. Operational assimilation of OMPS Limb Profiler da…
LouisKouvaris-NOAA Oct 3, 2019
56346df
master: Added ompslp to ozinfo file.
MichaelLueken Dec 11, 2019
a0b9deb
Vlab Issue #72044. Merge HWRF GSI to master. Fixes #72044
lbi2018 Dec 5, 2019
773588e
H220: added aircraft_recon, radinfo modification to H220 branch
lbi2018 Dec 12, 2019
9818636
Merge branch 'H220' into H220B
BinLiu-NOAA Dec 12, 2019
7f88549
H220B: Switch to use intel/15.0.3.187, which is used for other hwrf c…
BinLiu-NOAA Dec 14, 2019
4b747dd
VLab Issue #55367. Incorporate EnKF IO interface for FV3-SAR. Fixes…
TingLei-NOAA Nov 27, 2019
a150f9e
Updated the DTC MPMC test suite
guoqing-noaa Jan 6, 2020
0a9e4cd
A fix for reading t when fv3sar_bg_opt /=0
TingLei-NOAA Jan 7, 2020
fa998e1
H220B branch: This commit refs bring DOE coefficients to the namelist…
lbi2018 Feb 11, 2020
f0148d7
Changes made to the modulefiles for building ProdGSI within
jimfrimel Feb 12, 2020
408f463
Merge branch 'H220B_hwrfgsimodules' into H220
BinLiu-NOAA Feb 12, 2020
cc55f39
H220: Comment out a conflict module with the HWRF modules in
BinLiu-NOAA Feb 12, 2020
4291e52
Vlab Issue #72044. Merge HWRF GSI to master. Fixes #72044
lbi2018 Dec 5, 2019
089d3c2
VLab Issue #66694. Adds support for NetCDF formatted ozone diagnostic…
EdwardSafford-NOAA Jan 9, 2020
a32af90
H220 branch: merge latest master
lbi2018 Feb 19, 2020
3192fcd
H220 branch: apply 88-D thinning mod
lbi2018 Feb 19, 2020
53a8e40
H220 branch: bug fix to resolve the issue with regression test failed…
lbi2018 Feb 22, 2020
fbb8a1d
This commit REVERTS the changes made to the module files for the
jimfrimel Feb 28, 2020
bfcb0b1
Merge branch 'H220_newhwrfmodules' into H220
BinLiu-NOAA Mar 3, 2020
e055eba
H220 branch: update read_cris.f90 to handle the change in Cris bufr …
Apr 16, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build*/
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
[submodule "fix"]
path = fix
url = gerrit:GSI-fix

[submodule "libsrc"]
path = libsrc
url = gerrit:GSI-libsrc
259 changes: 188 additions & 71 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ if( NOT DEFINED ENV{CC} )
find_path( intelComp "ifort" )
find_path( pgiComp "pgf90" )
if( crayComp )
message("Setting CrayLinuxEnvironment")
set(CMAKE_SYSTEM_NAME "CrayLinuxEnvironment")
set(CMAKE_C_COMPILER "${crayComp}/cc")
set(CMAKE_CXX_COMPILER "${crayComp}/CC")
Expand All @@ -32,68 +33,125 @@ endif()
project(GSI)
enable_language (Fortran)
option(USE_WRF "Find WRF object files and build regional GSI model" ON)
option(USE_BASELIBS "Look for and use GMAO Baselibs" OFF)
option(BUILD_GLOBAL "Build GSI without WRF (regional) module " OFF)
option(BUILD_GSI "Build the GSI model" ON)
option(BUILD_ENKF "Build the Enkf executable " ON)
option(BUILD_GFS "Build the Enkf with GFS module " ON)
option(BUILD_NMMB "Build the Enkf with NMMB module " OFF)
option(BUILD_WRF "Build the Enkf with WRF module " OFF)
option(BUILD_CORELIBS "Build the Core libraries " OFF)
option(USE_BASELINE "Use baseline control runs" ON)
SET(ENKF_MODE "GFS" CACHE STRING "EnKF build mode: GFS, WRF, NMMB")
string(TOUPPER ${ENKF_MODE} ENKF_MODE)
if (ENKF_MODE MATCHES "^GFS$")
message("Build the EnKF with GFS module")
option(BUILD_GFS "Build the Enkf with GFS module " ON)
option(BUILD_NMMB "Build the Enkf with NMMB module " OFF)
option(BUILD_WRF "Build the Enkf with WRF module " OFF)
elseif (ENKF_MODE MATCHES "^WRF$")
message("Build the EnKF with WRF module")
option(BUILD_GFS "Build the Enkf with GFS module " OFF)
option(BUILD_NMMB "Build the Enkf with NMMB module " OFF)
option(BUILD_WRF "Build the Enkf with WRF module " ON)
elseif (ENKF_MODE MATCHES "^NMMB$")
message("Build the EnKF with NMMB module")
option(BUILD_GFS "Build the Enkf with GFS module " OFF)
option(BUILD_NMMB "Build the Enkf with NMMB module " ON)
option(BUILD_WRF "Build the Enkf with WRF module " OFF)
else()
message("unkown ENKF_MODE: ${ENKF_MODE} !\nBuild the EnKF with GFS module by default")
option(BUILD_GFS "Build the Enkf with GFS module " ON)
option(BUILD_NMMB "Build the Enkf with NMMB module " OFF)
option(BUILD_WRF "Build the Enkf with WRF module " OFF)
endif()
option(BUILD_UTIL "Build the Enkf utilities " OFF)

option(BUILD_UTIL_COM "Build community utilities " OFF)
option(BUILD_ENKF_PREPROCESS_ARW "Build enkf preprocess for ARW " OFF)
option(BUILD_COV_CALC "Build the Desroziers utility" OFF)
option(BUILD_NCDIAG "Build the NCDIAG libraries" ON)
option(BUILD_NCDIAG_SERIAL "Build the serial NCDIAG libraries" ON)
option(BUILD_REG_TESTING "Build the Regression Testing Suite" ON)
option(BUILD_UNIT_TESTING "Build the Unit Testing Suite" OFF)
option(MPI3 "Build EnKF with MPI3" OFF)
option(BUILD_GSDCLOUD_ARW "Build the GSD cloud analysis " OFF)
cmake_minimum_required(VERSION 2.8)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
SET(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
SET(ARCHIVE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_INCLUDE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/include")
set(CMAKE_INCLUDE_4_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/include4")
set(Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include")
set(CMAKE_Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include")
file(MAKE_DIRECTORY ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
file(MAKE_DIRECTORY ${CMAKE_INCLUDE_4_OUTPUT_DIRECTORY})
include(${CMAKE_SOURCE_DIR}/cmake/Modules/setPlatformVariables.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/setCompilerFlags.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/setIntelFlags.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/setGNUFlags.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/setPGIFlags.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/setHOST.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/Cheyenne.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/Discover.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/Generic.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/Gaea.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/Jet.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/S4.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/Hera.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/WCOSS-C.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/WCOSS-D.cmake)
include(${CMAKE_SOURCE_DIR}/cmake/Modules/platforms/WCOSS.cmake)
if(BUILD_REG_TESTING)
set(CTEST_TEST_TIMEOUT 86400 )
find_package(GSICONTROL)
include( CTest )
endif(BUILD_REG_TESTING)
if(MPI3)
set( MPI3FLAG "-DMPI3" CACHE INTERNAL "" )
else()
set( MPI3FLAG "" CACHE INTERNAL "" )
endif()


cmake_policy(SET CMP0009 NEW)
site_name(HOSTNAME)
string(REGEX MATCH "s4-" HOST-S4 ${HOSTNAME} )
string(REGEX MATCH "tfe[0-9]" HOST-Theia ${HOSTNAME} )
string(REGEX MATCH "g[0-9][0-9]a" HOST-Gyre ${HOSTNAME} )
string(REGEX MATCH "t[0-9][0-9]a" HOST-Tide ${HOSTNAME} )
string(REGEX MATCH "llogin" HOST-Luna ${HOSTNAME} )
string(REGEX MATCH "slogin" HOST-Surge ${HOSTNAME} )
if( HOST-S4 )
set( host "S4" )
setS4()
elseif(( HOST-Tide ) OR ( HOST-Gyre ) )
set( host "WCOSS" )
setWCOSS()
elseif( HOST-Theia )
set( host "THEIA" )
setTHEIA()
elseif( ( crayComp ) OR ( HOST-Luna) OR ( HOST-Surge ) )
find_path( crayComp "ftn" )
set( host "LUNA" )
setCRAY()
else( )
set( host "GENERIC" )
setGeneric()
find_package(OpenMP)
message("found openmp with flag ${OPENMP_Fortran_FLAGS}")

# Set Host specific flags and options
setHOST()

if(FIND_HDF5_HL)
find_package(HDF5 COMPONENTS C HL Fortran_HL )
elseif(FIND_HDF5)
find_package(HDF5)
endif()

MESSAGE(${CMAKE_CURRENT_SOURCE_DIR})
# make sure that the default is a RELEASE
if (NOT CMAKE_BUILD_TYPE)
set (CMAKE_BUILD_TYPE RELEASE CACHE STRING
"Choose the type of build, options are: None Debug Release."
"Choose the type of build, options are: PRODUCTION Debug Release."
FORCE)
endif (NOT CMAKE_BUILD_TYPE)
set(CMAKE_Fortran_FLAGS_RELEASE "")

STRING(COMPARE EQUAL ${CMAKE_BUILD_TYPE} "RelWithDebInfo" BUILD_RELEASE)
STRING(COMPARE EQUAL ${CMAKE_BUILD_TYPE} "PRODUCTION" BUILD_PRODUCTION)
STRING(COMPARE EQUAL ${CMAKE_BUILD_TYPE} "PROFILE" BUILD_PROFILE)
if( BUILD_PRODUCTION )
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/exec )
endif()
if( BUILD_PROFILE )
set(CMAKE_SKIP_RPATH "TRUE")
if(NOT ENV{TAU_MAKEFILE})
message("Must set TAU MAKEFILE environment variable to build in profiling mode")
exit()
endif()
endif()

if(BUILD_GSDCLOUD_ARW)
set(GSDCLOUDOPT "-DRR_CLOUDANALYSIS" CACHE INTERNAL "" )
else(BUILD_GSDCLOUD_ARW)
set( GSDCLOUDOPT "" CACHE INTERNAL "" )
endif(BUILD_GSDCLOUD_ARW)

set(CMAKE_Fortran_FLAGS_RELEASE "")
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU*")
message("Setting GNU flags")
setGNU()
Expand All @@ -105,38 +163,44 @@ project(GSI)
setPGI()
endif()

set(intsize 4)
set(doublesize 4)
set(libsuffix "_i${intsize}r${doublesize}")

if( NOT(HOST-Luna) AND NOT(HOST-Surge) )
find_package(MPI REQUIRED)
endif()
find_package(MPI REQUIRED)
message("MPI version is ${MPI_Fortran_VERSION}")
message("MPI f90 version is ${MPI_Fortran_HAVE_F90_MODULE}")
message("MPI f08 version is ${MPI_Fortran_HAVE_F08_MODULE}")

add_definitions(${MPI_Fortran_COMPILE_FLAGS})
include_directories(${MPI_Fortran_INCLUDE_DIRS} ${MPI_INCLUDE_PATH} "./" ${CMAKE_INCLUDE_OUTPUT_DIRECTORY})
link_directories(${MPI_Fortran_LIBRARIES} ${ARCHIVE_OUTPUT_PATH} )


find_package( NetCDF REQUIRED)
if(NETCDF4)
if(CMAKE_MAJOR_VERSION GREATER 2)
find_package( HDF5 COMPONENTS C HL Fortran_HL REQUIRED )
else()
find_package( HDF5 )
# if( (HOST-Discover) AND (NOT HOST-Generic))
if( USE_BASELIBS )
find_package(Baselibs REQUIRED)
else()
find_package( NetCDF REQUIRED)
if(NETCDF4)
if(CMAKE_MAJOR_VERSION GREATER 2)
find_package( ZLIB )
endif()
find_package( CURL )
endif()
find_package( CURL )
endif()
if( NOT crayComp )
message(" trying to find lapack")
if(( NOT HOST-WCOSS_D ) AND ( NOT HOST-WCOSS_C ) AND ( NOT HOST-Gaea ) )
message(" trying to find lapack, ${host}")
find_package( LAPACK )
endif()
if(USE_WRF)
# build the WRF I/O libraries
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/libsrc/wrflib)
add_subdirectory(libsrc/wrflib)
else()
message("libsrc/wrflib not pulled from git, looking for WRF dependencies locally")
message("libsrc/wrflib not pulled from git, looking for WRF dependencies locally")
find_package( WRF )
endif()

# default installation
get_filename_component (default_prefix ".." ABSOLUTE)
set (CMAKE_INSTALL_PREFIX ${default_prefix} CACHE STRING "set prefix"
FORCE)
# set (CMAKE_INSTALL_PREFIX ${default_prefix} CACHE STRING "set prefix"
# FORCE)


# FFLAGS depend on the compiler
Expand All @@ -148,49 +212,102 @@ project(GSI)

if(BUILD_CORELIBS )
message("setting values for corelibs")
set(BUILD_CRTM "ON" CACHE STRING "Build the CRTM library" )
set(BUILD_BACIO "ON" CACHE STRING "Build the BACIO library" )
set(BUILD_BUFR "ON" CACHE STRING "Build the BUFR library" )
set(BUILD_SFCIO "ON" CACHE STRING "Build the SFCIO library" )
set(BUILD_SIGIO "ON" CACHE STRING "Build the SIGIO library" )
set(BUILD_NEMSIO "ON" CACHE STRING "Build the NEMSIO library" )
set(BUILD_SP "ON" CACHE STRING "Build the SP library" )
set(BUILD_EMC "ON" CACHE STRING "Build the EMC library" )
set(BUILD_CRTM "ON" CACHE STRING "Build the CRTM library" )
set(BUILD_W3EMC "ON" CACHE STRING "Build the EMC library" )
set(BUILD_NCO "ON" CACHE STRING "Build the NCO library" )
set(FIND_SRC ON )
else()
set(FIND_SRC OFF)
endif()
find_package( CORELIBS )
if(BUILD_CORELIBS)
add_subdirectory(core-libs)
endif()
find_package( BACIO )
find_package( BUFR )
find_package( SIGIO )
find_package( NEMSIO )
find_package( CRTM )
find_package( SP )
find_package( SFCIO )
find_package( W3EMC )
find_package( W3NCO )

add_subdirectory(src)
add_subdirectory(src/enkf)
if(BUILD_NCDIAG)
set(NCDIAG_INCS "${PROJECT_BINARY_DIR}/libsrc/ncdiag/include")
add_subdirectory(src/ncdiag)
set(NCDIAG_LIBRARIES ncdiag )
endif(BUILD_NCDIAG)

set(GSILIB gsilib)
find_package( BACIO )
find_package( BUFR )
find_package( SIGIO )
find_package( NEMSIO )
find_package( CRTM )
find_package( SP )
find_package( SFCIO )
find_package( W3EMC )
find_package( W3NCO )

if(BUILD_GSDCLOUD_ARW)
set(GSDCLOUD_DIR "${CMAKE_SOURCE_DIR}/libsrc/GSD/gsdcloud")
set(gsdcloud gsdcloud_arw)
add_subdirectory(libsrc/GSD/gsdcloud)
set(GSDCLOUD_LIBRARY ${gsdcloud} )
else(BUILD_GSDCLOUD_ARW)
set(GSDCLOUD_LIBRARY "")
endif(BUILD_GSDCLOUD_ARW)

add_subdirectory(src/gsi)
if(BUILD_ENKF)
add_subdirectory(src/enkf)
endif(BUILD_ENKF)
if(BUILD_UTIL)
add_subdirectory(util/EnKF/gfs/src)
add_subdirectory(util/Ozone_Monitor/nwprod/oznmon_shared.v2.0.0/sorc/oznmon_horiz.fd)
add_subdirectory(util/Ozone_Monitor/nwprod/oznmon_shared.v2.0.0/sorc/oznmon_time.fd)
add_subdirectory(util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radang.fd)
add_subdirectory(util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radbcoef.fd)
add_subdirectory(util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radbcor.fd)
add_subdirectory(util/Radiance_Monitor/nwprod/radmon_shared.v3.0.0/sorc/verf_radtime.fd)
endif(BUILD_UTIL)
find_package( NDATE )
if( NOT NDATE )
add_subdirectory(util/ndate)
endif()
if(BUILD_ENKF_PREPROCESS_ARW)
add_subdirectory(util/EnKF/arw/src)
endif(BUILD_ENKF_PREPROCESS_ARW)
if(BUILD_UTIL_COM)
add_subdirectory(util/Analysis_Utilities/read_diag)
add_subdirectory(util/radar_process/radialwind)
add_subdirectory(util/radar_process/reflectivity)
add_subdirectory(util/bufr_tools)
endif(BUILD_UTIL_COM)
if(BUILD_COV_CALC)
add_subdirectory(util/Correlated_Obs)
endif (BUILD_COV_CALC)
if(BUILD_UNIT_TESTING)
set(CTEST_TEST_TIMEOUT 400 )
find_package(GSICONTROL)
include( CTest )
add_subdirectory(unit-tests)
endif(BUILD_UNIT_TESTING)
if(BUILD_REG_TESTING)
if(USE_BASELINE)
set(BASELINE_FLAG "1")
else()
set(BASELINE_FLAG "0")
endif(USE_BASELINE)
if(USE_WRF)
file(WRITE "${PROJECT_BINARY_DIR}/regression_var.out" "${CMAKE_SOURCE_DIR}/regression/regression_var.sh ${host} ${CMAKE_SOURCE_DIR}/.. ${PROJECT_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/gsi.x${debug_suffix} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/enkf_gfs.x${debug_suffix} ${GSICONTROL} ${ENKFCONTROL} ")
set( REG_TEST_NAMES "global_T62;global_T62_ozonly;global_4dvar_T62;global_4denvar_T126;global_lanczos_T62;arw_netcdf;
arw_binary;nmm_binary;nmm_netcdf;nmmb_nems_4denvar;hwrf_nmm_d2;hwrf_nmm_d3;rtma;global_enkf_T62")
file(WRITE "${PROJECT_BINARY_DIR}/regression_var.out" "${CMAKE_SOURCE_DIR}/regression/regression_var.sh ${host} ${CMAKE_SOURCE_DIR}/.. ${PROJECT_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GSIEXEC} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${ENKFEXEC} ${GSICONTROL} ${ENKFCONTROL} ${BASELINE_FLAG} ")
set( REG_TEST_NAMES "global_T62;global_T62_ozonly;global_4dvar_T62;global_4denvar_T126;global_fv3_4denvar_T126;global_lanczos_T62;arw_netcdf;
arw_binary;nmm_binary;nmm_netcdf;nmmb_nems_4denvar;hwrf_nmm_d2;hwrf_nmm_d3;rtma;global_enkf_T62;netcdf_fv3_regional;global_C96_fv3aero")
else()
file(WRITE "${PROJECT_BINARY_DIR}/regression_var.out" "${CMAKE_SOURCE_DIR}/regression/regression_var.sh ${host} ${CMAKE_SOURCE_DIR}/.. ${PROJECT_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/gsi_global.x${debug_suffix} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/enkf.x${debug_suffix} ${GSICONTROL} ${ENKFCONTROL} ")
set( REG_TEST_NAMES "global_T62;global_T62_ozonly;global_4dvar_T62;global_lanczos_T62;global_nemsio_T62")
file(WRITE "${PROJECT_BINARY_DIR}/regression_var.out" "${CMAKE_SOURCE_DIR}/regression/regression_var.sh ${host} ${CMAKE_SOURCE_DIR}/.. ${PROJECT_BINARY_DIR} ${CMAKE_SOURCE_DIR} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GSIEXEC} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${ENKFEXEC} ${GSICONTROL} ${ENKFCONTROL} ${BASELINE_FLAG} ")
set( REG_TEST_NAMES "global_T62;global_T62_ozonly;global_4dvar_T62;global_lanczos_T62;global_nemsio_T62;global_C96_fv3aero")
endif()
foreach( REG_TEST ${REG_TEST_NAMES} )
add_test(NAME ${REG_TEST} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/regression COMMAND regression_driver.sh ${REG_TEST} ${PROJECT_BINARY_DIR})
endforeach( REG_TEST )
set_tests_properties( ${REG_TEST_NAMES} PROPERTIES TIMEOUT 86400 )
endif()
if(BUILD_UTIL)
add_subdirectory(util/EnKF/gfs/src)
endif(BUILD_UTIL)
23 changes: 23 additions & 0 deletions clean
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/sh

set -xe

echo "Cleaning up the build and/or exec dir for ProdGSI ..."
if [[ "$1" == '-a' ]] ; then

if [[ -d build ]] ; then
rm -r ./build
fi
if [[ -d exec ]] ; then
rm -r ./exec
fi

else

if [[ -d build ]] ; then
rm -r ./build
fi

fi

exit
Loading