Skip to content

Commit

Permalink
GitHub Issue #118. Merging updated master with PR branch
Browse files Browse the repository at this point in the history
  • Loading branch information
AndrewEichmann-NOAA committed Jun 21, 2021
1 parent 624ff36 commit 8e451d9
Show file tree
Hide file tree
Showing 191 changed files with 6,409 additions and 2,911 deletions.
8 changes: 4 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,8 @@ project(GSI)
find_package( LAPACK )
endif()
# build the WRF I/O libraries
if(DEFINED ENV{GSIWRF_LIB})
set(wrflib "$ENV{GSIWRF_LIB}" CACHE INTERNAL "WRFIO library" )
if(DEFINED ENV{WRF_IO_LIB})
set(wrflib "$ENV{WRF_IO_LIB}" CACHE INTERNAL "WRFIO library" )
elseif(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/libsrc/wrflib)
add_subdirectory(libsrc/wrflib)
else()
Expand Down Expand Up @@ -260,8 +260,8 @@ project(GSI)
endif(BUILD_ENKF)
if(BUILD_UTIL)
add_subdirectory(util/EnKF/gfs/src)
add_subdirectory(util/Ozone_Monitor/nwprod/oznmon_shared.v2.0.0/sorc/oznmon_horiz.fd)
add_subdirectory(util/Ozone_Monitor/nwprod/oznmon_shared.v2.0.0/sorc/oznmon_time.fd)
add_subdirectory(util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_horiz.fd)
add_subdirectory(util/Ozone_Monitor/nwprod/oznmon_shared/sorc/oznmon_time.fd)
add_subdirectory(util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radang.fd)
add_subdirectory(util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcoef.fd)
add_subdirectory(util/Radiance_Monitor/nwprod/radmon_shared/sorc/verf_radbcor.fd)
Expand Down
4 changes: 2 additions & 2 deletions cmake/Modules/FindBUFR.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ endif()

set( NO_DEFAULT_PATH )
if(NOT BUILD_BUFR )
if(DEFINED ENV{BUFR_LIBd} )
set(BUFR_LIBRARY $ENV{BUFR_LIBd} )
if(DEFINED ENV{BUFR_LIBd_DA} )
set(BUFR_LIBRARY $ENV{BUFR_LIBd_DA} )
message("BUFR library ${BUFR_LIBRARY} set via Environment variable")
else()
find_library( BUFR_LIBRARY
Expand Down
4 changes: 2 additions & 2 deletions cmake/Modules/FindCORELIBS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,8 @@ else()
set( w3nco "w3nco${libsuffix}")
endif()
if(NOT BUILD_BUFR )
if(DEFINED ENV{BUFR_LIBd} )
set(BUFR_LIBRARY $ENV{BUFR_LIBd} )
if(DEFINED ENV{BUFR_LIBd_DA} )
set(BUFR_LIBRARY $ENV{BUFR_LIBd_DA} )
else()
find_library( BUFR_LIBRARY
NAMES libbufr.a libbufr_d_64.a libbufr_i4r8.a libbufr_v${BUFR_VER}_d_64.a
Expand Down
1 change: 1 addition & 0 deletions cmake/Modules/platforms/Generic.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,6 @@ macro (setGeneric)
set(BUILD_SP "OFF" CACHE INTERNAL "Build the SP library" )
set(BUILD_CRTM "OFF" CACHE INTERNAL "Build the CRTM library" )
set(BUILD_W3EMC "OFF" CACHE INTERNAL "Build the EMC library" )
set(BUILD_W3NCO "OFF" CACHE INTERNAL "Build the EMC library" )
set(BUILD_NCO "OFF" CACHE INTERNAL "Build the NCO library" )
endmacro()
3 changes: 1 addition & 2 deletions cmake/Modules/setHOST.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,7 @@ macro( setHOST )
string(REGEX MATCH "discover" HOST-Discover ${HOSTNAME} )
string(REGEX MATCH "cheyenne" HOST-Cheyenne ${HOSTNAME} )
message("done figuring out host--${HOSTNAME}")
if ( BUILD_CORELIBS )
MESSAGE(STATUS "BUILD_CORELIBS manually-specified as ON")
if ( COMGSI )
set( host "GENERIC" )
set( HOST-Generic "TRUE" )
setGeneric()
Expand Down
121 changes: 121 additions & 0 deletions doc/Release_Notes.gfsda.v16.1.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
GFSDA.v16.1.0 RELEASE NOTES


PRELUDE

* The tag gfsda.v16.1.0 was created in the NOAA-EMC/GSI repository to
support the GFSv16.1 implementation and is included as a part of the
NOAA-EMC/global-workflow tag EMC-v16.1.0. See release notes
docs/Release_Notes.gfs.v16.1.0.txt in the NOAA-EMC/global-workflow
tag for more details on the motivation, workflow changes, and
implementation instructions.


FIX CHANGES

* fix/
* global_convinfo.txt: Change GeoOptics (SAID=265) from -1 to 1
for active assimilation


SCRIPTS CHANGES

* scripts/
* exgdas_atmos_chgres_forenkf.sh: Addresses GFSv16 bugzilla #1198
* exgdas_enkf_ecen.sh: Addresses GFSv16 bugzilla #1198
* exgdas_enkf_fcst.sh: Addresses GFSv16 bugzilla #1198
* exgdas_enkf_post.sh: Addresses GFSv16 bugzilla #1198
* exgdas_enkf_select_obs.sh: Addresses GFSv16 bugzilla #1198
* exgdas_enkf_sfc.sh: Addresses GFSv16 bugzilla #1198
* exgdas_enkf_update.sh: Addresses GFSv16 bugzilla #1198
* exglobal_atmos_analysis.sh: Addresses GFSv16 bugzilla #1198,
adds default values for commercial RO parameters
* exglobal_atmos_analysis_calc.sh: Addresses GFSv16 bugzilla #1198
* exglobal_diag.sh: Addresses GFSv16 bugzilla #1198


SRC CHANGES

* src/
* enkf/
* gridio_gfs.f90: Changes delz calculation to negative definite

* fv3gfs_ncio/
* module_fv3gfs_ncio.f90: Addresses GFSv16 bugzilla #1196

* gsi/
* cplr_gfs_ensmod.f90: Addresses GFSv16 bugzilla #1196
* genstats_gps.f90: GPSRO bugfix
* gesinfo.F90: Addresses GFSv16 bugzilla #1196
* gsimod.F90: Add commercial RO parameters
* guess_grids.F90: Add commercial RO parameters
* ncepnems_io.f90: Changes delz calculation to negative definite
* netcdfgfs_io.f90: Addresses GFSv16 bugzilla #1196 and delz sign bugfix
* read_files.f90: Addresses GFSv16 bugzilla #1196
* read_fl_hdob.f90: Addresses GFSv16 bugzilla #1205
* setupbend.f90: New QC and error inflation for commercial RO
* setuprad.f90: Bugfix for radiance diags
* stop1.f90: Addresses GFSv16 bugzilla #1196
* write_incr.f90: Delz bugfix


USH CHANGES

* ush/
* build_all_cmake.sh: Addresses DA aspects of GFSv16 bugzillas
#216, #1218, and #1222
* prune_4nco_global.sh: New script to address DA aspects of GFSv16
bugzillas #216 and #1222


UTIL CHANGES

* util/Radiance_Monitor/nwprod/gdas_radmon.v3.0.0/scripts/exgdas_atmos_verfrad.sh:
chgrp Megha-Tropiques SAPHIR radiance diagnostic file to rsptrod since
this is a restricted data type, partially address DA aspects of GFSv16
bugzilla #1221.


IMPLEMENTATION INSTRUCTIONS

* The GFS DA v16.1 tag must be installed in conjunction with the entire
GFS v16.1 package. See release notes docs/Release_Notes.gfs.v16.1.0.txt
in the NOAA-EMC/global-workflow tag EMC-v16.1.0 tag for instructions.


PRE-IMPLEMENTATION TESTING REQUIREMENTS

* Which production jobs should be tested as part of this implementation?
* The GFS DA package needs to be tested with the entire GFS suite.

* Does this change require a 30-day evaluation?
* No.


DISSEMINATION INFORMATION

* Where should this output be sent?
* No change from GFS v16.0

* Who are the users?
* No change from GFS v16.0

* Which output files should be transferred from PROD WCOSS to DEV WCOSS?
* No change from GFS v16.0

* Directory changes
* No change from GFS v16.0

* File changes
* No change from GFS v16.0


HPSS ARCHIVE

* No change from GFS v16.0


JOB DEPENDENCIES & FLOW DIAGRAM

* No change from GFSv16.0

2 changes: 1 addition & 1 deletion fix
Submodule fix updated from 82c9a4 to ad79df
133 changes: 133 additions & 0 deletions jobs/JGDAS_EFSOI
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
#!/bin/ksh
set -x

export RUN_ENVIR=${RUN_ENVIR:-"nco"}
export PS4='$SECONDS + '
date


#############################
# Source relevant config files
#############################
export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config}

configs="base anal efsoi"
config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config}
for config in $configs; do
. $config_path/config.$config
status=$?
[[ $status -ne 0 ]] && exit $status
done


##########################################
# Source machine runtime environment
##########################################
. $HOMEgfs/env/${machine}.env efsoi


status=$?
[[ $status -ne 0 ]] && exit $status


##############################################
# Obtain unique process id (pid) and make temp directory
##############################################
export pid=${pid:-$$}
export outid=${outid:-"LL$job"}
export DATA=${DATA:-${DATAROOT}/${jobid:?}}
mkdir -p $DATA
cd $DATA


##############################################
# Run setpdy and initialize PDY variables
##############################################
export cycle="t${cyc}z"
setpdy.sh
. ./PDY


##############################################
# Determine Job Output Name on System
##############################################
export pgmout="OUTPUT.${pid}"
export pgmerr=errfile


##############################################
# Set variables used in the exglobal script
##############################################
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


##############################################
# Begin JOB SPECIFIC work
##############################################

GDATE=$($NDATE -$assim_freq $CDATE)
gPDY=$(echo $GDATE | cut -c1-8)
export gcyc=$(echo $GDATE | cut -c9-10) # needed in namelist

VDATE=$($NDATE 24 $CDATE)
vPDY=$(echo $VDATE | cut -c1-8)
vcyc=$(echo $VDATE | cut -c9-10)

export APREFIX="${CDUMP}.t${cyc}z."
export GPREFIX="gdas.t${gcyc}z."
export ASUFFIX=${ASUFFIX:-$SUFFIX}
export GSUFFIX=${GSUFFIX:-$SUFFIX}



# COMIN_GES_ENS and COMOUT_ANL_ENS are used in script
export COMIN_GES_ENS="$ROTDIR/efsoigdas.$gPDY/$gcyc/$COMPONENT"
export COMOUT_ANL_ENS="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT"
export COMIN_ANL="$ROTDIR/$CDUMP.$vPDY/$vcyc/$COMPONENT"
export COMOUT_ANL_ENSFSOI="$ROTDIR/efsoi$CDUMP.$PDY/$cyc/$COMPONENT"
export OSENSE_SAVE_DIR="$ROTDIR/osense"
mkdir -p $OSENSE_SAVE_DIR
# ========================================================

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

${EFSOIUPDSH:-$SCRgfs/exgdas_efsoi.sh}
status=$?
[[ $status -ne 0 ]] && exit $status


##############################################
# End JOB SPECIFIC work
##############################################

##############################################
# Final processing
##############################################
if [ -e "$pgmout" ] ; then
cat $pgmout
fi


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


##########################################
# Remove the Temporary working directory
##########################################
cd $DATAROOT

[[ $KEEPDATA = "NO" ]] && rm -rf $DATA

date
exit 0
Loading

0 comments on commit 8e451d9

Please sign in to comment.