Skip to content

Commit

Permalink
Merge pull request #369 from MichaelLueken-NOAA/feature/wcoss2_port
Browse files Browse the repository at this point in the history
GitHub Issue #368.  WCOSS2 port.
  • Loading branch information
MichaelLueken committed May 9, 2022
2 parents fd328cd + a7fb203 commit 60165ce
Show file tree
Hide file tree
Showing 90 changed files with 601 additions and 406 deletions.
5 changes: 4 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ project(GSI)
option(BUILD_REG_TESTING "Build the Regression Testing Suite" ON)
option(BUILD_UNIT_TESTING "Build the Unit Testing Suite" OFF)
option(BUILD_GSDCLOUD_ARW "Build the GSD cloud analysis " OFF)
cmake_minimum_required(VERSION 2.8)
cmake_minimum_required(VERSION 3.16.1)
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)
Expand Down Expand Up @@ -119,6 +119,9 @@ project(GSI)
cmake_policy(SET CMP0009 NEW)
cmake_policy(SET CMP0054 NEW)
cmake_policy(SET CMP0074 NEW)
if(CMAKE_VERSION EQUAL 3.20.2)
cmake_policy(SET CMP0110 NEW)
endif()
find_package(OpenMP)
message("found openmp with flag ${OPENMP_Fortran_FLAGS}")

Expand Down
13 changes: 13 additions & 0 deletions cmake/Modules/platforms/WCOSS2.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
macro (setWCOSS2)
message("Setting flags and paths for WCOSS2")

option(FIND_HDF5 "Try to Find HDF5 libraries" OFF)
option(FIND_HDF5_HL "Try to Find HDF5 libraries" ON)
set(HDF5_USE_STATIC_LIBRARIES "ON" CACHE INTERNAL "HDF5_Static" )

set(HOST_FLAG "" CACHE INTERNAL "Host Flag")
set(MKL_FLAG "" CACHE INTERNAL "MKL flag" )
set(GSI_Intel_Platform_FLAGS "-DPOUND_FOR_STRINGIFY -fp-model strict -assume byterecl -convert big_endian -implicitnone -g -traceback -D_REAL8_ ${OpenMP_Fortran_FLAGS} ${MPI_Fortran_COMPILE_FLAGS} -O3" CACHE INTERNAL "")
set(ENKF_Platform_FLAGS "-O3 -fp-model strict -convert big_endian -assume byterecl -implicitnone -g -traceback -DGFS -D_REAL8_ ${OpenMP_Fortran_FLAGS} " CACHE INTERNAL "")
set(GSI_LDFLAGS "${OpenMP_Fortran_FLAGS}" CACHE INTERNAL "")
endmacro()
14 changes: 7 additions & 7 deletions cmake/Modules/setHOST.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ macro( setHOST )
if( NOT HOST-WCOSS_C )# don't overwrite if we are on luna
string(REGEX MATCH "slogin" HOST-WCOSS_C ${HOSTNAME} )
endif()
string(REGEX MATCH "alogin01" HOST-Acorn ${HOSTNAME} )
if( NOT HOST-Acorn )# don't overwrite if we are on node 1
string(REGEX MATCH "alogin02" HOST-Acorn ${HOSTNAME} )
string(REGEX MATCH "clogin" HOST-WCOSS2 ${HOSTNAME} )
if( NOT HOST-WCOSS2 )# don't overwrite if we are on Cactus
string(REGEX MATCH "dlogin" HOST-WCOSS2 ${HOSTNAME} )
endif()
string(REGEX MATCH "discover" HOST-Discover ${HOSTNAME} )
string(REGEX MATCH "cheyenne" HOST-Cheyenne ${HOSTNAME} )
Expand Down Expand Up @@ -90,11 +90,11 @@ macro( setHOST )
set(host "Discover" )
setDiscover()
set( HOST-Discover "TRUE" )
elseif( HOST-Acorn )
set( host "Acorn" )
elseif( HOST-WCOSS2 )
set( host "WCOSS2" )
option(BUILD_CORELIBS "Build the Core libraries " OFF)
setAcorn()
set( HOST-Acorn "TRUE" )
setWCOSS2()
set( HOST-WCOSS2 "TRUE" )
else( )
set( host "GENERIC" )
option(BUILD_CORELIBS "Build the Core libraries " ON)
Expand Down
10 changes: 5 additions & 5 deletions cmake/Modules/setIntelFlags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ function(set_LIBRARY_UTIL_Intel)
set (W3NCO_4_Fortran_FLAGS " -O3 -auto -assume nocc_omp -i${intsize} -convert big_endian -assume byterecl -fp-model strict ${OpenMP_Fortran_FLAGS} " CACHE INTERNAL "" )
set (W3NCO_C_FLAGS "-O0 -DUNDERSCORE -DLINUX -D__linux__ " CACHE INTERNAL "" )
set (NDATE_Fortran_FLAGS "${HOST_FLAG} -fp-model source -ftz -assume byterecl -convert big_endian -heap-arrays -DCOMMCODE -DLINUX -DUPPLITTLEENDIAN -O3 -Wl,-noinhibit-exec" CACHE INTERNAL "" )
set(NCDIAG_Fortran_FLAGS "-free -assume byterecl -convert big_endian" CACHE INTERNAL "" )
set(FV3GFS_NCIO_Fortran_FLAGS "-free" CACHE INTERNAL "" )
set(UTIL_Fortran_FLAGS "-O3 ${HOST_FLAG} -warn all -implicitnone -traceback -fp-model strict -convert big_endian -DWRF -D_REAL8_ ${OpenMP_Fortran_FLAGS}" CACHE INTERNAL "")
set(UTIL_COM_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone" CACHE INTERNAL "")
set(NCDIAG_Fortran_FLAGS "-free -assume byterecl -convert big_endian -g -traceback" CACHE INTERNAL "" )
set(FV3GFS_NCIO_Fortran_FLAGS "-free -g -traceback" CACHE INTERNAL "" )
set(UTIL_Fortran_FLAGS "-O3 ${HOST_FLAG} -implicitnone -g -traceback -fp-model strict -convert big_endian -DWRF -D_REAL8_ ${OpenMP_Fortran_FLAGS}" CACHE INTERNAL "")
set(UTIL_COM_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone -g -traceback" CACHE INTERNAL "")
# set(COV_CALC_FLAGS "-O3 ${HOST_FLAG} -warn all -implicitnone -traceback -fp-model strict -convert little_endian -D_REAL8_ -openmp -fpp -auto" CACHE INTERNAL "" )
set(COV_CALC_FLAGS "-O3 ${HOST_FLAG} -warn all -implicitnone -traceback -fp-model strict -convert little_endian ${OpenMP_Fortran_FLAGS}" CACHE INTERNAL "")
set(COV_CALC_FLAGS "-O3 ${HOST_FLAG} -implicitnone -g -traceback -fp-model strict -convert little_endian ${OpenMP_Fortran_FLAGS}" CACHE INTERNAL "")
# set(COV_CALC_FLAGS ${GSI_Intel_Platform_FLAGS} CACHE INTERNAL "Full GSI Fortran FLAGS" )
endfunction(set_LIBRARY_UTIL_Intel)

Expand Down
2 changes: 1 addition & 1 deletion cmake/Modules/setPlatformVariables.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ include(${CMAKE_CURRENT_LIST_DIR}/platforms/Gaea.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/platforms/Cheyenne.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/platforms/Discover.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/platforms/WCOSS-D.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/platforms/Acorn.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/platforms/WCOSS2.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/platforms/Generic.cmake)
2 changes: 1 addition & 1 deletion fix
Submodule fix updated from 13a740 to e73604
19 changes: 7 additions & 12 deletions jobs/JGDAS_ATMOS_ANALYSIS_DIAG
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/ksh
#!/bin/bash
set -x

export RUN_ENVIR=${RUN_ENVIR:-"nco"}
Expand Down Expand Up @@ -59,9 +59,6 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
export COMPONENT=${COMPONENT:-atmos}
if [ $RUN_ENVIR = "nco" ]; then
export ROTDIR=${COMROOT:?}/$NET/$envir
fi
export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}


Expand All @@ -84,12 +81,12 @@ export ASUFFIX=${ASUFFIX:-$SUFFIX}
if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_OBS=${COMIN_OBS:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT}
export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
else
export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
export COMIN_OBS="$DMPDIR/$CDATE/$CDUMP"
export COMIN_GES_OBS="$DMPDIR/$GDATE/$GDUMP"
export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc"
export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc"
fi
mkdir -m 775 -p $COMOUT
# COMIN_GES and COMIN_GES_ENS are used in script
Expand Down Expand Up @@ -125,8 +122,7 @@ export DOGAUSFCANL=${DOGAUSFCANL:-"YES"}
###############################################################
# Run relevant script
env
msg="HAS BEGUN on `hostname`"
postmsg "$jlogfile" "$msg"
echo "HAS BEGUN on $(hostname)"
$LOGSCRIPT


Expand All @@ -147,8 +143,7 @@ if [ -e "$pgmout" ] ; then
fi


msg="ENDED NORMALLY."
postmsg "$jlogfile" "$msg"
echo "ENDED NORMALLY."


##########################################
Expand Down
19 changes: 7 additions & 12 deletions jobs/JGDAS_ATMOS_CHGRES_FORENKF
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/ksh
#!/bin/bash
set -x

export RUN_ENVIR=${RUN_ENVIR:-"nco"}
Expand Down Expand Up @@ -59,9 +59,6 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gfs"}}
export COMPONENT=${COMPONENT:-atmos}
if [ $RUN_ENVIR = "nco" ]; then
export ROTDIR=${COMROOT:?}/$NET/$envir
fi
export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"}


Expand All @@ -85,13 +82,13 @@ if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
export COMIN=${COMIN:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMOUT=${COMOUT:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMOUT_ENS=${COMOUT_ENS:-$ROTDIR/enkfgdas.$PDY/$cyc/$COMPONENT}
export COMIN_OBS=${COMIN_OBS:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT}
export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
else
export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT"
export COMOUT_ENS="$ROTDIR/enkfgdas.$PDY/$cyc/$COMPONENT"
export COMIN_OBS="$DMPDIR/$CDATE/$CDUMP"
export COMIN_GES_OBS="$DMPDIR/$GDATE/$GDUMP"
export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc"
export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc"
fi
mkdir -m 775 -p $COMOUT
# COMIN_GES and COMIN_GES_ENS are used in script
Expand All @@ -101,8 +98,7 @@ export COMIN_GES_ENS="$ROTDIR/enkfgdas.$gPDY/$gcyc/$COMPONENT"
###############################################################
# Run relevant script
env
msg="HAS BEGUN on `hostname`"
postmsg "$jlogfile" "$msg"
echo "HAS BEGUN on $(hostname)"
$LOGSCRIPT


Expand All @@ -123,8 +119,7 @@ if [ -e "$pgmout" ] ; then
fi


msg="ENDED NORMALLY."
postmsg "$jlogfile" "$msg"
echo "ENDED NORMALLY."


##########################################
Expand Down
29 changes: 11 additions & 18 deletions jobs/JGDAS_ENKF_DIAG
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/ksh
#!/bin/bash
set -x

export RUN_ENVIR=${RUN_ENVIR:-"nco"}
Expand Down Expand Up @@ -58,9 +58,6 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
export COMPONENT=${COMPONENT:-atmos}
if [ $RUN_ENVIR = "nco" ]; then
export ROTDIR=${COMROOT:?}/$NET/$envir
fi


##############################################
Expand All @@ -82,11 +79,11 @@ export GSUFFIX="${GSUFFIX:-".ensmean${SUFFIX}"}"
export ASUFFIX="${ASUFFIX:-"${SUFFIX}"}"

if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
export COMIN_OBS=${COMIN_OBS:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT}
export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
else
export COMIN_OBS="$DMPDIR/$CDATE/$CDUMP"
export COMIN_GES_OBS="$DMPDIR/$GDATE/$GDUMP"
export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc"
export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc"
fi

# COMIN_GES, COMIN_ANL COMIN_GES_ENS, and COMOUT are used in script
Expand All @@ -105,15 +102,13 @@ fi


# Link observational data
export PREPQC="$COMIN_ANL/${OPREFIX}prepbufr"
export PREPQC="$COMIN_OBS/${OPREFIX}prepbufr"
if [ ! -f $PREPQC ]; then
echo "WARNING: PREPBUFR FILE $PREPQC MISSING"
msg="WARNING : Global PREPBUFR file is missing"
postmsg "$jlogfile" "$msg"
echo "WARNING: Global PREPBUFR FILE $PREPQC MISSING"
fi
export PREPQCPF="$COMIN_ANL/${OPREFIX}prepbufr.acft_profiles"
export PREPQCPF="$COMIN_OBS/${OPREFIX}prepbufr.acft_profiles"
export TCVITL="$COMIN_ANL/${OPREFIX}syndata.tcvitals.tm00"
[[ $DONST = "YES" ]] && export NSSTBF="$COMIN_ANL/${OPREFIX}nsstbufr"
[[ $DONST = "YES" ]] && export NSSTBF="$COMIN_OBS/${OPREFIX}nsstbufr"

# Guess Bias correction coefficients related to control
export GBIAS=${COMIN_GES_CTL}/${GPREFIX}abias
Expand Down Expand Up @@ -153,8 +148,7 @@ done
###############################################################
# Run relevant script
env
msg="HAS BEGUN on `hostname`"
postmsg "$jlogfile" "$msg"
echo "HAS BEGUN on $(hostname)"
$LOGSCRIPT


Expand All @@ -175,8 +169,7 @@ if [ -e "$pgmout" ] ; then
fi


msg="ENDED NORMALLY."
postmsg "$jlogfile" "$msg"
echo "ENDED NORMALLY."


##########################################
Expand Down
19 changes: 7 additions & 12 deletions jobs/JGDAS_ENKF_ECEN
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/ksh
#!/bin/bash
set -x

export RUN_ENVIR=${RUN_ENVIR:-"nco"}
Expand Down Expand Up @@ -58,9 +58,6 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
export COMPONENT=${COMPONENT:-atmos}
if [ $RUN_ENVIR = "nco" ]; then
export ROTDIR=${COMROOT:?}/$NET/$envir
fi


##############################################
Expand Down Expand Up @@ -90,11 +87,11 @@ export GSUFFIX=${GSUFFIX:-$SUFFIX}
export ASUFFIX=${ASUFFIX:-$SUFFIX}

if [ $RUN_ENVIR = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then
export COMIN_OBS=${COMIN_OBS:-$ROTDIR/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$ROTDIR/$GDUMP.$gPDY/$gcyc/$COMPONENT}
export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT}
export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$GDUMP.$gPDY/$gcyc/$COMPONENT}
else
export COMIN_OBS="$DMPDIR/$CDATE/$CDUMP"
export COMIN_GES_OBS="$DMPDIR/$GDATE/$GDUMP"
export COMIN_OBS="$DMPDIR/$CDUMP.$PDY/$cyc"
export COMIN_GES_OBS="$DMPDIR/$GDUMP.$gPDY/$gcyc"
fi

# COMIN, COMIN_ENS and COMIN_GES_ENS are used in script
Expand All @@ -107,8 +104,7 @@ export COMIN_GES_ENS="$ROTDIR/enkf$CDUMP.$gPDY/$gcyc/$COMPONENT"
###############################################################
# Run relevant script
env
msg="HAS BEGUN on `hostname`"
postmsg "$jlogfile" "$msg"
echo "HAS BEGUN on $(hostname)"
$LOGSCRIPT


Expand All @@ -129,8 +125,7 @@ if [ -e "$pgmout" ] ; then
fi


msg="ENDED NORMALLY."
postmsg "$jlogfile" "$msg"
echo "ENDED NORMALLY."


##########################################
Expand Down
13 changes: 4 additions & 9 deletions jobs/JGDAS_ENKF_FCST
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/bin/ksh
#!/bin/bash
set -x

export RUN_ENVIR=${RUN_ENVIR:-"nco"}
Expand Down Expand Up @@ -58,9 +58,6 @@ export pgmerr=errfile
export CDATE=${CDATE:-${PDY}${cyc}}
export CDUMP=${CDUMP:-${RUN:-"gdas"}}
export COMPONENT=${COMPONENT:-atmos}
if [ $RUN_ENVIR = "nco" ]; then
export ROTDIR=${COMROOT:?}/$NET/$envir
fi


##############################################
Expand All @@ -80,15 +77,14 @@ export FHMAX=$FHMAX_ENKF


# Get ENSBEG/ENSEND from ENSGRP and NMEM_EFCSGRP
export ENSEND=$((NMEM_EFCSGRP * ENSGRP))
export ENSEND=$((NMEM_EFCSGRP * 10#${ENSGRP}))
export ENSBEG=$((ENSEND - NMEM_EFCSGRP + 1))


###############################################################
# Run relevant script
env
msg="HAS BEGUN on `hostname`"
postmsg "$jlogfile" "$msg"
echo "HAS BEGUN on $(hostname)"
$LOGSCRIPT


Expand Down Expand Up @@ -131,8 +127,7 @@ if [ -e "$pgmout" ] ; then
fi


msg="ENDED NORMALLY."
postmsg "$jlogfile" "$msg"
echo "ENDED NORMALLY."


##########################################
Expand Down
Loading

0 comments on commit 60165ce

Please sign in to comment.