Skip to content

Commit

Permalink
VLab Issue #54207, #54200, #54296: Bug fixes from MPMC (multiple plat…
Browse files Browse the repository at this point in the history
…forms and multiple compilers) tests of ProdGSI for next community release. Fixes #54207, #54200, #54296.

Change-Id: I52c8853df6bb10131109f25756f2a19b94472475
  • Loading branch information
guoqing-noaa authored and MichaelLueken committed Sep 24, 2018
1 parent 9925869 commit 212d163
Show file tree
Hide file tree
Showing 88 changed files with 8,672 additions and 1,227 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
build
23 changes: 20 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,9 +40,11 @@ project(GSI)
option(BUILD_NMMB "Build the Enkf with NMMB module " OFF)
option(BUILD_WRF "Build the Enkf with WRF module " OFF)
option(BUILD_UTIL "Build the Enkf utilities " OFF)
option(BUILD_UTIL_COM "Build community utilities " OFF)
option(BUILD_NCDIAG "Build the 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)
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")
Expand All @@ -60,12 +62,18 @@ project(GSI)
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)
message("The hostname is ${HOSTNAME}" )
string(REGEX MATCH "s4-" HOST-S4 ${HOSTNAME} )
string(REGEX MATCH "tfe[0-9]" HOST-Theia ${HOSTNAME} )
string(REGEX MATCH "fe[0-9]" HOST-Jet ${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 "v[0-9][0-9]a" HOST-Venus ${HOSTNAME} )
Expand All @@ -74,11 +82,14 @@ project(GSI)
string(REGEX MATCH "slogin" HOST-Surge ${HOSTNAME} )
string(REGEX MATCH "discover" HOST-Discover ${HOSTNAME})
string(REGEX MATCH "cheyenne" HOST-Cheyenne ${HOSTNAME} )
string(REGEX MATCH "cheyenne" HOST-Cheyenne ${HOSTNAME} )
if(EXISTS /jetmon)
if ( BUILD_CORELIBS )
MESSAGE(STATUS "BUILD_CORELIBS manually-specified as ON")
set( host "GENERIC" )
setGeneric()
elseif(EXISTS /jetmon)
set( host "Jet" )
setJet()
elseif( HOST-S4 )
elseif( HOST-S4 )
option(BUILD_CORELIBS "Build the Core libraries " ON)
set( host "S4" )
setS4()
Expand Down Expand Up @@ -237,6 +248,12 @@ project(GSI)
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)
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/EnKF/arw/src)
endif(BUILD_UTIL_COM)
add_subdirectory(util/ndate)
if(BUILD_UNIT_TESTING)
set(CTEST_TEST_TIMEOUT 400 )
Expand Down
25 changes: 25 additions & 0 deletions cmake/Modules/FindNetCDF.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ elseif(DEFINED ENV{NETCDF_HOME})
set(NETCDF_DIR $ENV{NETCDF_HOME})
elseif( DEFINED ENV{NETCDF} )
set(NETCDF_DIR $ENV{NETCDF})
elseif( DEFINED ENV{NETCDF4} )
set(NETCDF_DIR $ENV{NETCDF4})
elseif(DEFINED ENV{SSEC_NETCDF4_DIR})
set(NETCDF_DIR $ENV{SSEC_NETCDF4_DIR})
elseif(DEFINED ENV{SSEC_NETCDF_DIR})
Expand Down Expand Up @@ -74,6 +76,29 @@ find_library (NETCDF_LIBRARIES_C
HINTS ${NETCDF_DIR}/lib )
mark_as_advanced(NETCDF_LIBRARIES_C)

if("${NETCDF_DIR}" STREQUAL "")
message(FATAL_ERROR "
Cannot find NETCDF!!!!
")
endif()
find_file (NETCDF_NCDUMP
NAMES ncdump
HINTS ${NETCDF_DIR}/bin )
mark_as_advanced(NETCDF_NCDUMP)
execute_process(COMMAND ${NETCDF_NCDUMP}
ERROR_VARIABLE NCDUMP_INFO)
string(FIND "${NCDUMP_INFO}" "version" VERSION_LOC REVERSE)
math(EXPR VERSION_LOC "${VERSION_LOC} + 9")
string(SUBSTRING "${NCDUMP_INFO}" ${VERSION_LOC} 1 NETCDF_MAJOR_VERSION)
if (${NETCDF_MAJOR_VERSION} LESS 4)
message(FATAL_ERROR "
Current NETCDF is ${NETCDF_DIR}
!!!! NETCDF version 4.0 and above is required !!!!
")
endif()

set (NetCDF_has_interfaces "YES") # will be set to NO if we're missing any interfaces
set (NetCDF_libs "${NETCDF_LIBRARIES_C}")

Expand Down
54 changes: 34 additions & 20 deletions cmake/Modules/setCompilerFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,21 @@ function (setIntel)
else()
set( OMPFLAG "-openmp" CACHE INTERNAL "OpenMP flag")
endif()
if(( HOST-Tide ) OR ( HOST-Gyre ))
set( MPI3FLAG "" CACHE INTERNAL "" )
else()
set( MPI3FLAG "-DMPI3" CACHE INTERNAL "" )
endif()
STRING(COMPARE EQUAL ${CMAKE_BUILD_TYPE} "RELEASE" BUILD_RELEASE)
STRING(COMPARE EQUAL ${CMAKE_BUILD_TYPE} "PRODUCTION" BUILD_PRODUCTION)
if(HOST-Jet)
set(HOST_FLAG "")
else()
set(HOST_FLAG "-xHOST")
endif()
set( MKL_FLAG "-mkl" )
set(EXTRA_LINKER_FLAGS ${MKL_FLAG} PARENT_SCOPE)
if( (BUILD_RELEASE) OR (BUILD_PRODUCTION) )
if(( HOST-Tide ) OR ( HOST-Gyre ))
set(GSI_Fortran_FLAGS "-DPOUND_FOR_STRINGIFY -traceback -O3 -fp-model source -convert big_endian -assume byterecl -implicitnone -D_REAL8_ ${OMPFLAG} ${MPI_Fortran_COMPILE_FLAGS}" PARENT_SCOPE)
set(ENKF_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone -DGFS -D_REAL8_ ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone -DWRF -D_REAL8_ ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_COM_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone" PARENT_SCOPE)
set (BACIO_Fortran_FLAGS "-O3 -free -assume nocc_omp " PARENT_SCOPE )
set (BUFR_Fortran_FLAGS "-O2 -r8 -fp-model strict -traceback -xSSE2 -O3 -axCORE-AVX2 ${OMPFLAG} " PARENT_SCOPE )
set (BUFR_C_FLAGS "-g -traceback -DUNDERSCORE -O3 -axCORE-AVX2 -DDYNAMIC_ALLOCATION -DNFILES=32 -DMAXCD=250 -DMAXNC=600 -DMXNAF=3" PARENT_SCOPE )
Expand All @@ -35,6 +36,7 @@ function (setIntel)

set(ENKF_Fortran_FLAGS "-O3 -fp-model strict -convert big_endian -assume byterecl -implicitnone -DGFS -D_REAL8_ ${MPI3FLAG} ${OMPFLAG} " PARENT_SCOPE)
set(UTIL_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone -DWRF -D_REAL8_ ${OMPFLAG} " PARENT_SCOPE)
set(UTIL_COM_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone" PARENT_SCOPE)
set (BACIO_Fortran_FLAGS "-O3 -free -assume nocc_omp " PARENT_SCOPE )
set (BUFR_Fortran_FLAGS " -c -g -traceback -O3 -axCORE-AVX2 -r8 " PARENT_SCOPE )
set (BUFR_C_FLAGS "-DSTATIC_ALLOCATION -DUNDERSCORE -DNFILES=32 -DMAXCD=250 -DMAXNC=600 -DMXNAF=3" PARENT_SCOPE )
Expand All @@ -49,8 +51,9 @@ function (setIntel)
set (BUFR_C_FLAGS "-DSTATIC_ALLOCATION -DUNDERSCORE -DNFILES=32 -DMAXCD=250 -DMAXNC=600 -DMXNAF=3" PARENT_SCOPE )
else()
set(GSI_Fortran_FLAGS "-DPOUND_FOR_STRINGIFY -O3 -fp-model source -assume byterecl -convert big_endian -g -traceback -D_REAL8_ ${OMPFLAG} ${MPI_Fortran_COMPILE_FLAGS}" PARENT_SCOPE)
set(ENKF_Fortran_FLAGS "-O3 -xHOST -warn all -implicitnone -traceback -fp-model strict -convert big_endian -DGFS -D_REAL8_ ${MPI3FLAG} ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS "-O3 -xHOST -warn all -implicitnone -traceback -fp-model strict -convert big_endian -DWRF -D_REAL8_ ${OMPFLAG}" PARENT_SCOPE)
set(ENKF_Fortran_FLAGS "-O3 ${HOST_FLAG} -warn all -implicitnone -traceback -fp-model strict -convert big_endian -DGFS -D_REAL8_ ${MPI3FLAG} ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS "-O3 ${HOST_FLAG} -warn all -implicitnone -traceback -fp-model strict -convert big_endian -DWRF -D_REAL8_ ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_COM_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone" PARENT_SCOPE)
set (BACIO_Fortran_FLAGS "-O3 -free -assume nocc_omp " PARENT_SCOPE )
set (BUFR_Fortran_FLAGS "-O2 -r8 -fp-model strict -traceback -xSSE2 -O3 -axCORE-AVX2 ${OMPFLAG} " PARENT_SCOPE )
set (BUFR_C_FLAGS "-g -traceback -DUNDERSCORE -O3 -axCORE-AVX2 -DDYNAMIC_ALLOCATION -DNFILES=32 -DMAXCD=250 -DMAXNC=600 -DMXNAF=3" PARENT_SCOPE )
Expand Down Expand Up @@ -79,11 +82,13 @@ function (setIntel)
set(GSI_Fortran_FLAGS "-DPOUND_FOR_STRINGIFY -O0 -fp-model source -convert big_endian -assume byterecl -implicitnone -mcmodel medium -shared-intel -g -traceback -debug -ftrapuv -check all,noarg_temp_created -fp-stack-check -fstack-protector -warn all,nointerfaces -convert big_endian -implicitnone -D_REAL8_ ${OMPFLAG} ${MPI_Fortran_COMPILE_FLAGS}" PARENT_SCOPE)
set(ENKF_Fortran_FLAGS "-g -O0 -fp-model source -convert big_endian -assume byterecl -implicitnone -warn all -traceback -debug all -check all,noarg_temp_created -implicitnone -DGFS -D_REAL8_ ${MPI3FLAG} ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS "-g -O0 -fp-model source -convert big_endian -assume byterecl -implicitnone -warn all -traceback -debug all -check all,noarg_temp_created -implicitnone -DWRF -D_REAL8_ ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_COM_Fortran_FLAGS "-g -O0 -fp-model source -convert big_endian -assume byterecl -implicitnone -warn all -traceback -debug all" PARENT_SCOPE)
set (BACIO_Fortran_FLAGS "-g -free -assume nocc_omp " PARENT_SCOPE )
else()
set(GSI_Fortran_FLAGS "-DPOUND_FOR_STRINGIFY -O0 -fp-model strict -convert big_endian -assume byterecl -implicitnone -g -traceback -debug -ftrapuv -check all,noarg_temp_created -fp-stack-check -fstack-protector -warn all,nointerfaces -D_REAL8_ ${OMPFLAG} ${MPI_Fortran_COMPILE_FLAGS}" PARENT_SCOPE)
set(ENKF_Fortran_FLAGS "-O0 -xHOST -warn all -implicitnone -traceback -g -debug full -fp-model strict -convert big_endian -D_REAL8_ ${MPI3FLAG} ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS "-O0 -xHOST -warn all -implicitnone -traceback -g -debug full -fp-model strict -convert big_endian -D_REAL8_ ${OMPFLAG}" PARENT_SCOPE)
set(ENKF_Fortran_FLAGS "-O0 ${HOST_FLAG} -warn all -implicitnone -traceback -g -debug full -fp-model strict -convert big_endian -D_REAL8_ ${MPI3FLAG} ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS "-O0 ${HOST_FLAG} -warn all -implicitnone -traceback -g -debug full -fp-model strict -convert big_endian -D_REAL8_ ${OMPFLAG}" PARENT_SCOPE)
set(UTIL_COM_Fortran_FLAGS "-O0 -warn all -implicitnone -traceback -g -debug full -fp-model strict -convert big_endian" PARENT_SCOPE)
set (BACIO_Fortran_FLAGS "-g -free -assume nocc_omp " PARENT_SCOPE )
endif()
#Common debug flags
Expand Down Expand Up @@ -111,22 +116,23 @@ endfunction()
function (setGNU)
message("Setting GNU Compiler Flags")
set(GSI_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp -ffree-line-length-0" PARENT_SCOPE)
set(EXTRA_LINKER_FLAGS "-lgomp" PARENT_SCOPE)
set(EXTRA_LINKER_FLAGS "-lgomp -lnetcdf -lnetcdff" PARENT_SCOPE)
set(GSI_CFLAGS "-I. -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -g -Dfunder" PARENT_SCOPE )
set(ENKF_Fortran_FLAGS " -O3 -fconvert=big-endian -ffree-line-length-0 -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -DGFS -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS " -O3 -fconvert=big-endian -ffree-line-length-0 -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -DWRF -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(BUFR_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(UTIL_COM_Fortran_FLAGS " -O3 -fconvert=big-endian -ffree-line-length-0 -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check" PARENT_SCOPE)
set(BUFR_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -fdefault-real-8 -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(BUFR_Fortran_PP_FLAGS " -P " PARENT_SCOPE)
set(BUFR_C_FLAGS " -O3 -g -DUNDERSCORE -DDYNAMIC_ALLOCATION -DNFILES=32 -DMAXCD=250 -DMAXNC=600 -DMXNAF=3" PARENT_SCOPE )
set(BACIO_Fortran_FLAGS " -O3 -fconvert=big-endian -ffree-form -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(CRTM_Fortran_FLAGS " -g -std=f2003 -fdollar-ok -O3 -fconvert=big-endian -ffree-form -fno-second-underscore -frecord-marker=4 -funroll-loops -static -Wall " PARENT_SCOPE)
set(NEMSIO_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(SIGIO_Fortran_FLAGS " -O3 -fconvert=big-endian -ffree-form -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(SFCIO_Fortran_FLAGS " -O3 -ffree-form -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(SP_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp -DLINUX" PARENT_SCOPE)
set(SP_F77_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp -DLINUX" PARENT_SCOPE)
set(W3EMC_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(W3NCO_Fortran_FLAGS " -O3 -fconvert=big-endian -ffixed-form -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ " PARENT_SCOPE)
set(SP_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -fdefault-real-8 -D_REAL8_ -fopenmp -DLINUX" PARENT_SCOPE)
set(SP_F77_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -fdefault-real-8 -D_REAL8_ -fopenmp -DLINUX" PARENT_SCOPE)
set(W3EMC_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -fdefault-real-8 -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(W3NCO_Fortran_FLAGS " -O3 -fconvert=big-endian -ffixed-form -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -fdefault-real-8 -D_REAL8_ " PARENT_SCOPE)
set(W3NCO_C_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp" PARENT_SCOPE)
set(WRFLIB_Fortran_FLAGS " -O3 -fconvert=big-endian -ffast-math -fno-second-underscore -frecord-marker=4 -funroll-loops -ggdb -static -Wall -fno-range-check -D_REAL8_ -fopenmp -ffree-line-length-0" PARENT_SCOPE)
set( NCDIAG_Fortran_FLAGS "-ffree-line-length-none" PARENT_SCOPE )
Expand All @@ -141,8 +147,9 @@ function (setPGI)
set(GSI_CFLAGS "-I. -DFortranByte=char -DFortranInt=int -DFortranLlong='long long' -g -Dfunder" PARENT_SCOPE )
set(ENKF_Fortran_FLAGS " -O3 -byteswapio -fast -DGFS -D_REAL8_ -mp" PARENT_SCOPE)
set(UTIL_Fortran_FLAGS " -O3 -byteswapio -fast -DWRF -D_REAL8_ -mp" PARENT_SCOPE)
set(UTIL_COM_Fortran_FLAGS " -O3 -byteswapio -fast" PARENT_SCOPE)

set(BUFR_Fortran_FLAGS "-O1 -byteswapio -D_REAL8_ -mp" PARENT_SCOPE)
set(BUFR_Fortran_FLAGS "-O1 -byteswapio -D_REAL8_ -mp -r8" PARENT_SCOPE)
set(BUFR_Fortran_PP_FLAGS " -P " PARENT_SCOPE)
set(BUFR_C_FLAGS " -g -DUNDERSCORE -DDYNAMIC_ALLOCATION -DNFILES=32 -DMAXCD=250 -DMAXNC=600 -DMXNAF=3" PARENT_SCOPE )

Expand All @@ -152,10 +159,17 @@ function (setPGI)
set(NEMSIO_Fortran_FLAGS " -O1 -byteswapio -D_REAL8_ -mp" PARENT_SCOPE)
set(SIGIO_Fortran_FLAGS " -O3 -Mfree -byteswapio -fast -D_REAL8_ -mp" PARENT_SCOPE)
set(SFCIO_Fortran_FLAGS " -O3 -byteswapio -Mfree -fast -D_REAL8_ -mp" PARENT_SCOPE)
set(SP_Fortran_FLAGS " -O1 -byteswapio -D_REAL8_ -mp" PARENT_SCOPE)
set(SP_F77_FLAGS "-DLINUX -O1 -byteswapio -D_REAL8_ -mp" PARENT_SCOPE)
set(W3EMC_Fortran_FLAGS " -O1 -byteswapio -D_REAL8_ " PARENT_SCOPE)
set(W3NCO_Fortran_FLAGS " -O1 -byteswapio -D_REAL8_ " PARENT_SCOPE)
set(SP_Fortran_FLAGS " -O1 -byteswapio -D_REAL8_ -mp -r8 " PARENT_SCOPE)
set(SP_F77_FLAGS "-DLINUX -O1 -byteswapio -D_REAL8_ -mp -r8 " PARENT_SCOPE)
set(W3EMC_Fortran_FLAGS " -O1 -byteswapio -D_REAL8_ -r8 " PARENT_SCOPE)
set(W3NCO_Fortran_FLAGS " -O1 -byteswapio -D_REAL8_ -r8 " PARENT_SCOPE)
set(W3NCO_C_FLAGS " -O1 -D_REAL8_ -mp" PARENT_SCOPE)
set(WRFLIB_Fortran_FLAGS "-Minform=inform -O1 -byteswapio -D_REAL8_ -mp -Mfree" PARENT_SCOPE)
set( NDATE_Fortran_FLAGS "-byteswapio -DCOMMCODE -DLINUX -DUPPLITTLEENDIAN -O3 -Wl,-noinhibit-exec" PARENT_SCOPE)

if ( ${CMAKE_C_COMPILER_VERSION} VERSION_LESS 18.5 )
set( NCDIAG_Fortran_FLAGS "-Mfree -DOLDPGI" PARENT_SCOPE )
else()
set( NCDIAG_Fortran_FLAGS "-Mfree" PARENT_SCOPE )
endif()
endfunction()
10 changes: 10 additions & 0 deletions doc/EnKF_user_guide/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
main.aux
main.bbl
main.blg
main.idx
main.log
main.out
main.pdf
main.synctex.gz
main.toc
*.pdf
24 changes: 24 additions & 0 deletions doc/EnKF_user_guide/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
This directory contains the latex source for creating the enkf user's guide. This document requires
an instillation of latex that supports the CTAN extensions.

1. Required flavor of LaTex.
Options for the three main platforms.

Windows:
The most popular choice here is the MiKTEX (http://www.miktex.org) distribution, which lets you easily
manage TEX packages. Many people advise beginners to get the proTEXt bundling of MiKTEX, which lets you
install by using a .pdf file with links so you can read about your options and then click on the right
one. And it includes other components that help you work with your TEX system.

Unix-type systems, including GNU/Linux:
The best choice here is TEX Live (http://tug.org/texlive/), which contains many packages and programs.
It is freely available over the Internet or on disc; see the web page for details. Note that most Unix
systems have TEX as an installation option so you might already have it or be able to easily get it using
your system administration package management tool: RPM, or DEB, or whatever.

Mac­in­tosh:
Get the MacTEX (http://tug.org/mactex/) distribution, which is TEX Live with some Mac specific goodies.

2. Building the user's guide document.
Run LaTex on the file main.tex. It imports organizes each of the individual chapter files. This creates
the document main.pdf.
2 changes: 1 addition & 1 deletion doc/EnKF_user_guide/ack.tex
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
\textcolor{darkgray}{\LARGE Acknowledgement}
\vspace*{1cm}\par

We thank the National Oceanic and Atmospheric Administration (NOAA) Hurricane Forecast Improvement Program (HFIP) and Office of Oceanic and Atmospheric Research (OAR) for their support of this work. This work is also facilitated by the National Center for Atmospheric Research (NCAR). NCAR is supported by the National Science Foundation (NSF).
We thank the National Oceanic and Atmospheric Administration (NOAA) Office of Oceanic and Atmospheric Research (OAR) for their support of this work. This work is also facilitated by the National Center for Atmospheric Research (NCAR). NCAR is supported by the National Science Foundation (NSF).

\end{flushleft}
\end{titlepage}
Expand Down
Loading

0 comments on commit 212d163

Please sign in to comment.