diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c8a47a714..e648d8d8a1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) @@ -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}") diff --git a/cmake/Modules/platforms/WCOSS2.cmake b/cmake/Modules/platforms/WCOSS2.cmake new file mode 100644 index 0000000000..d1306d9389 --- /dev/null +++ b/cmake/Modules/platforms/WCOSS2.cmake @@ -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() diff --git a/cmake/Modules/setHOST.cmake b/cmake/Modules/setHOST.cmake index 861e9fc636..289ea86f20 100644 --- a/cmake/Modules/setHOST.cmake +++ b/cmake/Modules/setHOST.cmake @@ -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} ) @@ -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) diff --git a/cmake/Modules/setIntelFlags.cmake b/cmake/Modules/setIntelFlags.cmake index 88e5061ffc..3a23012828 100644 --- a/cmake/Modules/setIntelFlags.cmake +++ b/cmake/Modules/setIntelFlags.cmake @@ -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) diff --git a/cmake/Modules/setPlatformVariables.cmake b/cmake/Modules/setPlatformVariables.cmake index 9938e090f0..fc8d1501ad 100644 --- a/cmake/Modules/setPlatformVariables.cmake +++ b/cmake/Modules/setPlatformVariables.cmake @@ -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) diff --git a/fix b/fix index 13a7400832..e736047b11 160000 --- a/fix +++ b/fix @@ -1 +1 @@ -Subproject commit 13a7400832de6ba16917c3c220c5da58ba3a52f0 +Subproject commit e736047b11c40a925570c71872eed847a7748918 diff --git a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG index 81b580e96b..7f71a62b43 100755 --- a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG +++ b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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"} @@ -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 @@ -116,8 +113,7 @@ fi ############################################################### # Run relevant script env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" +echo "HAS BEGUN on $(hostname)" $LOGSCRIPT @@ -138,8 +134,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ATMOS_CHGRES_FORENKF b/jobs/JGDAS_ATMOS_CHGRES_FORENKF index 78a1d384bd..e4757277f7 100755 --- a/jobs/JGDAS_ATMOS_CHGRES_FORENKF +++ b/jobs/JGDAS_ATMOS_CHGRES_FORENKF @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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"} @@ -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 @@ -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 @@ -123,8 +119,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ENKF_DIAG b/jobs/JGDAS_ENKF_DIAG index 612e5a633a..f6423b5fd9 100755 --- a/jobs/JGDAS_ENKF_DIAG +++ b/jobs/JGDAS_ENKF_DIAG @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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 ############################################## @@ -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 @@ -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 @@ -153,8 +148,7 @@ done ############################################################### # Run relevant script env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" +echo "HAS BEGUN on $(hostname)" $LOGSCRIPT @@ -175,8 +169,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ENKF_ECEN b/jobs/JGDAS_ENKF_ECEN index c185ed7c3b..1df650ce76 100755 --- a/jobs/JGDAS_ENKF_ECEN +++ b/jobs/JGDAS_ENKF_ECEN @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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 ############################################## @@ -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 @@ -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 @@ -129,8 +125,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ENKF_FCST b/jobs/JGDAS_ENKF_FCST index 60da5e7063..88d61c0870 100755 --- a/jobs/JGDAS_ENKF_FCST +++ b/jobs/JGDAS_ENKF_FCST @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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 ############################################## @@ -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 @@ -131,8 +127,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ENKF_POST b/jobs/JGDAS_ENKF_POST index 0aaac99afe..7309305c0f 100755 --- a/jobs/JGDAS_ENKF_POST +++ b/jobs/JGDAS_ENKF_POST @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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 ############################################## @@ -81,8 +78,7 @@ export LEVS=$((LEVS-1)) ############################################################### # Run relevant script env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" +echo "HAS BEGUN on $(hostname)" $LOGSCRIPT @@ -103,8 +99,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ENKF_SELECT_OBS b/jobs/JGDAS_ENKF_SELECT_OBS index 4dc7948223..fc455ee8e4 100755 --- a/jobs/JGDAS_ENKF_SELECT_OBS +++ b/jobs/JGDAS_ENKF_SELECT_OBS @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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 ############################################## @@ -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 @@ -108,15 +105,13 @@ status=$? [[ $status -ne 0 ]] && exit $status # 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 @@ -155,8 +150,7 @@ done ############################################################### # Run relevant script env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" +echo "HAS BEGUN on $(hostname)" $LOGSCRIPT @@ -185,8 +179,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ENKF_SFC b/jobs/JGDAS_ENKF_SFC index a143b829dc..043e8ecde4 100755 --- a/jobs/JGDAS_ENKF_SFC +++ b/jobs/JGDAS_ENKF_SFC @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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 ############################################## @@ -90,15 +87,16 @@ 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 export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" +export COMIN_GES="$ROTDIR/$CDUMP.$gPDY/$gcyc/$COMPONENT" export COMIN_ENS="$ROTDIR/enkf$CDUMP_ENKF.$PDY/$cyc/$COMPONENT" export COMOUT_ENS="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT" export COMIN_GES_ENS="$ROTDIR/enkf$CDUMP.$gPDY/$gcyc/$COMPONENT" @@ -107,8 +105,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 @@ -129,8 +126,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGDAS_ENKF_UPDATE b/jobs/JGDAS_ENKF_UPDATE index 56c4c6027d..07bf37f7f8 100755 --- a/jobs/JGDAS_ENKF_UPDATE +++ b/jobs/JGDAS_ENKF_UPDATE @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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 ############################################## @@ -85,8 +82,7 @@ export COMOUT_ANL_ENS="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT" ############################################################### # Run relevant script env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" +echo "HAS BEGUN on $(hostname)" $LOGSCRIPT ${ENKFUPDSH:-$SCRgfs/exgdas_enkf_update.sh} @@ -114,8 +110,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS b/jobs/JGLOBAL_ATMOS_ANALYSIS index 34422e745b..e2937a89a5 100755 --- a/jobs/JGLOBAL_ATMOS_ANALYSIS +++ b/jobs/JGLOBAL_ATMOS_ANALYSIS @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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"} @@ -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 @@ -125,22 +122,19 @@ fi # Link observational data -export PREPQC="${COMOUT}/${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="${COMOUT}/${OPREFIX}prepbufr.acft_profiles" +export PREPQCPF="${COMIN_OBS}/${OPREFIX}prepbufr.acft_profiles" export TCVITL="${COMOUT}/${OPREFIX}syndata.tcvitals.tm00" -[[ $DONST = "YES" ]] && export NSSTBF="${COMOUT}/${OPREFIX}nsstbufr" +[[ $DONST = "YES" ]] && export NSSTBF="${COMIN_OBS}/${OPREFIX}nsstbufr" ############################################################### # Run relevant script env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" +echo "HAS BEGUN on $(hostname)" $LOGSCRIPT @@ -171,8 +165,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC index 1b3c3e1030..88818c46fe 100755 --- a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC +++ b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash set -x export RUN_ENVIR=${RUN_ENVIR:-"nco"} @@ -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"} @@ -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 @@ -131,8 +128,7 @@ export DOGAUSFCANL=${DOGAUSFCANL:-"YES"} ############################################################### # Run relevant script env -msg="HAS BEGUN on `hostname`" -postmsg "$jlogfile" "$msg" +echo "HAS BEGUN on $(hostname)" $LOGSCRIPT @@ -153,8 +149,7 @@ if [ -e "$pgmout" ] ; then fi -msg="ENDED NORMALLY." -postmsg "$jlogfile" "$msg" +echo "ENDED NORMALLY." ########################################## diff --git a/modulefiles/modulefile.ProdGSI.hera b/modulefiles/modulefile.ProdGSI.hera deleted file mode 100644 index 246eb3cd46..0000000000 --- a/modulefiles/modulefile.ProdGSI.hera +++ /dev/null @@ -1,45 +0,0 @@ -#%Module###################################################################### -# NOAA-EMC/GSI -#_____________________________________________________ -#proc ModulesHelp { } { -#puts stderr "Set environment variables for NOAA-EMC/GSI" -#puts stderr "This module initializes the environment " -#puts stderr "for the Intel Compiler Suite $version\n" -##} -#module-whatis " NOAA-EMC/GSI whatis description" - -setenv CRTM_FIX /scratch2/NCEPDEV/nwprod/NCEPLIBS/fix/crtm_v2.3.0 - -# Load cmake -module use -a /contrib/cmake/modulefiles -module load cmake/3.16.1 - -# Load hpc-stack -module use /scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 - -# Load intel compiler and mpi -module load hpc-intel/18.0.5.274 -module load hpc-impi/2018.0.4 - -# Load python -# Note: anaconda/2.3.0 requires intel be loaded prior to anaconda -module use -a /contrib/anaconda/modulefiles -module load anaconda/2.3.0 - -# Load production utilities -module load prod_util/1.2.2 - -# Load nceplibs -module load bufr/11.4.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load bacio/2.4.1 -module load crtm/2.3.0 -module load netcdf/4.7.4 -module load wrf_io/1.2.0 diff --git a/modulefiles/modulefile.ProdGSI.hera.lua b/modulefiles/modulefile.ProdGSI.hera.lua new file mode 100644 index 0000000000..ff73a3c513 --- /dev/null +++ b/modulefiles/modulefile.ProdGSI.hera.lua @@ -0,0 +1,63 @@ +help([[ +Load environment to compile GSI on Hera +]]) + +prepend_path("MODULEPATH", "/scratch2/NCEPDEV/nwprod/hpc-stack/libs/hpc-stack/modulefiles/stack") + +hpc_ver=os.getenv("hpc_ver") or "1.1.0" +load(pathJoin("hpc", hpc_ver)) + +hpc_intel_ver=os.getenv("hpc_intel_ver") or "18.0.5.274" +load(pathJoin("hpc-intel", hpc_intel_ver)) + +impi_ver=os.getenv("hpc_impi_ver") or "2018.0.4" +load(pathJoin("hpc-impi", hpc_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.16.1" +load(pathJoin("cmake", cmake_ver)) + +prepend_path("MODULEPATH", "/contrib/anaconda/modulefiles") + +anaconda_ver=os.getenv("anaconda_ver") or "2.3.0" +load(pathJoin("anaconda", anaconda_ver)) + +prod_util_ver=os.getenv("prod_util_ver") or "1.2.2" +load(pathJoin("prod_util", prod_util_ver)) + +bufr_ver=os.getenv("bufr_ver") or "11.4.0" +load(pathJoin("bufr", bufr_ver)) + +ip_ver=os.getenv("ip_ver") or "3.3.3" +load(pathJoin("ip", ip_ver)) + +nemsio_ver=os.getenv("nemsio_ver") or "2.5.2" +load(pathJoin("nemsio", nemsio_ver)) + +sfcio_ver=os.getenv("sfcio_ver") or "1.4.1" +load(pathJoin("sfcio", sfcio_ver)) + +sigio_ver=os.getenv("sigio_ver") or "2.3.2" +load(pathJoin("sigio", sigio_ver)) + +sp_ver=os.getenv("sp_ver") or "2.3.3" +load(pathJoin("sp", sp_ver)) + +w3nco_ver=os.getenv("w3nco_ver") or "2.4.1" +load(pathJoin("w3nco", w3nco_ver)) + +w3emc_ver=os.getenv("w3emc_ver") or "2.9.2" +load(pathJoin("w3emc", w3emc_ver)) + +bacio_ver=os.getenv("bacio_ver") or "2.4.1" +load(pathJoin("bacio", bacio_ver)) + +crtm_ver=os.getenv("crtm_ver") or "2.3.0" +load(pathJoin("crtm", crtm_ver)) + +netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +load(pathJoin("netcdf", netcdf_ver)) + +wrf_io_ver=os.getenv("wrf_io_ver") or "1.2.0" +load(pathJoin("wrf_io", wrf_io_ver)) + +whatis("Description: GSI build environment") diff --git a/modulefiles/modulefile.ProdGSI.orion b/modulefiles/modulefile.ProdGSI.orion deleted file mode 100644 index 5c4d35247e..0000000000 --- a/modulefiles/modulefile.ProdGSI.orion +++ /dev/null @@ -1,50 +0,0 @@ -#%Module###################################################################### -# NOAA-EMC/GSI -#_____________________________________________________ -#proc ModulesHelp { } { -#puts stderr "Set environment variables for NOAA-EMC/GSI" -#puts stderr "This module initializes the environment " -#puts stderr "for the Intel Compiler Suite $version\n" -##} -#module-whatis " NOAA-EMC/GSI whatis description" - -setenv CRTM_FIX /apps/contrib/NCEPLIBS/orion/fix/crtm_v2.3.0 - -# Load cmake -module load cmake/3.17.3 - -# Load python -module load python/3.7.5 - -# Load hpc-stack -module use /apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack -module load hpc/1.1.0 - -# Load intel compiler and mpi -# -# Note: hpc-intel/2018.4 erroneously loads mkl/2020.2. hpc-stack -# PR 173 submitted to resolves this. Until then, unload mkl/2020.2 -# after loading hpc-intel/2018.4 and load mkl/2018.4 to ensure -# consistency -# -module load hpc-intel/2018.4 -module unload mkl/2020.2 -module load mkl/2018.4 -module load hpc-impi/2018.4 - -# Load production utilities -module load prod_util/1.2.2 - -# Load nceplibs -module load bufr/11.4.0 -module load ip/3.3.3 -module load nemsio/2.5.2 -module load sfcio/1.4.1 -module load sigio/2.3.2 -module load sp/2.3.3 -module load w3nco/2.4.1 -module load w3emc/2.7.3 -module load bacio/2.4.1 -module load crtm/2.3.0 -module load netcdf/4.7.4 -module load wrf_io/1.2.0 diff --git a/modulefiles/modulefile.ProdGSI.orion.lua b/modulefiles/modulefile.ProdGSI.orion.lua new file mode 100644 index 0000000000..9f20e325e5 --- /dev/null +++ b/modulefiles/modulefile.ProdGSI.orion.lua @@ -0,0 +1,61 @@ +help([[ +Load environment to compile GSI on Orion +]]) + +prepend_path("MODULEPATH", "/apps/contrib/NCEP/libs/hpc-stack/modulefiles/stack") + +hpc_ver=os.getenv("hpc_ver") or "1.1.0" +load(pathJoin("hpc", hpc_ver)) + +hpc_intel_ver=os.getenv("hpc_intel_ver") or "2018.4" +load(pathJoin("hpc-intel", hpc_intel_ver)) + +impi_ver=os.getenv("hpc_impi_ver") or "2018.4" +load(pathJoin("hpc-impi", hpc_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.17.3" +load(pathJoin("cmake", cmake_ver)) + +python_ver=os.getenv("python_ver") or "3.7.5" +load(pathJoin("python", python_ver)) + +prod_util_ver=os.getenv("prod_util_ver") or "1.2.2" +load(pathJoin("prod_util", prod_util_ver)) + +bufr_ver=os.getenv("bufr_ver") or "11.4.0" +load(pathJoin("bufr", bufr_ver)) + +ip_ver=os.getenv("ip_ver") or "3.3.3" +load(pathJoin("ip", ip_ver)) + +nemsio_ver=os.getenv("nemsio_ver") or "2.5.2" +load(pathJoin("nemsio", nemsio_ver)) + +sfcio_ver=os.getenv("sfcio_ver") or "1.4.1" +load(pathJoin("sfcio", sfcio_ver)) + +sigio_ver=os.getenv("sigio_ver") or "2.3.2" +load(pathJoin("sigio", sigio_ver)) + +sp_ver=os.getenv("sp_ver") or "2.3.3" +load(pathJoin("sp", sp_ver)) + +w3nco_ver=os.getenv("w3nco_ver") or "2.4.1" +load(pathJoin("w3nco", w3nco_ver)) + +w3emc_ver=os.getenv("w3emc_ver") or "2.9.2" +load(pathJoin("w3emc", w3emc_ver)) + +bacio_ver=os.getenv("bacio_ver") or "2.4.1" +load(pathJoin("bacio", bacio_ver)) + +crtm_ver=os.getenv("crtm_ver") or "2.3.0" +load(pathJoin("crtm", crtm_ver)) + +netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +load(pathJoin("netcdf", netcdf_ver)) + +wrf_io_ver=os.getenv("wrf_io_ver") or "1.2.0" +load(pathJoin("wrf_io", wrf_io_ver)) + +whatis("Description: GSI build environment") diff --git a/modulefiles/modulefile.ProdGSI.wcoss2.lua b/modulefiles/modulefile.ProdGSI.wcoss2.lua new file mode 100644 index 0000000000..c61bdc0f88 --- /dev/null +++ b/modulefiles/modulefile.ProdGSI.wcoss2.lua @@ -0,0 +1,45 @@ +help([[ +Load environment to run GSI on WCOSS2 +]]) + +local PrgEnv_intel_ver=os.getenv("PrgEnv_intel_ver") or "8.1.0" +local intel_ver=os.getenv("intel_ver") or "19.1.3.304" +local craype_ver=os.getenv("craype_ver") or "2.7.8" +local cray_mpich_ver=os.getenv("cray_mpich_ver") or "8.1.7" +local cmake_ver= os.getenv("cmake_ver") or "3.20.2" +local python_ver=os.getenv("python_ver") or "3.8.6" +local bacio_ver=os.getenv("bacio_ver") or "2.4.1" +local bufr_ver= os.getenv("bufr_ver") or "11.5.0" +local crtm_ver=os.getenv("crtm_ver") or "2.3.0" +local ip_ver=os.getenv("ip_ver") or "3.3.3" +local nemsio_ver=os.getenv("nemsio_ver") or "2.5.2" +local prod_util_ver= os.getenv("prod_util_ver") or "2.0.10" +local sfcio_ver=os.getenv("sfcio_ver") or "1.4.1" +local sigio_ver=os.getenv("sigio_ver") or "2.3.2" +local sp_ver=os.getenv("sp_ver") or "2.3.3" +local w3emc_ver=os.getenv("w3emc_ver") or "2.9.2" +local w3nco_ver=os.getenv("w3nco_ver") or "2.4.1" +local netcdf_ver=os.getenv("netcdf_ver") or "4.7.4" +local wrf_io_ver=os.getenv("wrf_io_ver") or "1.2.0" + +load(pathJoin("PrgEnv-intel", PrgEnv_intel_ver)) +load(pathJoin("intel", intel_ver)) +load(pathJoin("craype", craype_ver)) +load(pathJoin("cray-mpich", cray_mpich_ver)) +load(pathJoin("cmake", cmake_ver)) +load(pathJoin("python", python_ver)) +load(pathJoin("bacio", bacio_ver)) +load(pathJoin("bufr", bufr_ver)) +load(pathJoin("crtm", crtm_ver)) +load(pathJoin("ip", ip_ver)) +load(pathJoin("nemsio", nemsio_ver)) +load(pathJoin("prod_util", prod_util_ver)) +load(pathJoin("sfcio", sfcio_ver)) +load(pathJoin("sigio", sigio_ver)) +load(pathJoin("sp", sp_ver)) +load(pathJoin("w3emc", w3emc_ver)) +load(pathJoin("w3nco", w3nco_ver)) +load(pathJoin("netcdf", netcdf_ver)) +load(pathJoin("wrf_io", wrf_io_ver)) + +whatis("Description: GSI run environment") diff --git a/scripts/exgdas_atmos_chgres_forenkf.sh b/scripts/exgdas_atmos_chgres_forenkf.sh index 416d58a2cc..805b8be6d0 100755 --- a/scripts/exgdas_atmos_chgres_forenkf.sh +++ b/scripts/exgdas_atmos_chgres_forenkf.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . diff --git a/scripts/exgdas_enkf_ecen.sh b/scripts/exgdas_enkf_ecen.sh index d15d568ebc..f3671968ff 100755 --- a/scripts/exgdas_enkf_ecen.sh +++ b/scripts/exgdas_enkf_ecen.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . diff --git a/scripts/exgdas_enkf_fcst.sh b/scripts/exgdas_enkf_fcst.sh index 2730055f19..3263115057 100755 --- a/scripts/exgdas_enkf_fcst.sh +++ b/scripts/exgdas_enkf_fcst.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . diff --git a/scripts/exgdas_enkf_post.sh b/scripts/exgdas_enkf_post.sh index 2987e51d62..ebf877b3cc 100755 --- a/scripts/exgdas_enkf_post.sh +++ b/scripts/exgdas_enkf_post.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . diff --git a/scripts/exgdas_enkf_select_obs.sh b/scripts/exgdas_enkf_select_obs.sh index 9be02ff768..4a0f0d3ee3 100755 --- a/scripts/exgdas_enkf_select_obs.sh +++ b/scripts/exgdas_enkf_select_obs.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . @@ -71,8 +71,7 @@ cd $DATA || exit 8 ################################################################################ # ObsInput file from ensemble mean -rm -f obs_input* -rm -f obsinput.tar +rm -f obs*input* $NLN $SELECT_OBS obsinput.tar # Whether to save or skip obs diff --git a/scripts/exgdas_enkf_sfc.sh b/scripts/exgdas_enkf_sfc.sh index 2be78dc060..407a6097a7 100755 --- a/scripts/exgdas_enkf_sfc.sh +++ b/scripts/exgdas_enkf_sfc.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . @@ -105,11 +105,11 @@ LONB_CASE=$((res*4)) # Global cycle requires these files export FNTSFA=${FNTSFA:-' '} -export FNACNA=${FNACNA:-$COMIN_OBS/${OPREFIX}seaice.5min.blend.grb} -export FNSNOA=${FNSNOA:-$COMIN_OBS/${OPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}} -[[ ! -f $FNSNOA ]] && export FNSNOA="$COMIN_OBS/${OPREFIX}snogrb_t1534.3072.1536" -FNSNOG=${FNSNOG:-$COMIN_GES_OBS/${GPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}} -[[ ! -f $FNSNOG ]] && FNSNOG="$COMIN_GES_OBS/${GPREFIX}snogrb_t1534.3072.1536" +export FNACNA=${FNACNA:-$COMIN/${OPREFIX}seaice.5min.blend.grb} +export FNSNOA=${FNSNOA:-$COMIN/${OPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}} +[[ ! -f $FNSNOA ]] && export FNSNOA="$COMIN/${OPREFIX}snogrb_t1534.3072.1536" +FNSNOG=${FNSNOG:-$COMIN_GES/${GPREFIX}snogrb_t${JCAP_CASE}.${LONB_CASE}.${LATB_CASE}} +[[ ! -f $FNSNOG ]] && FNSNOG="$COMIN_GES/${GPREFIX}snogrb_t1534.3072.1536" # Set CYCLVARS by checking grib date of current snogrb vs that of prev cycle if [ ${RUN_GETGES:-"NO"} = "YES" ]; then diff --git a/scripts/exgdas_enkf_update.sh b/scripts/exgdas_enkf_update.sh index 2a35234217..248912ae46 100755 --- a/scripts/exgdas_enkf_update.sh +++ b/scripts/exgdas_enkf_update.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . diff --git a/scripts/exglobal_atmos_analysis.sh b/scripts/exglobal_atmos_analysis.sh index 3f5a8134a2..7e735b1d5e 100755 --- a/scripts/exglobal_atmos_analysis.sh +++ b/scripts/exglobal_atmos_analysis.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . @@ -439,8 +439,8 @@ fi # CRTM Spectral and Transmittance coefficients mkdir -p crtm_coeffs for file in $(awk '{if($1!~"!"){print $1}}' satinfo | sort | uniq); do - $NLN $RTMFIX/${file}.SpcCoeff.bin ./crtm_coeffs/ - $NLN $RTMFIX/${file}.TauCoeff.bin ./crtm_coeffs/ + $NLN $RTMFIX/${file}.SpcCoeff.bin ./crtm_coeffs/${file}.SpcCoeff.bin + $NLN $RTMFIX/${file}.TauCoeff.bin ./crtm_coeffs/${file}.TauCoeff.bin done $NLN $RTMFIX/amsua_metop-a_v2.SpcCoeff.bin ./crtm_coeffs/amsua_metop-a_v2.SpcCoeff.bin @@ -604,7 +604,7 @@ if [ $GENDIAG = "YES" ] ; then rm -rf $DIAG_DIR fi npe_m1="$(($npe_gsi-1))" - for pe in {0..$npe_m1}; do + for pe in $(seq 0 $npe_m1); do pedir="dir."$(printf %04i $pe) mkdir -p $DIAG_DIR/$pedir $NLN $DIAG_DIR/$pedir $pedir diff --git a/scripts/exglobal_atmos_analysis_calc.sh b/scripts/exglobal_atmos_analysis_calc.sh index 13e53874fa..5160815b44 100755 --- a/scripts/exglobal_atmos_analysis_calc.sh +++ b/scripts/exglobal_atmos_analysis_calc.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . diff --git a/scripts/exglobal_diag.sh b/scripts/exglobal_diag.sh index 748f15c74f..c36d5328e5 100755 --- a/scripts/exglobal_diag.sh +++ b/scripts/exglobal_diag.sh @@ -1,4 +1,4 @@ -#!/bin/ksh +#!/bin/bash ################################################################################ #### UNIX Script Documentation Block # . . diff --git a/src/enkf/CMakeLists.txt b/src/enkf/CMakeLists.txt index 394c6b52b5..62ad46c4d2 100644 --- a/src/enkf/CMakeLists.txt +++ b/src/enkf/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_ENKF) enable_language (Fortran) set(Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include") diff --git a/src/fv3gfs_ncio/CMakeLists.txt b/src/fv3gfs_ncio/CMakeLists.txt index 08474d7eba..c68eda3841 100644 --- a/src/fv3gfs_ncio/CMakeLists.txt +++ b/src/fv3gfs_ncio/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_FV3GFS_NCIO) set(Fortran_MODULE_DIRECTORY "${PROJECT_BINARY_DIR}/include") # NetCDF-4 library diff --git a/src/gsi/CMakeLists.txt b/src/gsi/CMakeLists.txt index 7621690929..d31327040b 100644 --- a/src/gsi/CMakeLists.txt +++ b/src/gsi/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.16.1) # need to set CMP0046 when using add_dependencies with cmake version 3.6.2 if(crayComp) cmake_policy(SET CMP0046 NEW) diff --git a/src/gsi/ensctl2state.f90 b/src/gsi/ensctl2state.f90 index f371232016..4214b01d85 100644 --- a/src/gsi/ensctl2state.f90 +++ b/src/gsi/ensctl2state.f90 @@ -67,7 +67,9 @@ subroutine ensctl2state(xhat,mval,eval) 'q ', 'cw ', 'w ', 'dw '/) logical :: lc_sf,lc_vp,lc_ps,lc_t,lc_rh,lc_cw logical :: lc_w,lc_dw -real(r_kind),pointer,dimension(:,:,:) :: cv_sf,cv_vp,cv_rh +real(r_kind),pointer,dimension(:,:,:) :: cv_sf=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: cv_vp=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: cv_rh=>NULL() ! Declare required local state variables integer(i_kind), parameter :: nsvars = 13 integer(i_kind) :: isps(nsvars) @@ -77,9 +79,18 @@ subroutine ensctl2state(xhat,mval,eval) logical :: ls_u,ls_v,ls_prse,ls_q,ls_tsen,ls_ql,ls_qi logical :: ls_qr,ls_qs,ls_qg,ls_qh logical :: ls_w,ls_dw -real(r_kind),pointer,dimension(:,:) :: sv_ps,sv_sst -real(r_kind),pointer,dimension(:,:,:) :: sv_u,sv_v,sv_prse,sv_q,sv_tsen,sv_tv,sv_oz -real(r_kind),pointer,dimension(:,:,:) :: sv_rank3,sv_w,sv_dw +real(r_kind),pointer,dimension(:,:) :: sv_ps=>NULL() +real(r_kind),pointer,dimension(:,:) :: sv_sst=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_u=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_v=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_prse=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_q=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_tsen=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_tv=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_oz=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_rank3=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_w=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: sv_dw=>NULL() logical :: do_getprs_tl,do_normal_rh_to_q,do_tv_to_tsen,do_getuv,lstrong_bk_vars logical :: do_tlnmc,do_q_copy diff --git a/src/gsi/ensctl2state_ad.f90 b/src/gsi/ensctl2state_ad.f90 index 91a45035bf..212d0312c9 100644 --- a/src/gsi/ensctl2state_ad.f90 +++ b/src/gsi/ensctl2state_ad.f90 @@ -66,7 +66,9 @@ subroutine ensctl2state_ad(eval,mval,grad) 'q ', 'cw ', 'w ', 'dw '/) logical :: lc_sf,lc_vp,lc_ps,lc_t,lc_rh,lc_cw logical :: lc_w,lc_dw -real(r_kind),pointer,dimension(:,:,:) :: cv_sf,cv_vp,cv_rh +real(r_kind),pointer,dimension(:,:,:) :: cv_sf=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: cv_vp=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: cv_rh=>NULL() ! Declare required local state variables integer(i_kind), parameter :: nsvars = 13 integer(i_kind) :: isps(nsvars) @@ -76,9 +78,18 @@ subroutine ensctl2state_ad(eval,mval,grad) logical :: ls_u,ls_v,ls_prse,ls_q,ls_tsen,ls_ql,ls_qi logical :: ls_qr,ls_qs,ls_qg,ls_qh logical :: ls_w,ls_dw -real(r_kind),pointer,dimension(:,:) :: rv_ps,rv_sst -real(r_kind),pointer,dimension(:,:,:) :: rv_u,rv_v,rv_prse,rv_q,rv_tsen,rv_tv,rv_oz -real(r_kind),pointer,dimension(:,:,:) :: rv_rank3,rv_w,rv_dw +real(r_kind),pointer,dimension(:,:) :: rv_ps=>NULL() +real(r_kind),pointer,dimension(:,:) :: rv_sst=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_u=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_v=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_prse=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_q=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_tsen=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_tv=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_oz=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_rank3=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_w=>NULL() +real(r_kind),pointer,dimension(:,:,:) :: rv_dw=>NULL() logical :: do_getuv,do_tv_to_tsen_ad,do_normal_rh_to_q_ad,do_getprs_ad,lstrong_bk_vars logical :: do_tlnmc,do_q_copy diff --git a/src/gsi/read_obs.F90 b/src/gsi/read_obs.F90 index 7541ac9145..53b0723953 100644 --- a/src/gsi/read_obs.F90 +++ b/src/gsi/read_obs.F90 @@ -2001,7 +2001,7 @@ subroutine read_obs(ndata,mype) ! Write collective obs selection information to scratch file. if (lread_obs_save .and. mype==0) then write(6,*)'READ_OBS: write collective obs selection info to ',trim(obs_input_common) - call unformatted_open(lunsave,file=obs_input_common,class=".obs_input.") + call unformatted_open(lunsave,file=obs_input_common,class=".obs_input.",silent=.true.) write(lunsave) ndata,ndat,npe,superp,nprof_gps,ditype write(lunsave) super_val1 write(lunsave) nobs_sub diff --git a/src/ncdiag/CMakeLists.txt b/src/ncdiag/CMakeLists.txt index b47de6949a..93c0ce9156 100644 --- a/src/ncdiag/CMakeLists.txt +++ b/src/ncdiag/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_NCDIAG) if(BUILD_NCDIAG_SERIAL) add_subdirectory(serial) diff --git a/src/ncdiag/serial/CMakeLists.txt b/src/ncdiag/serial/CMakeLists.txt index 8d991fb3b3..cdd6e44987 100644 --- a/src/ncdiag/serial/CMakeLists.txt +++ b/src/ncdiag/serial/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_NCDIAG) if( NOT USE_BASELIBS ) diff --git a/ush/build_all_cmake.sh b/ush/build_all_cmake.sh index c3c12d808b..536242d0bc 100755 --- a/ush/build_all_cmake.sh +++ b/ush/build_all_cmake.sh @@ -53,8 +53,8 @@ elif [[ -d /discover ]] ; then elif [[ -d /work ]]; then . $MODULESHOME/init/sh target=orion -elif [[ -d /lfs/h1 ]] ; then - target=acorn +elif [[ -d /lfs/h2 ]] ; then + target=wcoss2 else echo "unknown target = $target" exit 9 @@ -94,10 +94,11 @@ elif [ $target = wcoss_c ]; then module load $dir_modules/modulefile.ProdGSI.$target elif [ $target = discover ]; then module load $dir_modules/modulefile.ProdGSI.$target -elif [ $target = acorn ]; then - source /apps/prod/lmodules/startLmod +elif [ $target = wcoss2 ]; then + module reset module use $dir_modules module load modulefile.ProdGSI.$target + module list else module purge source $dir_modules/modulefile.ProdGSI.$target diff --git a/ush/calcanl_gfs.py b/ush/calcanl_gfs.py index bf328aaa06..b1bf77a9f6 100755 --- a/ush/calcanl_gfs.py +++ b/ush/calcanl_gfs.py @@ -163,6 +163,25 @@ def calcanl_gfs(DoIAU, l4DEnsVar, Write4Danl, ComOut, APrefix, ASuffix, ExecCMDMPILevs_nohost = 'mpirun -np '+str(levs) ExecCMDMPI1_host = 'mpirun -np 1 --hostfile hosts' ExecCMDMPI10_host = 'mpirun -np 10 --hostfile hosts' + elif launcher == 'mpiexec': + hostfile = os.getenv('PBS_NODEFILE','') + with open(hostfile) as f: + hosts_tmp = f.readlines() + hosts_tmp = [x.strip() for x in hosts_tmp] + hosts = [] + [hosts.append(x) for x in hosts_tmp if x not in hosts] + nhosts = len(hosts) + ExecCMDMPI_host = 'mpiexec -l -n '+str(nFH) + tasks = int(os.getenv('ntasks',1)) + print('nhosts,tasks=', nhosts, tasks) + if levs > tasks: + ExecCMDMPILevs_host = 'mpiexec -l -n '+str(tasks) + ExecCMDMPILevs_nohost = 'mpiexec -l -n '+str(tasks) + else: + ExecCMDMPILevs_host = 'mpiexec -l -n '+str(levs) + ExecCMDMPILevs_nohost = 'mpiexec -l -n '+str(levs) + ExecCMDMPI1_host = 'mpiexec -l -n 1 --cpu-bind depth --depth '+str(NThreads) + ExecCMDMPI10_host = 'mpiexec -l -n 10 --cpu-bind depth --depth '+str(NThreads) elif launcher == 'srun': nodes = os.getenv('SLURM_JOB_NODELIST','') hosts_tmp = subprocess.check_output('scontrol show hostnames '+nodes, shell=True) diff --git a/ush/sub_hera b/ush/sub_hera index bbf4df2222..7aabda3dbf 100755 --- a/ush/sub_hera +++ b/ush/sub_hera @@ -123,6 +123,7 @@ echo "#SBATCH --time=$timew" echo "#SBATCH --nodes=$nodes --ntasks-per-node=$procs --cpus-per-task=$threads" >> $cfile #echo "#SBATCH -j oe" >> $cfile echo "#SBATCH --account=$accnt" >> $cfile +echo "#SBATCH --mem=0" >> $cfile #echo "#SBATCH -V" >> $cfile #echo "#PBS -d" >> $cfile #. $exec >> $cfile @@ -136,7 +137,8 @@ echo "" >>$cfile echo ". /apps/lmod/lmod/init/sh" >> $cfile echo "module purge" >> $cfile -echo "source $gsisrc/modulefiles/modulefile.ProdGSI.hera" >> $cfile +echo "module use $gsisrc/modulefiles" >> $cfile +echo "module load modulefile.ProdGSI.hera" >> $cfile echo "module list" >> $cfile echo "" >>$cfile diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/CMakeLists.txt b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/CMakeLists.txt index 4dd79690f4..34741860e8 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/CMakeLists.txt +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_lev.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB CONMON_GRADS_LEV_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) set(CONMON_GRADS_LEV_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/conmon_grads_lev ) diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_mandlev.fd/CMakeLists.txt b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_mandlev.fd/CMakeLists.txt index 5184f30514..86d8bbe097 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_mandlev.fd/CMakeLists.txt +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_mandlev.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB CONMON_GRADS_MANDLEV_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) set(CONMON_GRADS_MANDLEV_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/conmon_grads_mandlev ) diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfc.fd/CMakeLists.txt b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfc.fd/CMakeLists.txt index 40641e359a..e1e38afaf3 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfc.fd/CMakeLists.txt +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfc.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB CONMON_GRADS_SFC_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) set(CONMON_GRADS_SFC_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/conmon_grads_sfc ) diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/CMakeLists.txt b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/CMakeLists.txt index 71e1356662..74b10dc307 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/CMakeLists.txt +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sfctime.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB CONMON_GRADS_SFCTIME_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/CMakeLists.txt b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/CMakeLists.txt index c989043c7a..b13e9f35b6 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/CMakeLists.txt +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_grads_sig.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB CONMON_GRADS_SIG_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) set(CONMON_GRADS_SIG_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/conmon_grads_sig ) diff --git a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/CMakeLists.txt b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/CMakeLists.txt index 627129f2db..767fdad0eb 100644 --- a/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/CMakeLists.txt +++ b/util/Conventional_Monitor/nwprod/conmon_shared/sorc/conmon_time.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB CONMON_TIME_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) set(CONMON_TIME_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/conmon_time ) diff --git a/util/EnKF/gfs/src/CMakeLists.txt b/util/EnKF/gfs/src/CMakeLists.txt index 31ae3c1dd9..d60c0e3a68 100644 --- a/util/EnKF/gfs/src/CMakeLists.txt +++ b/util/EnKF/gfs/src/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) MACRO(SUBDIRLIST result curdir) FILE(GLOB children RELATIVE ${curdir} ${curdir}/*.fd) SET(dirlist "") diff --git a/util/EnKF/gfs/src/adderrspec.fd/CMakeLists.txt b/util/EnKF/gfs/src/adderrspec.fd/CMakeLists.txt index 842712da0c..8fbcf59afe 100644 --- a/util/EnKF/gfs/src/adderrspec.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/adderrspec.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/adjustps.fd/CMakeLists.txt b/util/EnKF/gfs/src/adjustps.fd/CMakeLists.txt index 32f6b7decc..8df624e3c7 100644 --- a/util/EnKF/gfs/src/adjustps.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/adjustps.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/calc_increment_ens.fd/CMakeLists.txt b/util/EnKF/gfs/src/calc_increment_ens.fd/CMakeLists.txt index e063902e14..389c4cf460 100644 --- a/util/EnKF/gfs/src/calc_increment_ens.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/calc_increment_ens.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) list( REMOVE_ITEM LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/main.f90 ) diff --git a/util/EnKF/gfs/src/calc_increment_ens_ncio.fd/CMakeLists.txt b/util/EnKF/gfs/src/calc_increment_ens_ncio.fd/CMakeLists.txt index 5854233ffa..feadd301d6 100644 --- a/util/EnKF/gfs/src/calc_increment_ens_ncio.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/calc_increment_ens_ncio.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) list( REMOVE_ITEM LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/main.f90 ) diff --git a/util/EnKF/gfs/src/calc_increment_ncio.fd/CMakeLists.txt b/util/EnKF/gfs/src/calc_increment_ncio.fd/CMakeLists.txt index 716d9019e9..416943dc6b 100644 --- a/util/EnKF/gfs/src/calc_increment_ncio.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/calc_increment_ncio.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) list( REMOVE_ITEM LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/main.f90 ) diff --git a/util/EnKF/gfs/src/calc_increment_serial.fd/CMakeLists.txt b/util/EnKF/gfs/src/calc_increment_serial.fd/CMakeLists.txt index 406281cd3a..207015c324 100644 --- a/util/EnKF/gfs/src/calc_increment_serial.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/calc_increment_serial.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) list( REMOVE_ITEM LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/main.f90 ) diff --git a/util/EnKF/gfs/src/getnstensmeanp.fd/CMakeLists.txt b/util/EnKF/gfs/src/getnstensmeanp.fd/CMakeLists.txt index 5bdfe3299d..3f62c20236 100644 --- a/util/EnKF/gfs/src/getnstensmeanp.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/getnstensmeanp.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/getsfcensmeanp.fd/CMakeLists.txt b/util/EnKF/gfs/src/getsfcensmeanp.fd/CMakeLists.txt index 9750cbc97c..9912682da7 100644 --- a/util/EnKF/gfs/src/getsfcensmeanp.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/getsfcensmeanp.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/getsfcnstensupdp.fd/CMakeLists.txt b/util/EnKF/gfs/src/getsfcnstensupdp.fd/CMakeLists.txt index e88f495651..51ff265023 100644 --- a/util/EnKF/gfs/src/getsfcnstensupdp.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/getsfcnstensupdp.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.F90 ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) diff --git a/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/CMakeLists.txt b/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/CMakeLists.txt index ce102ee833..2c75ccdd09 100644 --- a/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/getsigensmeanp_smooth.fd/CMakeLists.txt @@ -1,7 +1,7 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) - set(LOCAL_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone ${OpenMP_Fortran_FLAGS}" ) + set(LOCAL_Fortran_FLAGS "-O3 -fp-model source -convert big_endian -assume byterecl -implicitnone -g -traceback ${OpenMP_Fortran_FLAGS}" ) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${LOCAL_Fortran_FLAGS} ) add_executable(getsigensmeanp_smooth.x ${LOCAL_SRC} ) diff --git a/util/EnKF/gfs/src/getsigensstatp.fd/CMakeLists.txt b/util/EnKF/gfs/src/getsigensstatp.fd/CMakeLists.txt index dfbf5ca596..180a8896c3 100644 --- a/util/EnKF/gfs/src/getsigensstatp.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/getsigensstatp.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/gribmean.fd/CMakeLists.txt b/util/EnKF/gfs/src/gribmean.fd/CMakeLists.txt index 2b3a51f4c7..ee609630b4 100644 --- a/util/EnKF/gfs/src/gribmean.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/gribmean.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/recenterens_ncio.fd/CMakeLists.txt b/util/EnKF/gfs/src/recenterens_ncio.fd/CMakeLists.txt index 7e347146f2..19035c6863 100644 --- a/util/EnKF/gfs/src/recenterens_ncio.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/recenterens_ncio.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/recenterncio_hybgain.fd/CMakeLists.txt b/util/EnKF/gfs/src/recenterncio_hybgain.fd/CMakeLists.txt index 79199d143f..ee17e9d40c 100644 --- a/util/EnKF/gfs/src/recenterncio_hybgain.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/recenterncio_hybgain.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/recenternemsiop_hybgain.fd/CMakeLists.txt b/util/EnKF/gfs/src/recenternemsiop_hybgain.fd/CMakeLists.txt index 1566b60fbf..2b097ca949 100644 --- a/util/EnKF/gfs/src/recenternemsiop_hybgain.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/recenternemsiop_hybgain.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/EnKF/gfs/src/recentersigp.fd/CMakeLists.txt b/util/EnKF/gfs/src/recentersigp.fd/CMakeLists.txt index 5c5537a2ef..b720e170d0 100644 --- a/util/EnKF/gfs/src/recentersigp.fd/CMakeLists.txt +++ b/util/EnKF/gfs/src/recentersigp.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) set_source_files_properties( ${LOCAL_SRC} PROPERTIES COMPILE_FLAGS ${UTIL_Fortran_FLAGS} ) diff --git a/util/Minimization_Monitor/nwprod/gdas/jobs/JGDAS_ATMOS_VMINMON b/util/Minimization_Monitor/nwprod/gdas/jobs/JGDAS_ATMOS_VMINMON index 407ddb5826..7e89f33df6 100755 --- a/util/Minimization_Monitor/nwprod/gdas/jobs/JGDAS_ATMOS_VMINMON +++ b/util/Minimization_Monitor/nwprod/gdas/jobs/JGDAS_ATMOS_VMINMON @@ -58,7 +58,7 @@ export p_cyc=`echo ${cdate} | cut -c9-10` ############################################# # TANKverf - WHERE OUTPUT DATA WILL RESIDE ############################################# -export COM_IN=${COM_IN:-${COMROOT}/${NET}/${envir}} +export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})} export M_TANKverf=${M_TANKverf:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}/minmon} export M_TANKverfM1=${M_TANKverfM1:-${COM_IN}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/minmon} diff --git a/util/Minimization_Monitor/nwprod/gfs/jobs/JGFS_ATMOS_VMINMON b/util/Minimization_Monitor/nwprod/gfs/jobs/JGFS_ATMOS_VMINMON index df0485b208..420da031c7 100755 --- a/util/Minimization_Monitor/nwprod/gfs/jobs/JGFS_ATMOS_VMINMON +++ b/util/Minimization_Monitor/nwprod/gfs/jobs/JGFS_ATMOS_VMINMON @@ -57,7 +57,7 @@ export p_cyc=`echo ${cdate} | cut -c9-10` ############################################# # TANKverf - WHERE OUTPUT DATA WILL RESIDE ############################################# -export COM_IN=${COM_IN:-${COMROOT}/${NET}/${envir}} +export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})} M_TANKverf=${M_TANKverf:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}/minmon} export M_TANKverfM1=${M_TANKverfM1:-${COM_IN}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/minmon} diff --git a/util/Ozone_Monitor/CMakeLists.txt b/util/Ozone_Monitor/CMakeLists.txt index 1b4acf7c40..97e24d7e1a 100644 --- a/util/Ozone_Monitor/CMakeLists.txt +++ b/util/Ozone_Monitor/CMakeLists.txt @@ -66,6 +66,7 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) endif() cmake_policy(SET CMP0009 NEW) + cmake_policy(SET CMP0074 NEW) find_package(OpenMP) message("found openmp with flag ${OPENMP_Fortran_FLAGS}") diff --git a/util/Ozone_Monitor/OznMon_install.pl b/util/Ozone_Monitor/OznMon_install.pl index 0c7906d684..5df40683c3 100755 --- a/util/Ozone_Monitor/OznMon_install.pl +++ b/util/Ozone_Monitor/OznMon_install.pl @@ -16,7 +16,8 @@ my $machine = `/usr/bin/perl get_hostname.pl`; my $my_machine="export MY_MACHINE=$machine"; - if( $machine ne "wcoss_c" && $machine ne "hera" && $machine ne "wcoss_d" ) { + if( $machine ne "wcoss_c" && $machine ne "hera" && $machine ne "wcoss_d" && + $machine ne "wcoss2" ) { die( "ERROR --- Unrecognized machine hostname, $machine. Exiting now...\n" ); } else { @@ -62,6 +63,9 @@ elsif( $machine eq "wcoss_c" ){ $tankdir = "/gpfs/hps/emc/da/noscrub/$user_name/nbns"; } + elsif( $machine eq "wcoss2" ){ + $tankdir = "/lfs/h2/emc/da/noscrub/$user_name/nbns"; + } else { $tankdir = "/global/save/$user_name/nbns"; } @@ -209,6 +213,10 @@ $my_ptmp="export OZN_PTMP=\${OZN_PTMP:-/gpfs/hps2/ptmp}"; $my_stmp="export OZN_STMP=\${OZN_STMP:-/gpfs/hps2/stmp}"; } + elsif( $machine eq "wcoss2" ){ + $my_ptmp="export MY_PTMP=\${MY_PTMP:-/lfs/h2/emc/ptmp}"; + $my_stmp="export MY_STMP=\${MY_STMP:-/lfs/h2/emc/stmp}"; + } elsif( $machine eq "hera" ){ $ptmp = "/scratch2/NCEPDEV/stmp3"; @@ -325,61 +333,65 @@ print "\n"; print "Updating parm/OznMon_user_settings\n"; - my $account = "export ACCOUNT=\${ACCOUNT:-fv3-cpu}"; - if( $machine ne "theia" && $machine ne "hera" ) { - $account = "export ACCOUNT=\${ACCOUNT:-}"; + my $account = "export ACCOUNT=\${ACCOUNT:-}"; + if( $machine eq "hera" ) { + $account = "export ACCOUNT=\${ACCOUNT:-fv3-cpu}"; + } elsif( $machine eq "wcoss2" ){ + $account = "export ACCOUNT=\${ACCOUNT:-GFS-DEV}"; } - my $project = "export PROJECT=\${PROJECT:-GFS-DEV}"; - if( $machine ne "wcoss_c" && $machine ne "wcoss_d" ) { + my $project = "export PROJECT=\${PROJECT:-GDAS-T2O}"; + if( $machine eq "wcoss2" ){ + $project = "export PROJECT=\${PROJECT:-GDAS-DEV}"; + } elsif( $machine ne "wcoss_c" && $machine ne "wcoss_d" ) { $project="export PROJECT="; - } + } my $job_queue="export JOB_QUEUE="; - if( $machine eq "wcoss_c" ) { + if( $machine eq "wcoss_c" || $machine eq "wcoss2" ) { $job_queue="export JOB_QUEUE=\${JOB_QUEUE:-dev}"; } elsif( $machine eq "wcoss" || $machine eq "wcoss_d" ){ $job_queue = "export JOB_QUEUE=\${JOB_QUEUE:-dev_shared}"; } - my $uname = $ENV{ 'USER' }; - my $hpss_dir = "export HPSS_DIR=\${HPSS_DIR:-/NCEPDEV/hpssuser/g01/$uname/nbns/stats}"; - - my $outfile = "tmp.file"; - open (OUT, ">", $outfile) || die "Cannot open file ".$outfile." for write"; - - my $infile = "./parm/OznMon_user_settings"; - open (IN, "<", $infile) || die "Cannot open file ".$infile." for read"; - - foreach $line () { - chomp( $line ); - if ($line =~ m/export ACCOUNT/) { - $line = $account; - } - elsif( $line =~ m/export PROJECT/ ){ - $line = $project; - } - elsif( $line =~ m/export JOB_QUEUE/ ){ - $line = $job_queue; - } - elsif( $line =~ m/export HPSS_DIR/ ){ - $line = $hpss_dir; - } - elsif( $line =~ m/export DO_DATA_RPT/ ){ - $line = $my_rpt; - } - print OUT "$line\n"; - } - close OUT; - close IN; - - move $outfile, $infile; - - print "\n"; - print "Making all executables\n"; - - `./build_OznMon_cmake.sh`; + my $uname = $ENV{ 'USER' }; + my $hpss_dir = "export HPSS_DIR=\${HPSS_DIR:-/NCEPDEV/hpssuser/g01/$uname/nbns/stats}"; + + my $outfile = "tmp.file"; + open (OUT, ">", $outfile) || die "Cannot open file ".$outfile." for write"; + + my $infile = "./parm/OznMon_user_settings"; + open (IN, "<", $infile) || die "Cannot open file ".$infile." for read"; + + foreach $line () { + chomp( $line ); + if ($line =~ m/export ACCOUNT/) { + $line = $account; + } + elsif( $line =~ m/export PROJECT/ ){ + $line = $project; + } + elsif( $line =~ m/export JOB_QUEUE/ ){ + $line = $job_queue; + } + elsif( $line =~ m/export HPSS_DIR/ ){ + $line = $hpss_dir; + } + elsif( $line =~ m/export DO_DATA_RPT/ ){ + $line = $my_rpt; + } + print OUT "$line\n"; + } + close OUT; + close IN; + + move $outfile, $infile; + + print "\n"; + print "Making all executables\n"; + + `./build_OznMon_cmake.sh`; exit 0; diff --git a/util/Ozone_Monitor/build_OznMon_cmake.sh b/util/Ozone_Monitor/build_OznMon_cmake.sh index b5768f284f..94d1d7a5df 100755 --- a/util/Ozone_Monitor/build_OznMon_cmake.sh +++ b/util/Ozone_Monitor/build_OznMon_cmake.sh @@ -47,6 +47,9 @@ elif [[ -d /data/prod ]]; then elif [[ -d /jetmon ]]; then . /apps/lmod/lmod/init/sh target=jet +elif [[ -d /lfs && -d /dfs ]]; then + . $MODULESHOME/init/bash + target=wcoss2 else echo "unknown target = $target" exit 9 @@ -69,9 +72,10 @@ fi # Verify this is a supported machine #--------------------------------------------------- -if [[ ${target} = "hera" || ${target} = "wcoss_c" \ - || ${target} = "wcoss_d" || ${target} = "orion" \ - || ${target} = "jet" || ${target} = "s4" ]]; then +if [[ ${target} = "hera" || ${target} = "wcoss_c" \ + || ${target} = "wcoss_d" || ${target} = "orion" \ + || ${target} = "jet" || ${target} = "s4" \ + || ${target} = "wcoss2" ]]; then echo Building nwprod executables on ${target} echo @@ -79,7 +83,7 @@ if [[ ${target} = "hera" || ${target} = "wcoss_c" \ #------------------------------------- # load modules #------------------------------------- - if [ $target = wcoss_d ]; then + if [ $target = wcoss_d -o $target = wcoss2 ]; then module purge module use -a $dir_modules module load modulefile.ProdGSI.$target diff --git a/util/Ozone_Monitor/get_hostname.pl b/util/Ozone_Monitor/get_hostname.pl index 145b3a91c5..1f583acb94 100755 --- a/util/Ozone_Monitor/get_hostname.pl +++ b/util/Ozone_Monitor/get_hostname.pl @@ -28,6 +28,9 @@ if( $host =~ /hfe/ ) { $machine = "hera"; } + elsif( $host =~ /clogin0/ || $host =~ /dlogin0/ ){ + $machine = "wcoss2" + } elsif( $host =~ /login/ ) { $machine = "wcoss_c"; } diff --git a/util/Ozone_Monitor/nwprod/gdas_oznmon/driver/test_jgdas_verfozn_wcoss2.sh b/util/Ozone_Monitor/nwprod/gdas_oznmon/driver/test_jgdas_verfozn_wcoss2.sh new file mode 100755 index 0000000000..7587c81173 --- /dev/null +++ b/util/Ozone_Monitor/nwprod/gdas_oznmon/driver/test_jgdas_verfozn_wcoss2.sh @@ -0,0 +1,89 @@ +#!/bin/ksh +#PBS -o gdas_voznmon.out +#PBS -e gdas_voznmon.err +#PBS -N gdas_voznmon +#PBS -q dev +#PBS -l select=1:mem=5000M +#PBS -l walltime=5:00 +#PBS -A GFS-DEV + +set -ax + +##------------------------------------------------------------ +## This is the test driver script for the wcoss2 systems +## to run the JGDAS_ATMOS_VERFOZN job. +##------------------------------------------------------------ + +export OZNMON_NEW_HDR=${OZN_NEW_HDR:-0} + +#------------------------------------------------------------- +# PDATE settings for this test driver script correspond to +# available data in the $DATAROOT space (defined below). +# References to netcdf and binary indicate available files in +# the test_data space. +# +export PDATE=${PDATE:-2021082400} +export NET=${NET:-gfs} +export RUN=${RUN:-gdas} + +export PDY=`echo $PDATE | cut -c1-8` +export cyc=`echo $PDATE | cut -c9-10` +export job=gdas_verfozn.${cyc} +export pid=${pid:-$$} +export jobid=${job}.${pid} +export envir=${envir:-test} +export DATAROOT=/lfs/h1/ops/canned/com/gfs/v16.2 +export COMROOT=/lfs/h2/emc/ptmp/${LOGNAME} +export OZN_WORK_DIR=${OZN_WORK_DIR:-/lfs/h2/emc/stmp/${LOGNAME}/oznmon.${pid}} +export DATA=/lfs/h2/emc/stmp/${LOGNAME}/${RADMON_SUFFIX} + +if [[ ! -d ${COMROOT}/logs/jlogfiles ]]; then + mkdir -p ${COMROOT}/logs/jlogfiles +fi + +#------------------------------------------------------------ +# Specify versions +# +export gdas_oznmon_ver=v2.0.0 +export oznmon_shared_ver=v2.0.0 + + +#------------------------------------------------------------ +# Load modules +# +module purge +module load prod_util/2.0.10 +module load util_shared/1.4.0 + +module list + +#------------------------------------------------------------ +# Set user specific variables +# +export OZNMON_SUFFIX=${OZNMON_SUFFIX:-testozn} +export NWTEST=${NWTEST:-/lfs/h2/emc/da/noscrub/Edward.Safford/git/gsi/gfsda.v16.1.5_wcoss2_port/util/Ozone_Monitor/nwprod} +export HOMEgfs=${HOMEgfs:-${NWTEST}/gdas_oznmon.${gdas_oznmon_ver}} +export HOMEgdas_ozn=${HOMEgdas_ozn:-${HOMEgfs}} +export PARMgdas_ozn=${HOMEgdas_ozn}/parm +export FIXgdas_ozn=${FIXgdas_ozn:-${HOMEgdas_ozn}/fix} + + +export HOMEgfs_ozn=${HOMEgfs_ozn:-${HOMEgdas_ozn}} +export PARMgfs_ozn=${PARMgfs_ozn:-${PARMgdas_ozn}} +export FIXgfs_ozn=${FIXgfs_ozn:-${FIXgdas_ozn}} + +export JOBGLOBAL=${JOBGLOBAL:-${HOMEgdas_ozn}/jobs} +export HOMEoznmon=${HOMEoznmon:-${NWTEST}/oznmon_shared.${shared_oznmon_ver}} + +export HOMEoznmon=${NWTEST}/oznmon_shared.${oznmon_shared_ver} +export COM_IN=${COM_IN:-$DATAROOT} +export OZN_TANKDIR=${OZN_TANKDIR:-${COMROOT}/${OZNMON_SUFFIX}} + + +#------------------------------------------------------------ +# Execute job +# +${JOBGLOBAL}/JGDAS_ATMOS_VERFOZN + +exit + diff --git a/util/Ozone_Monitor/nwprod/gdas_oznmon/jobs/JGDAS_ATMOS_VERFOZN b/util/Ozone_Monitor/nwprod/gdas_oznmon/jobs/JGDAS_ATMOS_VERFOZN index 13b8b3045a..1acd7432ad 100755 --- a/util/Ozone_Monitor/nwprod/gdas_oznmon/jobs/JGDAS_ATMOS_VERFOZN +++ b/util/Ozone_Monitor/nwprod/gdas_oznmon/jobs/JGDAS_ATMOS_VERFOZN @@ -68,10 +68,10 @@ export p_cyc=`echo ${cdate} | cut -c9-10` #--------------------------------------------- # OZN_TANKDIR - WHERE OUTPUT DATA WILL RESIDE # -export OZN_TANKDIR=${OZN_TANKDIR:-${COMROOTp3}/$NET/$envir} +export OZN_TANKDIR=${OZN_TANKDIR:-$(compath.py ${envir}/${NET}/${gfs_ver})} export TANKverf_ozn=${TANKverf_ozn:-${OZN_TANKDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}/oznmon} export TANKverf_oznM1=${TANKverf_oznM1:-${OZN_TANKDIR}/${RUN}.${P_PDY}/${p_cyc}/${COMPONENT}/oznmon} -export COM_IN=${COM_IN:-${COMROOTp3}/${NET}/${envir}} +export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})} export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/${COMPONENT}} if [[ ! -d ${TANKverf_ozn} ]]; then diff --git a/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_horiz.fd/CMakeLists.txt b/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_horiz.fd/CMakeLists.txt index fa8c7e459f..e53b9fe053 100644 --- a/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_horiz.fd/CMakeLists.txt +++ b/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_horiz.fd/CMakeLists.txt @@ -1,13 +1,13 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB OZNMON_HORIZ_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) - set(OZNMON_HORIZ_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 ") + set(OZNMON_HORIZ_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -g -traceback ") set_source_files_properties( ${OZNMON_HORIZ_SRC} PROPERTIES COMPILE_FLAGS ${OZNMON_HORIZ_Fortran_FLAGS} ) set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/oznmon_horiz ) add_executable(oznmon_horiz.x ${OZNMON_HORIZ_SRC} ) set_target_properties( oznmon_horiz.x PROPERTIES COMPILE_FLAGS ${OZNMON_HORIZ_Fortran_FLAGS} ) set_target_properties( oznmon_horiz.x PROPERTIES Fortran_MODULE_DIRECTORY ${Util_MODULE_DIR} ) include_directories( ${CORE_INCS} ${NCDIAG_INCS} ) - target_link_libraries( oznmon_horiz.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES}) + target_link_libraries( oznmon_horiz.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES} ) if(BUILD_W3NCO) add_dependencies( oznmon_horiz.x ${W3NCO_4_LIBRARY} ) endif() diff --git a/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_time.fd/CMakeLists.txt b/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_time.fd/CMakeLists.txt index c957a0a243..ea8b907af0 100644 --- a/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_time.fd/CMakeLists.txt +++ b/util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_time.fd/CMakeLists.txt @@ -1,13 +1,13 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) file(GLOB OZNMON_TIME_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) - set(OZNMON_TIME_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 ") + set(OZNMON_TIME_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -g -traceback ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/oznmon_time ) set_source_files_properties( ${OZNMON_TIME_SRC} PROPERTIES COMPILE_FLAGS ${OZNMON_TIME_Fortran_FLAGS} ) add_executable(oznmon_time.x ${OZNMON_TIME_SRC} ) set_target_properties( oznmon_time.x PROPERTIES COMPILE_FLAGS ${OZNMON_TIME_Fortran_FLAGS} ) set_target_properties( oznmon_time.x PROPERTIES Fortran_MODULE_DIRECTORY ${Util_MODULE_DIR} ) include_directories( ${CORE_INCS} ${NCDIAG_INCS} ) - target_link_libraries( oznmon_time.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES}) + target_link_libraries( oznmon_time.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES} ) if(BUILD_W3NCO) add_dependencies( oznmon_time.x ${W3NCO_4_LIBRARY} ) endif() diff --git a/util/Ozone_Monitor/parm/OznMon_config b/util/Ozone_Monitor/parm/OznMon_config index bc00092c95..d69c44d9fc 100644 --- a/util/Ozone_Monitor/parm/OznMon_config +++ b/util/Ozone_Monitor/parm/OznMon_config @@ -18,7 +18,7 @@ if [[ $OZNMON_CONFIG -ne 1 ]]; then export OZNMON_CONFIG=1 - export MY_MACHINE=wcoss_d + export MY_MACHINE=wcoss2 #------------------------------------------------------------------- # Note: The file header in the oznstat file has slightly changed. @@ -38,7 +38,7 @@ if [[ $OZNMON_CONFIG -ne 1 ]]; then # you checked out only the Ozone_Monitor portion of the branch then # MY_RADMON should point to that. # - export MY_OZNMON=${MY_OZNMON:-/gpfs/dell2/emc/modeling/noscrub/Edward.Safford/GSI/util/Ozone_Monitor} + export MY_OZNMON=${MY_OZNMON:-/lfs/h2/emc/da/noscrub/Edward.Safford/git/gsi/gfsda.v16.1.5_wcoss2_port/util/Ozone_Monitor} export OZN_SCRIPTS=${OZN_SCRIPTS:-${MY_OZNMON}/scripts} export OZN_DE_SCRIPTS=${OZN_DE_SCRIPTS:-${MY_OZNMON}/data_xtrct/ush} @@ -66,7 +66,7 @@ if [[ $OZNMON_CONFIG -ne 1 ]]; then # and the succedding scripts will construct and use subdirectories under # this location. # - export OZN_TANKDIR=${OZN_TANKDIR:-/u/Edward.Safford/nbns} + export OZN_TANKDIR=${OZN_TANKDIR:-/lfs/h2/emc/da/noscrub/Edward.Safford/nbns} if [[ $GLB_AREA -eq 1 ]]; then OZN_IMGN_TANKDIR=${OZN_TANKDIR}/imgn/${OZNMON_SUFFIX} @@ -93,9 +93,9 @@ if [[ $OZNMON_CONFIG -ne 1 ]]; then # # Log and work space definitions # - export OZN_PTMP=${OZN_PTMP:-/gpfs/dell2/ptmp} + export MY_PTMP=${MY_PTMP:-/lfs/h2/emc/ptmp} export PTMP_USER=${PTMP_USER:-${OZN_PTMP}/${LOGNAME}} - export OZN_STMP=${OZN_STMP:-/gpfs/dell2/stmp} + export MY_STMP=${MY_STMP:-/lfs/h2/emc/stmp} export STMP_USER=${STMP_USER:-${OZN_STMP}/${LOGNAME}} @@ -213,6 +213,9 @@ if [[ $OZNMON_CONFIG -ne 1 ]]; then export PARTITION_OZNMON=${PARTITION_OZNMON:-vjet} + elif [[ $MY_MACHINE = "wcoss2" ]]; then + export COMPRESS=${COMPRESS:-gzip} + export UNCOMPRESS=${UNCOMPRESS:-"gunzip -f"} fi else diff --git a/util/Ozone_Monitor/parm/OznMon_user_settings b/util/Ozone_Monitor/parm/OznMon_user_settings index 864ed81c30..9c75a863ba 100644 --- a/util/Ozone_Monitor/parm/OznMon_user_settings +++ b/util/Ozone_Monitor/parm/OznMon_user_settings @@ -10,19 +10,19 @@ # ACCOUNT is used on zeus only for use with the qsub -a flag. It is # empty on other platforms. # -export ACCOUNT=${ACCOUNT:-} +export ACCOUNT=${ACCOUNT:-GFS-DEV} # # PROJECT is used on wcoss only with the bjob -P flag. It is # empty on other platforms. # -export PROJECT=${PROJECT:-GFS-DEV} +export PROJECT=${PROJECT:-GDAS-DEV} # # JOB_QUEUE is used on wcoss only with the bjob -q flag. It is # empty on other platforms. # -export JOB_QUEUE=${JOB_QUEUE:-dev_shared} +export JOB_QUEUE=${JOB_QUEUE:-dev} # # GLB_AREA is either 1 (global) or 0 (regional) diff --git a/util/Radiance_Monitor/build_RadMon_cmake.sh b/util/Radiance_Monitor/build_RadMon_cmake.sh index a11f1049b0..387703225c 100755 --- a/util/Radiance_Monitor/build_RadMon_cmake.sh +++ b/util/Radiance_Monitor/build_RadMon_cmake.sh @@ -34,6 +34,9 @@ elif [[ $target = "hera" ]] ; then . /apps/lmod/lmod/init/sh elif [[ $target = "jet" ]] ; then . /apps/lmod/lmod/init/sh +elif [[ -d /lfs && -d /dfs ]]; then + . $MODULESHOME/init/bash + target=wcoss2 else echo "unknown target = $target" exit 9 @@ -72,7 +75,7 @@ if [[ ${target} = "hera" || ${target} = "wcoss" \ #------------------------------------- # load modules #------------------------------------- - if [ $target = wcoss_d ]; then + if [ $target = wcoss_d -o $target = "wcoss2" ]; then module purge module use -a $dir_modules module load modulefile.ProdGSI.$target diff --git a/util/Radiance_Monitor/data_extract/ush/radmon_copy.sh b/util/Radiance_Monitor/data_extract/ush/radmon_copy.sh index 9e85cd3204..912f3d1dc8 100755 --- a/util/Radiance_Monitor/data_extract/ush/radmon_copy.sh +++ b/util/Radiance_Monitor/data_extract/ush/radmon_copy.sh @@ -82,7 +82,7 @@ if [[ ${exit_value} -eq 0 ]]; then for type in ${type_list}; do - file_list=`ls ${DATA_LOCATION}/${type}.*${PDATE}*ieee_d* ` + file_list=`ls ${DATA_LOCATION}/${type}.*${PDATE}*ieee_d* ${DATA_LOCATION}/${type}*tar* ` for file in ${file_list}; do bfile=`basename ${file}` diff --git a/util/Radiance_Monitor/image_gen/ush/RadMon_IG_glb.sh b/util/Radiance_Monitor/image_gen/ush/RadMon_IG_glb.sh index 644653df39..1e2cc23525 100755 --- a/util/Radiance_Monitor/image_gen/ush/RadMon_IG_glb.sh +++ b/util/Radiance_Monitor/image_gen/ush/RadMon_IG_glb.sh @@ -154,7 +154,7 @@ fi if [[ ${pdate} -gt ${latest_data} ]]; then echo " Unable to plot, pdate is > latest_data, ${pdate}, ${latest_data}" - exit 4 + exit 5 else echo " OK to plot" fi @@ -199,23 +199,29 @@ fi if [[ ! -d ${ieee_src} ]]; then echo "Unable to set ieee_src, aborting plot" - exit 5 + exit 6 fi -#----------------------------------------------------- +#------------------------------------------------------------- # check $ieee_src for data files. If none are found -# check contents of the radmon_angle.tar file. +# check contents of the radmon_angle.tar file. If both +# a compressed and an uncompressed version of radmon_angle.tar +# exist, flag that condition as an error. # nfile_src=`ls -l ${ieee_src}/*${PDATE}*ieee_d* | egrep -c '^-'` if [[ $nfile_src -le 0 ]]; then - if [[ -e ${ieee_src}/radmon_angle.tar ]]; then - nfile_src=`tar -tf ${ieee_src}/radmon_angle.tar | grep ieee_d | wc -l` + if [[ -e ${ieee_src}/radmon_angle.tar && -e ${ieee_src}/radmon_angle.tar.${Z} ]]; then + echo "Located both radmon_angle.tar and radmon_angle.tar.${Z} in ${ieee_src}. Unable to plot." + exit 7 + + elif [[ -e ${ieee_src}/radmon_angle.tar || -e ${ieee_src}/radmon_angle.tar.${Z} ]]; then + nfile_src=`tar -tf ${ieee_src}/radmon_angle.tar* | grep ieee_d | wc -l` fi fi if [[ $nfile_src -le 0 ]]; then echo " Missing ieee_src files, nfile_src = ${nfile_src}, aborting plot" - exit 6 + exit 8 fi export PLOT_WORK_DIR=${PLOT_WORK_DIR}.${PDATE} @@ -251,7 +257,7 @@ fi # test_list=`ls ${ieee_src}/angle.*${PDATE}.ieee_d*` if [[ $test_list = "" ]]; then - test_list=`tar -tf ${ieee_src}/radmon_angle.tar | grep ieee_d` + test_list=`tar -tf ${ieee_src}/radmon_angle.tar* | grep ieee_d` fi for test in ${test_list}; do diff --git a/util/Radiance_Monitor/image_gen/ush/mk_angle_plots.sh b/util/Radiance_Monitor/image_gen/ush/mk_angle_plots.sh index a46eaf64ad..cb9aa77e12 100755 --- a/util/Radiance_Monitor/image_gen/ush/mk_angle_plots.sh +++ b/util/Radiance_Monitor/image_gen/ush/mk_angle_plots.sh @@ -80,17 +80,23 @@ for type in ${SATYPE}; do fi using_tar=0 - #---------------------------------------------------- - # Determine if the angle files are in a tar file - # and, if so, extract the ctl files for this $type. + #-------------------------------------------------------------- + # Determine if the angle files are in a tar file. If so + # extract the ctl files for this $type. If both a compressed + # and uncompressed version of the radmon_bcoef.tar file exist, + # report that as an error condition. # - if [[ -s ${ieee_src}/radmon_angle.tar ]]; then + if [[ -e ${ieee_src}/radmon_angle.tar && -e ${ieee_src}/radmon_angle.tar.${Z} ]]; then + echo "Located both radmon_angle.tar and radmon_angle.tar.${Z} in ${ieee_src}. Unable to plot." + exit 2 + + elif [[ -e ${ieee_src}/radmon_angle.tar || -e ${ieee_src}/radmon_angle.tar.${Z} ]]; then using_tar=1 - ctl_list=`tar -tf ${ieee_src}/radmon_angle.tar | grep ${type} | grep ctl` + ctl_list=`tar -tf ${ieee_src}/radmon_angle.tar* | grep ${type} | grep ctl` if [[ ${ctl_list} != "" ]]; then cwd=`pwd` cd ${ieee_src} - tar -xf ./radmon_angle.tar ${ctl_list} + tar -xf ./radmon_angle.tar* ${ctl_list} cd ${cwd} fi fi @@ -139,7 +145,7 @@ done if [[ $allmissing = 1 ]]; then echo ERROR: Unable to plot. All angle control files are missing from ${TANKverf} for requested date range. - exit 2 + exit 3 fi diff --git a/util/Radiance_Monitor/image_gen/ush/mk_bcoef_plots.sh b/util/Radiance_Monitor/image_gen/ush/mk_bcoef_plots.sh index 8eedb783ad..30fa9d3ffd 100755 --- a/util/Radiance_Monitor/image_gen/ush/mk_bcoef_plots.sh +++ b/util/Radiance_Monitor/image_gen/ush/mk_bcoef_plots.sh @@ -12,10 +12,6 @@ set -ax date echo "begin mk_bcoef_plots.sh" -#export NUM_CYCLES=${NUM_CYCLES:-121} -#export CYCLE_INTERVAL=${CYCLE_INTERVAL:-6} -echo "NUM_CYCLES, CYCLE_INTERVAL = ${NUM_CYCLES}, ${CYCLE_INTERVAL}" - imgndir="${IMGNDIR}/bcoef" tankdir="${TANKverf}/bcoef" @@ -74,19 +70,25 @@ for type in ${SATYPE}; do fi using_tar=0 - #---------------------------------------------------- - # Determine if the bcoef files are in an tar file. - # if so extract the ctl files for this $type. + #-------------------------------------------------------------- + # Determine if the bcoef files are in a tar file. If so + # extract the ctl files for this $type. If both a compressed + # and uncompressed version of the radmon_bcoef.tar file exist, + # flag that as an error condition. # - if [[ -s ${ieee_src}/radmon_bcoef.tar ]]; then + if [[ -e ${ieee_src}/radmon_bcoef.tar && -e ${ieee_src}/radmon_bcoef.tar.${Z} ]]; then + echo "Located both radmon_bcoef.tar and radmon_bcoef.tar.${Z} in ${ieee_src}. Unable to plot." + exit 1 + + elif [[ -e ${ieee_src}/radmon_bcoef.tar || -e ${ieee_src}/radmon_bcoef.tar.${Z} ]]; then using_tar=1 - ctl_list=`tar -tf ${ieee_src}/radmon_bcoef.tar | grep ${type} | grep ctl` - if [[ ${ctl_list} != "" ]]; then + ctl_list=`tar -tf ${ieee_src}/radmon_bcoef.tar* | grep ${type} | grep ctl` + if [[ ${ctl_list} != "" ]]; then cwd=`pwd` cd ${ieee_src} - tar -xf ./radmon_bcoef.tar ${ctl_list} + tar -xf ./radmon_bcoef.tar* ${ctl_list} cd ${cwd} - fi + fi fi #-------------------------------------------------- diff --git a/util/Radiance_Monitor/image_gen/ush/mk_bcor_plots.sh b/util/Radiance_Monitor/image_gen/ush/mk_bcor_plots.sh index 2751d4501c..bd905692c6 100755 --- a/util/Radiance_Monitor/image_gen/ush/mk_bcor_plots.sh +++ b/util/Radiance_Monitor/image_gen/ush/mk_bcor_plots.sh @@ -76,21 +76,27 @@ for type in ${SATYPE}; do fi using_tar=0 - #--------------------------------------------------------- - # Determine if the bcor files are in a tar file. - # if so extract the ctl files for this $type. + #--------------------------------------------------------------- + # Determine if the bcor files are in a tar file. If so + # extract the ctl files for this $type. If both a compressed + # and uncompressed version of the radmon_bcor.tar file exist, + # flag that as an error condition. # # Note that the ctl files are moved back to ${ieee_src} # so the code block that follows will work with both # tarred and non-tarred storage schemes. # - if [[ -s ${ieee_src}/radmon_bcor.tar ]]; then + if [[ -e ${ieee_src}/radmon_bcor.tar && -e ${ieee_src}/radmon_bcor.tar.${Z} ]]; then + echo "Located both radmon_bcor.tar and radmon_bcor.tar.${Z} in ${ieee_src}. Unable to plot." + exit 1 + + elif [[ -e ${ieee_src}/radmon_bcor.tar || -e ${ieee_src}/radmon_bcor.tar.${Z} ]]; then using_tar=1 - ctl_list=`tar -tf ${ieee_src}/radmon_bcor.tar | grep ${type} | grep ctl` + ctl_list=`tar -tf ${ieee_src}/radmon_bcor.tar* | grep ${type} | grep ctl` if [[ ${ctl_list} != "" ]]; then cwd=`pwd` cd ${ieee_src} - tar -xf ./radmon_bcor.tar ${ctl_list} + tar -xf ./radmon_bcor.tar* ${ctl_list} cd ${cwd} fi fi diff --git a/util/Radiance_Monitor/image_gen/ush/mk_time_plots.sh b/util/Radiance_Monitor/image_gen/ush/mk_time_plots.sh index 66d626c361..9189ff9c06 100755 --- a/util/Radiance_Monitor/image_gen/ush/mk_time_plots.sh +++ b/util/Radiance_Monitor/image_gen/ush/mk_time_plots.sh @@ -79,17 +79,23 @@ for type in ${SATYPE}; do using_tar=0 #-------------------------------------------------- - # Determine if the time files are in an tar file. - # if so extract the ctl files for this $type. + # Determine if the time files are in a tar file. If so + # extract the ctl files for this $type. If both a compressed + # and uncompressed version of the radmon_time.tar file exist, + # flag that as an error condition. # - if [[ -s ${ieee_src}/radmon_time.tar ]]; then + if [[ -e ${ieee_src}/radmon_time.tar && -e ${ieee_src}/radmon_time.tar.${Z} ]]; then + echo "Located both radmon_time.tar and radmon_time.tar.${Z} in ${ieee_src}. Unable to plot." + exit 1 + + elif [[ -e ${ieee_src}/radmon_time.tar || -e ${ieee_src}/radmon_time.tar.${Z} ]]; then using_tar=1 - ctl_list=`tar -tf ${ieee_src}/radmon_time.tar | grep $type | grep ctl` + ctl_list=`tar -tf ${ieee_src}/radmon_time.tar* | grep $type | grep ctl` if [[ ${ctl_list} != "" ]]; then cwd=`pwd` cd ${ieee_src} - ctl_list=`tar -tf ./radmon_time.tar | grep $type | grep ctl` - tar -xf ${ieee_src}/radmon_time.tar ${ctl_list} + ctl_list=`tar -tf ./radmon_time.tar* | grep $type | grep ctl` + tar -xf ${ieee_src}/radmon_time.tar* ${ctl_list} cd ${cwd} fi fi diff --git a/util/Radiance_Monitor/image_gen/ush/plot_angle.sh b/util/Radiance_Monitor/image_gen/ush/plot_angle.sh index 94dfd55e8c..78554caba6 100755 --- a/util/Radiance_Monitor/image_gen/ush/plot_angle.sh +++ b/util/Radiance_Monitor/image_gen/ush/plot_angle.sh @@ -9,10 +9,6 @@ set -ax export list=$listvar -echo -echo PATH=$PATH -echo - SATYPE2=$1 PVAR=$2 PTYPE=$3 @@ -104,11 +100,16 @@ for type in ${SATYPE2}; do # Locate the data files, first checking for a tar file, # and copy them locally. # - if [[ -s ${ieee_src}/radmon_angle.tar ]]; then - files=`tar -tf ${ieee_src}/radmon_angle.tar | grep ${type} | grep ieee_d` + if [[ -e ${ieee_src}/radmon_angle.tar && -e ${ieee_src}/radmon_angle.tar.${Z} ]]; then + echo "Located both radmon_angle.tar and radmon_angle.tar.${Z} in ${ieee_src}. Unable to plot." + exit 20 + + elif [[ -e ${ieee_src}/radmon_angle.tar || -e ${ieee_src}/radmon_angle.tar.${Z} ]]; then + files=`tar -tf ${ieee_src}/radmon_angle.tar* | grep ${type} | grep ieee_d` if [[ ${files} != "" ]]; then - tar -xf ${ieee_src}/radmon_angle.tar ${files} + tar -xf ${ieee_src}/radmon_angle.tar* ${files} fi + else files=`ls ${ieee_src}/angle.*${type}*ieee_d*` for f in ${files}; do diff --git a/util/Radiance_Monitor/image_gen/ush/plot_bcoef.sh b/util/Radiance_Monitor/image_gen/ush/plot_bcoef.sh index d9c783c1f9..2bd4a41a40 100755 --- a/util/Radiance_Monitor/image_gen/ush/plot_bcoef.sh +++ b/util/Radiance_Monitor/image_gen/ush/plot_bcoef.sh @@ -81,11 +81,16 @@ for type in ${SATYPE}; do # Locate the ieee_d files, first checking for a tar file, # and copy them locally. # - if [[ -s ${ieee_src}/radmon_bcoef.tar ]]; then - files=`tar -tf ${ieee_src}/radmon_bcoef.tar | grep ${type} | grep ieee_d` + if [[ -e ${ieee_src}/radmon_bcoef.tar && -e ${ieee_src}/radmon_bcoef.tar.${Z} ]]; then + echo "Located both radmon_bcoef.tar and radmon_bcoef.tar.${Z} in ${ieee_src}. Unable to plot." + exit 21 + + elif [[ -e ${ieee_src}/radmon_bcoef.tar || -e ${ieee_src}/radmon_bcoef.tar.${Z} ]]; then + files=`tar -tf ${ieee_src}/radmon_bcoef.tar* | grep ${type} | grep ieee_d` if [[ ${files} != "" ]]; then - tar -xf ${ieee_src}/radmon_bcoef.tar ${files} + tar -xf ${ieee_src}/radmon_bcoef.tar* ${files} fi + else files=`ls ${ieee_src}/bcoef.*${type}*ieee_d*` for f in ${files}; do diff --git a/util/Radiance_Monitor/image_gen/ush/plot_bcor.sh b/util/Radiance_Monitor/image_gen/ush/plot_bcor.sh index feb17576fd..64c0aa4589 100755 --- a/util/Radiance_Monitor/image_gen/ush/plot_bcor.sh +++ b/util/Radiance_Monitor/image_gen/ush/plot_bcor.sh @@ -91,9 +91,13 @@ for type in ${SATYPE2}; do # Now locate this cycle's data files, first checking for # a tar file, and copy them locally. # - if [[ -s ${ieee_src}/radmon_bcor.tar ]]; then - files=`tar -tf ${ieee_src}/radmon_bcor.tar | grep ${type} | grep ieee_d` - tar -xf ${ieee_src}/radmon_bcor.tar ${files} + if [[ -e ${ieee_src}/radmon_bcor.tar && -e ${ieee_src}/radmon_bcor.tar.${Z} ]]; then + echo "Located both radmon_bcor.tar and radmon_bcor.tar.${Z} in ${ieee_src}. Unable to plot." + exit 22 + + elif [[ -e ${ieee_src}/radmon_bcor.tar || -e ${ieee_src}/radmon_bcor.tar.${Z} ]]; then + files=`tar -tf ${ieee_src}/radmon_bcor.tar* | grep ${type} | grep ieee_d` + tar -xf ${ieee_src}/radmon_bcor.tar* ${files} else files=`ls ${ieee_src}/bcor.*${type}*ieee_d*` diff --git a/util/Radiance_Monitor/image_gen/ush/plot_summary.sh b/util/Radiance_Monitor/image_gen/ush/plot_summary.sh index 61455bd6bf..d126f6fb4b 100755 --- a/util/Radiance_Monitor/image_gen/ush/plot_summary.sh +++ b/util/Radiance_Monitor/image_gen/ush/plot_summary.sh @@ -12,7 +12,6 @@ SATYPE2=$SATYPE echo "Start plot_summary.sh" - #------------------------------------------------------------------ # Set environment variables. tmpdir=${PLOT_WORK_DIR}/plot_summary_${RADMON_SUFFIX} @@ -76,17 +75,20 @@ for type in ${SATYPE2}; do ieee_src=${TANKverf}/${RUN}.${day} fi - echo "rgnHH, rgnTM = $rgnHH, $rgnTM" - #----------------------------------------------------------- # Locate the data files, first checking for a tar file, # and copy them locally. # - if [[ -s ${ieee_src}/radmon_time.tar ]]; then - files=`tar -tf ${ieee_src}/radmon_time.tar | grep ${type} | grep ieee_d` + if [[ -e ${ieee_src}/radmon_time.tar && -e ${ieee_src}/radmon_time.tar.${Z} ]]; then + echo "Located both radmon_time.tar and radmon_time.tar.${Z} in ${ieee_src}. Unable to plot." + exit 23 + + elif [[ -e ${ieee_src}/radmon_time.tar || -e ${ieee_src}/radmon_time.tar.${Z} ]]; then + files=`tar -tf ${ieee_src}/radmon_time.tar* | grep ${type} | grep ieee_d` if [[ ${files} != "" ]]; then - tar -xf ${ieee_src}/radmon_time.tar ${files} + tar -xf ${ieee_src}/radmon_time.tar* ${files} fi + else files=`ls ${ieee_src}/time.*${type}*ieee_d*` for f in ${files}; do diff --git a/util/Radiance_Monitor/image_gen/ush/plot_time.sh b/util/Radiance_Monitor/image_gen/ush/plot_time.sh index 8d45e1b2ce..b4256c17a2 100755 --- a/util/Radiance_Monitor/image_gen/ush/plot_time.sh +++ b/util/Radiance_Monitor/image_gen/ush/plot_time.sh @@ -89,11 +89,16 @@ for type in ${SATYPE2}; do # Locate the data files, first checking for a tar file, # and copy them locally. # - if [[ -s ${ieee_src}/radmon_time.tar ]]; then - files=`tar -tf ${ieee_src}/radmon_time.tar | grep ${type} | grep ieee_d` + if [[ -e ${ieee_src}/radmon_time.tar && -e ${ieee_src}/radmon_time.tar.${Z} ]]; then + echo "Located both radmon_time.tar and radmon_time.tar.${Z} in ${ieee_src}. Unable to plot." + exit 24 + + elif [[ -e ${ieee_src}/radmon_time.tar || -e ${ieee_src}/radmon_time.tar.${Z} ]]; then + files=`tar -tf ${ieee_src}/radmon_time.tar* | grep ${type} | grep ieee_d` if [[ ${files} != "" ]]; then - tar -xf ${ieee_src}/radmon_time.tar ${files} + tar -xf ${ieee_src}/radmon_time.tar* ${files} fi + else files=`ls ${ieee_src}/time.*${type}*ieee_d*` for f in ${files}; do diff --git a/util/Radiance_Monitor/nwprod/gdas_radmon/jobs/JGDAS_ATMOS_VERFRAD b/util/Radiance_Monitor/nwprod/gdas_radmon/jobs/JGDAS_ATMOS_VERFRAD index 44649df166..39c7b6661f 100755 --- a/util/Radiance_Monitor/nwprod/gdas_radmon/jobs/JGDAS_ATMOS_VERFRAD +++ b/util/Radiance_Monitor/nwprod/gdas_radmon/jobs/JGDAS_ATMOS_VERFRAD @@ -77,10 +77,10 @@ export p_cyc=`echo ${cdate} | cut -c9-10` # COMOUT - WHERE GSI OUTPUT RESIDES # TANKverf - WHERE OUTPUT DATA WILL RESIDE ############################################# -export TANKverf=${TANKverf:-${COMROOT}/${NET}/${envir}} +export TANKverf=${TANKverf:-$(compath.py ${envir}/${NET}/${gfs_ver})} export TANKverf_rad=${TANKverf_rad:-${TANKverf}/${RUN}.${PDY}/${cyc}/$COMPONENT/radmon} export TANKverf_radM1=${TANKverf_radM1:-${TANKverf}/${RUN}.${P_PDY}/${p_cyc}/$COMPONENT/radmon} -export COM_IN=${COM_IN:-${COMROOT}/${NET}/${envir}} +export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})} export COMIN=${COMIN:-${COM_IN}/${RUN}.${PDY}/${cyc}/$COMPONENT} ################################ diff --git a/util/Radiance_Monitor/nwprod/gdas_radmon/scripts/exgdas_atmos_verfrad.sh b/util/Radiance_Monitor/nwprod/gdas_radmon/scripts/exgdas_atmos_verfrad.sh index 58caae2279..7aec25432f 100755 --- a/util/Radiance_Monitor/nwprod/gdas_radmon/scripts/exgdas_atmos_verfrad.sh +++ b/util/Radiance_Monitor/nwprod/gdas_radmon/scripts/exgdas_atmos_verfrad.sh @@ -36,7 +36,7 @@ export PDY=${1:-${PDY:?}} export cyc=${2:-${cyc:?}} # Directories -export COM_IN=${COMROOT}/${NET}/${envir} +export COM_IN=${COM_IN:-$(compath.py ${envir}/${NET}/${gfs_ver})} export COMIN=${COMIN:-$COM_IN/${RUN}.${PDY}/${cyc}/$COMPONENT} diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/CMakeLists.txt b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/CMakeLists.txt index a881d15816..aba90e6d9f 100644 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/CMakeLists.txt +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd/CMakeLists.txt @@ -1,6 +1,6 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.16.1) file(GLOB RADMON_ANGLE_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) - set(RADMON_ANGLE_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") + set(RADMON_ANGLE_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -g -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/radmon_angle ) set_source_files_properties( ${RADMON_ANGLE_SRC} PROPERTIES COMPILE_FLAGS ${RADMON_ANGLE_Fortran_FLAGS} ) add_executable(radmon_angle.x ${RADMON_ANGLE_SRC} ) diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/CMakeLists.txt b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/CMakeLists.txt index 116bcfe319..f6c13cde49 100644 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/CMakeLists.txt +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd/CMakeLists.txt @@ -1,13 +1,13 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.16.1) file(GLOB RADMON_BCOEF_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) - set(RADMON_BCOEF_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") + set(RADMON_BCOEF_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -g -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/radmon_bcoef ) set_source_files_properties( ${RADMON_BCOEF_SRC} PROPERTIES COMPILE_FLAGS ${RADMON_BCOEF_Fortran_FLAGS} ) add_executable(radmon_bcoef.x ${RADMON_BCOEF_SRC} ) set_target_properties( radmon_bcoef.x PROPERTIES COMPILE_FLAGS ${RADMON_BCOEF_Fortran_FLAGS} ) set_target_properties( radmon_bcoef.x PROPERTIES Fortran_MODULE_DIRECTORY ${Util_MODULE_DIR} ) include_directories( ${CORE_INCS} ${NCDIAG_INCS} ) - target_link_libraries( radmon_bcoef.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES}) + target_link_libraries( radmon_bcoef.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES} ) if(BUILD_W3NCO) add_dependencies( radmon_bcoef.x ${W3NCO_4_LIBRARY} ) endif() diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/CMakeLists.txt b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/CMakeLists.txt index 7b2bfe03a0..96f5a5839b 100644 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/CMakeLists.txt +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd/CMakeLists.txt @@ -1,6 +1,6 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.16.1) file(GLOB RADMON_BCOR_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) - set(RADMON_BCOR_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") + set(RADMON_BCOR_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -g -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/radmon_bcor ) set_source_files_properties( ${RADMON_BCOR_SRC} PROPERTIES COMPILE_FLAGS ${RADMON_BCOR_Fortran_FLAGS} ) add_executable(radmon_bcor.x ${RADMON_BCOR_SRC} ) diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/CMakeLists.txt b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/CMakeLists.txt index 27cac80252..9b24fd46b7 100644 --- a/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/CMakeLists.txt +++ b/util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radtime.fd/CMakeLists.txt @@ -1,13 +1,13 @@ -cmake_minimum_required(VERSION 2.8.12) +cmake_minimum_required(VERSION 3.16.1) file(GLOB RADMON_TIME_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*90 ) - set(RADMON_TIME_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -traceback -D_REAL8_ ") + set(RADMON_TIME_Fortran_FLAGS "-fp-model strict -assume byterecl -convert big_endian -O3 -g -traceback -D_REAL8_ ") set(Util_MODULE_DIR ${PROJECT_BINARY_DIR}/include/radmon_time ) set_source_files_properties( ${RADMON_TIME_SRC} PROPERTIES COMPILE_FLAGS ${RADMON_TIME_Fortran_FLAGS} ) add_executable(radmon_time.x ${RADMON_TIME_SRC} ) set_target_properties( radmon_time.x PROPERTIES COMPILE_FLAGS ${RADMON_TIME_Fortran_FLAGS} ) set_target_properties( radmon_time.x PROPERTIES Fortran_MODULE_DIRECTORY ${Util_MODULE_DIR} ) include_directories( ${CORE_INCS} ${NCDIAG_INCS} ) - target_link_libraries( radmon_time.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES}) + target_link_libraries( radmon_time.x ${W3NCO_4_LIBRARY} ${NCDIAG_LIBRARIES} ${NETCDF_Fortran_LIBRARIES} ${NETCDF_C_LIBRARIES} ${MPI_Fortran_LIBRARIES} ) if(BUILD_W3NCO) add_dependencies( radmon_time.x ${W3NCO_4_LIBRARY} ) endif() diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_angle.sh b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_angle.sh index 2b0bf1ecd4..b67aea2190 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_angle.sh +++ b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_angle.sh @@ -229,13 +229,14 @@ EOF tar_file=radmon_angle.tar tar -cf $tar_file angle*.ieee_d* angle*.ctl* - mv $tar_file ${TANKverf_rad} + ${COMPRESS} ${tar_file} + mv $tar_file.${Z} ${TANKverf_rad}/. if [[ $RAD_AREA = "rgn" ]]; then cwd=`pwd` cd ${TANKverf_rad} - tar -xf ${tar_file} - rm ${tar_file} + tar -xf ${tar_file}.${Z} + rm ${tar_file}.${Z} cd ${cwd} fi diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcoef.sh b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcoef.sh index bd4642d77b..20cbee45c0 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcoef.sh +++ b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcoef.sh @@ -214,13 +214,14 @@ EOF tar_file=radmon_bcoef.tar tar -cf $tar_file bcoef*.ieee_d* bcoef*.ctl* - mv $tar_file ${TANKverf_rad} + ${COMPRESS} ${tar_file} + mv $tar_file.${Z} ${TANKverf_rad} if [[ $RAD_AREA = "rgn" ]]; then cwd=`pwd` cd ${TANKverf_rad} - tar -xf ${tar_file} - rm ${tar_file} + tar -xf ${tar_file}.${Z} + rm ${tar_file}.${Z} cd ${cwd} fi diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcor.sh b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcor.sh index 6f2bb0388a..ecf3e4a376 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcor.sh +++ b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_bcor.sh @@ -207,13 +207,14 @@ EOF tar_file=radmon_bcor.tar tar -cf $tar_file bcor*.ieee_d* bcor*.ctl* - mv $tar_file ${TANKverf_rad} + ${COMPRESS} ${tar_file} + mv $tar_file.${Z} ${TANKverf_rad}/. if [[ $RAD_AREA = "rgn" ]]; then cwd=`pwd` cd ${TANKverf_rad} - tar -xf ${tar_file} - rm ${tar_file} + tar -xf ${tar_file}.${Z} + rm ${tar_file}.${Z} cd ${cwd} fi diff --git a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_time.sh b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_time.sh index 97f53307ac..6dbb8070a5 100755 --- a/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_time.sh +++ b/util/Radiance_Monitor/nwprod/radmon_shared/ush/radmon_verf_time.sh @@ -264,13 +264,14 @@ EOF tar_file=radmon_time.tar tar -cf $tar_file time*.ieee_d* time*.ctl* - mv $tar_file ${TANKverf_rad} + ${COMPRESS} ${tar_file} + mv $tar_file.${Z} ${TANKverf_rad}/. if [[ $RAD_AREA = "rgn" ]]; then cwd=`pwd` cd ${TANKverf_rad} - tar -xf ${tar_file} - rm ${tar_file} + tar -xf ${tar_file}.${Z} + rm ${tar_file}.${Z} cd ${cwd} fi @@ -541,15 +542,15 @@ EOF # copy new bad_pen, bad_chan, and low_count files to $TANKverf_rad # if [[ -s ${bad_chan} ]]; then - $NCP ${bad_chan} ${TANKverf_rad}/. + mv ${bad_chan} ${TANKverf_rad}/. fi if [[ -s ${bad_pen} ]]; then - $NCP ${bad_pen} ${TANKverf_rad}/. + mv ${bad_pen} ${TANKverf_rad}/. fi if [[ -s ${low_count} ]]; then - $NCP ${low_count} ${TANKverf_rad}/. + mv ${low_count} ${TANKverf_rad}/. fi diff --git a/util/Radiance_Monitor/parm/RadMon_user_settings b/util/Radiance_Monitor/parm/RadMon_user_settings index 39031370e2..b6f31ed5e4 100644 --- a/util/Radiance_Monitor/parm/RadMon_user_settings +++ b/util/Radiance_Monitor/parm/RadMon_user_settings @@ -10,13 +10,13 @@ # ACCOUNT is used on zeus only for use with the qsub -a flag. It is # empty on other platforms. # -export ACCOUNT=${ACCOUNT:-} +export ACCOUNT=${ACCOUNT:-GFS-DEV} # # PROJECT is used on wcoss only with the bjob -P flag. It is # empty on other platforms. # -export PROJECT=${PROJECT:-GFS-DEV} +export PROJECT=${PROJECT:-GDAS-DEV} # # JOB_QUEUE is used on wcoss only with the bjob -q flag. It is diff --git a/util/netcdf_io/CMakeLists.txt b/util/netcdf_io/CMakeLists.txt index c878bb13f7..d6c1baa5c7 100644 --- a/util/netcdf_io/CMakeLists.txt +++ b/util/netcdf_io/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) MACRO(SUBDIRLIST result curdir) FILE(GLOB children RELATIVE ${curdir} ${curdir}/*.fd) SET(dirlist "") diff --git a/util/netcdf_io/calc_analysis.fd/CMakeLists.txt b/util/netcdf_io/calc_analysis.fd/CMakeLists.txt index 45d7484741..d324a1b360 100644 --- a/util/netcdf_io/calc_analysis.fd/CMakeLists.txt +++ b/util/netcdf_io/calc_analysis.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_NCIO_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90) diff --git a/util/netcdf_io/interp_inc.fd/CMakeLists.txt b/util/netcdf_io/interp_inc.fd/CMakeLists.txt index 5881fbf229..d46315454a 100644 --- a/util/netcdf_io/interp_inc.fd/CMakeLists.txt +++ b/util/netcdf_io/interp_inc.fd/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 3.16.1) if(BUILD_NCIO_UTIL) file(GLOB LOCAL_SRC ${CMAKE_CURRENT_SOURCE_DIR}/*.f90)