diff --git a/jobs/JGDAS_EFSOI b/jobs/JGDAS_EFSOI deleted file mode 100755 index 0fa38dc3e1..0000000000 --- a/jobs/JGDAS_EFSOI +++ /dev/null @@ -1,122 +0,0 @@ -#! /usr/bin/env bash - -source "$HOMEgfs/ush/preamble.sh" - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} - -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} - -configs="base anal efsoi" -config_path=${EXPDIR:-$PACKAGEROOT/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 VPREFIX="${CDUMP}.t${vcyc}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 - -${EFSOIUPDSH:-$SCRgfs/exgdas_efsoi.sh} -status=$? -[[ $status -ne 0 ]] && exit $status - -############################################## -# End JOB SPECIFIC work -############################################## - -############################################## -# Final processing -############################################## -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -########################################## -# Remove the Temporary working directory -########################################## -cd $DATAROOT - -[[ $KEEPDATA = "NO" ]] && rm -rf $DATA - - -exit 0 diff --git a/jobs/JGDAS_EFSOI_ECEN b/jobs/JGDAS_EFSOI_ECEN deleted file mode 100755 index c4d63bcc70..0000000000 --- a/jobs/JGDAS_EFSOI_ECEN +++ /dev/null @@ -1,132 +0,0 @@ -#! /usr/bin/env bash - -source "$HOMEgfs/ush/preamble.sh" - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} - -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -configs="base ecenfsoi" -config_path=${EXPDIR:-$PACKAGEROOT/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 ecenfsoi -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 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) -gcyc=$(echo $GDATE | cut -c9-10) -GDUMP=${GDUMP:-"gdas"} - -export CASE=$CASE_ENKF - - -EUPD_CYC=$(echo ${EUPD_CYC:-"gdas"} | tr a-z A-Z) -if [ $EUPD_CYC = "GFS" ]; then - CDUMP_ENKF="gfs" -else - CDUMP_ENKF=$CDUMP -fi - -export OPREFIX="${CDUMP}.t${cyc}z." -export APREFIX="${CDUMP}.t${cyc}z." -export APREFIX_ENKF="${CDUMP_ENKF}.t${cyc}z." -export GPREFIX="${CDUMP}.t${gcyc}z." -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} -else - export COMIN_OBS="$DMPDIR/$CDATE/$CDUMP" - export COMIN_GES_OBS="$DMPDIR/$GDATE/$GDUMP" -fi - -# COMIN, COMIN_ENS and COMIN_GES_ENS are used in script -export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" -export COMIN_ENS="$ROTDIR/efsoi$CDUMP_ENKF.$PDY/$cyc/$COMPONENT" -export COMOUT_ENS="$ROTDIR/efsoi$CDUMP.$PDY/$cyc/$COMPONENT" -export COMIN_GES_ENS="$ROTDIR/enkf$CDUMP.$gPDY/$gcyc/$COMPONENT" - - -############################################################### -# Run relevant script - -${ENKFRECENSH:-$SCRgfs/exgdas_enkf_ecen.sh} -status=$? -[[ $status -ne 0 ]] && exit $status - - -############################################## -# End JOB SPECIFIC work -############################################## - -############################################## -# Final processing -############################################## -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - - -########################################## -# Remove the Temporary working directory -########################################## -cd $DATAROOT -[[ $KEEPDATA = "NO" ]] && rm -rf $DATA - - -exit 0 diff --git a/jobs/JGDAS_EFSOI_FCST b/jobs/JGDAS_EFSOI_FCST deleted file mode 100755 index a4b67d3428..0000000000 --- a/jobs/JGDAS_EFSOI_FCST +++ /dev/null @@ -1,132 +0,0 @@ -#! /usr/bin/env bash - -source "$HOMEgfs/ush/preamble.sh" - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} - -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} -configs="base fcst efcsfsoi" -for config in $configs; do - . $config_path/config.$config - status=$? - [[ $status -ne 0 ]] && exit $status -done - - -########################################## -# Source machine runtime environment -########################################## -. $HOMEgfs/env/${machine}.env efcsfsoi -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 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 - -# tells the forecast script to use efsoi ensemble -export EFSOI_TASK="YES" - -############################################## -# Begin JOB SPECIFIC work -############################################## - -export CASE=$CASE_ENKF - -# COMOUT is used in script -export COMOUT="$ROTDIR/efsoi$CDUMP.$PDY/$cyc/$COMPONENT" - - -# Forecast length for EnKF forecast -export FHMIN_ENKF=${FHMIN_EFSOI:-0} -export FHOUT_ENKF=${FHOUT_EFSOI:-6} -export FHMAX_ENKF=${FHMAX_EFSOI:-30} -export FHMIN=$FHMIN_ENKF -export FHOUT=$FHOUT_ENKF -export FHMAX=$FHMAX_ENKF - -export FORECASTSH=$HOMEgfs/scripts/exglobal_forecast.sh - - -# Get ENSBEG/ENSEND from ENSGRP and NMEM_EFCSGRP -export ENSEND=$((NMEM_EFCSGRP * ENSGRP)) -export ENSBEG=$((ENSEND - NMEM_EFCSGRP + 1)) - - -############################################################### -# Run relevant script - -${ENKFFCSTSH:-$SCRgfs/exgdas_enkf_fcst.sh} -status=$? -[[ $status -ne 0 ]] && exit $status - - -# Double check the status of members in ENSGRP -EFCSGRP=$COMOUT/efcs.grp${ENSGRP} -npass=0 -if [ -f $EFCSGRP ]; then - npass=$(grep "PASS" $EFCSGRP | wc -l) -fi -echo "$npass/$NMEM_EFCSGRP members successfull in efcs.grp$ENSGRP" -if [ $npass -ne $NMEM_EFCSGRP ]; then - echo "FATAL ERROR: Failed members in group $ENSGRP, ABORT!" - cat $EFCSGRP - exit 99 -fi - - -############################################## -# End JOB SPECIFIC work -############################################## - -############################################## -# Final processing -############################################## -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -########################################## -# Remove the Temporary working directory -########################################## -cd $DATAROOT -[[ $KEEPDATA = "NO" ]] && rm -rf $DATA - - -exit 0 diff --git a/jobs/JGDAS_EFSOI_POST b/jobs/JGDAS_EFSOI_POST deleted file mode 100755 index f096aff28e..0000000000 --- a/jobs/JGDAS_EFSOI_POST +++ /dev/null @@ -1,109 +0,0 @@ -#! /usr/bin/env bash - -source "$HOMEgfs/ush/preamble.sh" - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} - -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -configs="base eposfsoi" -config_path=${EXPDIR:-$PACKAGEROOT/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 eposfsoi -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 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 -############################################## -export GFS_NCIO=${GFS_NCIO:-"YES"} - -export PREFIX="${CDUMP}.t${cyc}z." - -# COMIN, COMOUT are used in script -export COMIN="$ROTDIR/efsoi$CDUMP.$PDY/$cyc/$COMPONENT" -export COMOUT="$ROTDIR/efsoi$CDUMP.$PDY/$cyc/$COMPONENT" - - -export LEVS=$((LEVS-1)) - -#export FHMIN_EPOS=6 -#export FHMAX_EPOS=30 -#export FHOUT_EPOS=6 - - -############################################################### -# Run relevant script - -${ENKFPOSTSH:-$SCRgfs/exgdas_enkf_post.sh} -status=$? -[[ $status -ne 0 ]] && exit $status - - -############################################## -# End JOB SPECIFIC work -############################################## - -############################################## -# Final processing -############################################## -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -########################################## -# Remove the Temporary working directory -########################################## -cd $DATAROOT -[[ $KEEPDATA = "NO" ]] && rm -rf $DATA - - -exit 0 diff --git a/jobs/JGDAS_EFSOI_SFC b/jobs/JGDAS_EFSOI_SFC deleted file mode 100755 index 18a9c24c7f..0000000000 --- a/jobs/JGDAS_EFSOI_SFC +++ /dev/null @@ -1,143 +0,0 @@ -#! /usr/bin/env bash - -source "$HOMEgfs/ush/preamble.sh" - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} - -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -configs="base esfcfsoi" -config_path=${EXPDIR:-$PACKAGEROOT/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 esfcfsoi -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 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) -gcyc=$(echo $GDATE | cut -c9-10) -GDUMP=${GDUMP:-"gdas"} - -export CASE=$CASE_ENKF - - -EUPD_CYC=$(echo ${EUPD_CYC:-"gdas"} | tr a-z A-Z) -if [ $EUPD_CYC = "GFS" ]; then - CDUMP_ENKF="gfs" -else - CDUMP_ENKF=$CDUMP -fi - -export OPREFIX="${CDUMP}.t${cyc}z." -export APREFIX="${CDUMP}.t${cyc}z." -export APREFIX_ENKF="${CDUMP_ENKF}.t${cyc}z." -export GPREFIX="${CDUMP}.t${gcyc}z." -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} -else - export COMIN_OBS="$DMPDIR/$CDATE/$CDUMP" - export COMIN_GES_OBS="$DMPDIR/$GDATE/$GDUMP" -fi - -# COMIN, COMIN_ENS and COMIN_GES_ENS are used in script -# Current GDAS comrot folder -export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" - -# Current ENKF (EFSOI) comrot folder -export COMIN_ENS="$ROTDIR/efsoi$CDUMP_ENKF.$PDY/$cyc/$COMPONENT" - -# Current ENKF (EFSOI) comrot folder -export COMOUT_ENS="$ROTDIR/efsoi$CDUMP.$PDY/$cyc/$COMPONENT" - -# Previous ENKF comrot folder -export COMIN_GES_ENS="$ROTDIR/enkf$CDUMP.$gPDY/$gcyc/$COMPONENT" - -#export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$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" - - -############################################################### -# Run relevant script - -${ENKFRESFCSH:-$SCRgfs/exgdas_enkf_sfc.sh} -status=$? -[[ $status -ne 0 ]] && exit $status - - -############################################## -# End JOB SPECIFIC work -############################################## - -############################################## -# Final processing -############################################## -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -########################################## -# Remove the Temporary working directory -########################################## -cd $DATAROOT -[[ $KEEPDATA = "NO" ]] && rm -rf $DATA - - -exit 0 diff --git a/jobs/JGDAS_EFSOI_UPDATE b/jobs/JGDAS_EFSOI_UPDATE deleted file mode 100755 index c0f491dcd5..0000000000 --- a/jobs/JGDAS_EFSOI_UPDATE +++ /dev/null @@ -1,126 +0,0 @@ -#! /usr/bin/env bash - -source "$HOMEgfs/ush/preamble.sh" - -export RUN_ENVIR=${RUN_ENVIR:-"nco"} - -############################# -# Source relevant config files -############################# -export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} - -configs="base anal eupdfsoi" -config_path=${EXPDIR:-$PACKAGEROOT/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 eupdfsoi - - -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) -gcyc=$(echo $GDATE | 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/enkfgdas.$gPDY/$gcyc/$COMPONENT" -export COMOUT_ANL_ENS="$ROTDIR/enkf$CDUMP.$PDY/$cyc/$COMPONENT" -export COMOUT_ANL_ENSFSOI="$ROTDIR/efsoi$CDUMP.$PDY/$cyc/$COMPONENT" - - - -mkdir -p $COMOUT_ANL_ENSFSOI - -############################################################### -# Run relevant exglobal script - -${EFSOIUPDSH:-$SCRgfs/exgdas_efsoi_update.sh} -status=$? -[[ $status -ne 0 ]] && exit $status - - -############################################## -# Send Alerts -############################################## -if [ $SENDDBN = YES ] ; then - $DBNROOT/bin/dbn_alert MODEL ENKF1_MSC_enkfstat $job $COMOUT_ANL_ENSFSOI/${APREFIX}enkfstat -fi - - -############################################## -# End JOB SPECIFIC work -############################################## - -############################################## -# Final processing -############################################## -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -########################################## -# Remove the Temporary working directory -########################################## -cd $DATAROOT - -[[ $KEEPDATA = "NO" ]] && rm -rf $DATA - - -exit 0 diff --git a/scripts/exgdas_efsoi.sh b/scripts/exgdas_efsoi.sh deleted file mode 100755 index 95d20bb46e..0000000000 --- a/scripts/exgdas_efsoi.sh +++ /dev/null @@ -1,258 +0,0 @@ -#! /usr/bin/env bash - -################################################################################ -#### UNIX Script Documentation Block -# . . -# Script name: exgdas_efsoi.sh -# Script description: Runs efsoi to make observation sensitivities -# -# Author: Liaofan Lin/Andrew Eichmann Date: 2020-12-03 -# -# Abstract: This script runs the efsoi executable -# -# $Id$ -# -# Attributes: -# Language: POSIX shell -# -################################################################################ - -source "$HOMEgfs/ush/preamble.sh" - -# Directories. -pwd=$(pwd) - -# Utilities -NCP=${NCP:-"/bin/cp -p"} -NLN=${NLN:-"/bin/ln -sf"} -ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'} -NEMSIOGET=${NEMSIOGET:-$NWPROD/utils/exec/nemsio_get} -NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} -USE_CFP=${USE_CFP:-"NO"} -CFP_MP=${CFP_MP:-"NO"} -nm="" -if [ $CFP_MP = "YES" ]; then - nm=0 -fi -APRUNCFP=${APRUNCFP:-""} -APRUN_ENKF=${APRUN_ENKF:-${APRUN:-""}} -NTHREADS_ENKF=${NTHREADS_ENKF:-${NTHREADS:-1}} - -# Executables -EFSOIEXEC=${EFSOIEXEC:-$HOMEgfs/exec/global_efsoi.x} - -# Cycling and forecast hour specific parameters -CDATE=${CDATE:-"2001010100"} - -# Filenames. -GPREFIX=${GPREFIX:-""} -GSUFFIX=${GSUFFIX:-$SUFFIX} -APREFIX=${APREFIX:-""} -ASUFFIX=${ASUFFIX:-$SUFFIX} -VPREFIX=${VPREFIX:-""} -VSUFFIX=${VSUFFIX:-$SUFFIX} - -SMOOTH_ENKF=${SMOOTH_ENKF:-"YES"} - -EFSOISTAT=${EFSOISTAT:-${APREFIX}efsoistat} - -VERFANL=${VERFANL:-${VPREFIX}atmanl.ensres.nc} -INITANL=${INITANL:-${APREFIX}atmanl.ensres.nc} -FCSTLONG=${GPREFIX}atmf030.ensmean.nc -FCSTSHORT=${APREFIX}atmf024.ensmean.nc -OSENSEIN=osense_${CDATE}_init.dat -OSENSEOUT=osense_${CDATE}_final.dat - -# this needs to be set manually because params in enkf will default to fhr03 -fgfileprefixes=sfg_${CDATE}_fhr06_ - -#analysise Namelst parameters -NMEM_ENKF=${NMEM_ENKF:-80} -NAM_ENKF=${NAM_ENKF:-""} -corrlength=${corrlength:-1250} -lnsigcutoff=${lnsigcutoff:-2.5} -reducedgrid=${reducedgrid:-".true."} -letkf_flag=${letkf_flag:-".false."} -getkf=${getkf:-".false."} -denkf=${denkf:-".false."} -nobsl_max=${nobsl_max:-10000} -lobsdiag_forenkf=${lobsdiag_forenkf:-".false."} -write_spread_diag=${write_spread_diag:-".false."} -cnvw_option=${cnvw_option:-".false."} -modelspace_vloc=${modelspace_vloc:-".false."} # if true, 'vlocal_eig.dat' is needed - -################################################################################ -ATMGES_ENSMEAN=$COMIN_ANL/$VERFANL -if [ $SUFFIX = ".nc" ]; then - LONB_ENKF=${LONB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_xt)} # get LONB_ENKF - LATB_ENKF=${LATB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_yt)} # get LATB_ENFK - LEVS_ENKF=${LEVS_ENKF:-$($NCLEN $ATMGES_ENSMEAN pfull)} # get LEVS_ENFK - use_gfs_ncio=".true." - use_gfs_nemsio=".false." - paranc=${paranc:-".true."} -else - LEVS_ENKF=${LEVS_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimz | awk '{print $2}')} - LATB_ENKF=${LATB_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimy | awk '{print $2}')} - LONB_ENKF=${LONB_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimx | awk '{print $2}')} - use_gfs_ncio=".false." - use_gfs_nemsio=".true." - paranc=${paranc:-".false."} -fi -LATA_ENKF=${LATA_ENKF:-$LATB_ENKF} -LONA_ENKF=${LONA_ENKF:-$LONB_ENKF} - -SATANGL=${SATANGL:-${FIXgsi}/global_satangbias.txt} -SATINFO=${SATINFO:-${FIXgsi}/global_satinfo.txt} -CONVINFO=${CONVINFO:-${FIXgsi}/global_convinfo.txt} -OZINFO=${OZINFO:-${FIXgsi}/global_ozinfo.txt} -SCANINFO=${SCANINFO:-${FIXgsi}/global_scaninfo.txt} -HYBENSINFO=${HYBENSINFO:-${FIXgsi}/global_hybens_info.l${LEVS_ENKF}.txt} -ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS_ENKF}.txt} -VLOCALEIG=${VLOCALEIG:-${FIXgsi}/vlocal_eig_l${LEVS_ENKF}.dat} - -ENKF_SUFFIX="s" -[[ $SMOOTH_ENKF = "NO" ]] && ENKF_SUFFIX="" - -################################################################################ -# Preprocessing -mkdata=NO -if [ ! -d $DATA ]; then - mkdata=YES - mkdir -p $DATA -fi -cd $DATA || exit 99 - -################################################################################ -# Fixed files -$NLN $SATANGL satbias_angle -$NLN $SATINFO satinfo -$NLN $SCANINFO scaninfo -$NLN $CONVINFO convinfo -$NLN $OZINFO ozinfo -$NLN $HYBENSINFO hybens_info -$NLN $ANAVINFO anavinfo -$NLN $VLOCALEIG vlocal_eig.dat - -################################################################################ -# Ensemble guess, observational data and analyses/increments - -nfhrs=$(echo $IAUFHRS_ENKF | sed 's/,/ /g') -for imem in $(seq 1 $NMEM_ENKF); do - memchar="mem"$(printf %03i $imem) - mkdir ${memchar} - $NLN $COMOUT_ANL_ENSFSOI/$memchar/${APREFIX}atmf024.nc ${memchar} -done - -$NLN $COMIN_GES_ENS/${GPREFIX}atmf006.ensmean${GSUFFIX} sfg_${CDATE}_fhr06_ensmean -$NLN $COMIN_GES_ENS/${GPREFIX}atmf006.ensmean${GSUFFIX} sfg_${CDATE}_fhr03_ensmean - -# The following deals with different files with the same local name (assuming -# a 24hr EFSOI forecast): -# both are hybrid analyses from gdas - one from CDATE saved during the -# corresponding GDAS cycle in the efsoigdas tree to be used in -# the localization advection in EFSOI, the other from VDATE to be used -# for verification. - -# saved analysis to be used for localization advection -$NLN $COMOUT_ANL_ENSFSOI/${INITANL} ${APREFIX}atmanl.ensmean.nc - -$NLN $ATMGES_ENSMEAN . - -# forecasts -$NLN $COMIN_GES_ENS/$FCSTLONG . -$NLN $COMOUT_ANL_ENSFSOI/$FCSTSHORT . - -# inital osense file -# efsoi.x will read then clobber this -$NCP $COMOUT_ANL_ENSFSOI/$OSENSEIN osense_${CDATE}.dat - - - - -if [ $USE_CFP = "YES" ]; then - chmod 755 $DATA/mp_untar.sh - ncmd=$(cat $DATA/mp_untar.sh | wc -l) - if [ $ncmd -gt 0 ]; then - ncmd_max=$((ncmd < npe_node_max ? ncmd : npe_node_max)) - APRUNCFP=$(eval echo $APRUNCFP) - $APRUNCFP $DATA/mp_untar.sh - export ERR=$? - export err=$ERR - $ERRSCRIPT || exit 3 - fi -fi - -################################################################################ -# Create global_enkf namelist -# This is trimmed down to the entries relevant to the EFSOI code -# AFE changed from original: -# gdatehr, datehr, andataname added -# analpertwt and lnsigcutoff changed upstream -# numiter from 0 to 1 -# fso_cycling=.true., -# efsoi_flag=.true., -# wmoist=1.0,adrate=0.75 - - - -cat > enkf.nml << EOFnml -&nam_enkf - datestring="$CDATE",datapath="$DATA/", - gdatehr=$gcyc, - datehr=$cyc, - fgfileprefixes=$fgfileprefixes - andataname="$VERFANL", - corrlengthnh=${corrlength},corrlengthsh=${corrlength},corrlengthtr=${corrlength}, - lnsigcutoffnh=${lnsigcutoff},lnsigcutoffsh=${lnsigcutoff},lnsigcutofftr=${lnsigcutoff}, - lnsigcutoffpsnh=${lnsigcutoff},lnsigcutoffpssh=${lnsigcutoff},lnsigcutoffpstr=${lnsigcutoff}, - lnsigcutoffsatnh=${lnsigcutoff},lnsigcutoffsatsh=${lnsigcutoff},lnsigcutoffsattr=${lnsigcutoff}, - obtimelnh=1.e30,obtimelsh=1.e30,obtimeltr=1.e30, - nlons=$LONA_ENKF,nlats=$LATA_ENKF,nlevs=$LEVS_ENKF,nanals=$NMEM_ENKF, - reducedgrid=${reducedgrid}, - use_gfs_nemsio=${use_gfs_nemsio},use_gfs_ncio=${use_gfs_ncio}, - univaroz=.false., - adp_anglebc=.true.,angord=4,use_edges=.false.,emiss_bc=.true., - letkf_flag=${letkf_flag},nobsl_max=${nobsl_max},denkf=${denkf},getkf=${getkf}., - lobsdiag_forenkf=$lobsdiag_forenkf, - write_spread_diag=$write_spread_diag, - modelspace_vloc=$modelspace_vloc, - efsoi_cycling=.true., - efsoi_flag=.true., - wmoist=1.0, - adrate=0.75 -/ -&satobs_enkf -/ -&ozobs_enkf -/ -EOFnml - -################################################################################ -# Run enkf update - -export OMP_NUM_THREADS=$NTHREADS_ENKF -export pgm=$EFSOIEXEC -. prep_step - -$NCP $EFSOIEXEC $DATA -$APRUN_ENKF ${DATA}/$(basename $EFSOIEXEC) 1>stdout 2>stderr -rc=$? - -export ERR=$rc -export err=$ERR -$ERRSCRIPT || exit 2 - -# Cat runtime output files. -cat stdout stderr > $COMOUT_ANL_ENSFSOI/$EFSOISTAT - -$NCP osense_${CDATE}.dat $COMOUT_ANL_ENSFSOI/$OSENSEOUT -$NCP osense_${CDATE}.dat $OSENSE_SAVE_DIR/$OSENSEOUT - -################################################################################ -# Postprocessing - -cd $pwd -[[ $mkdata = "YES" ]] && rm -rf $DATA - - -exit $err diff --git a/scripts/exgdas_efsoi_update.sh b/scripts/exgdas_efsoi_update.sh deleted file mode 100755 index 7e755f4ecf..0000000000 --- a/scripts/exgdas_efsoi_update.sh +++ /dev/null @@ -1,421 +0,0 @@ -#! /usr/bin/env bash - -################################################################################ -#### UNIX Script Documentation Block -# . . -# Script name: exgdas_efsoi_update.sh -# Script description: Make global_enkf update for efsoi -# -# Author: Rahul Mahajan Org: NCEP/EMC Date: 2017-03-02 -# Author: Liaofan Lin/Andrew Eichmann Date: 2020-12-03 -# -# Abstract: This script runs the global_enkf update for efsoi -# -# $Id$ -# -# Attributes: -# Language: POSIX shell -# -################################################################################ - -source "$HOMEgfs/ush/preamble.sh" - -# Directories. -pwd=$(pwd) - -# Utilities -NCP=${NCP:-"/bin/cp -p"} -NLN=${NLN:-"/bin/ln -sf"} -ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'} -NEMSIOGET=${NEMSIOGET:-$NWPROD/utils/exec/nemsio_get} -NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} -USE_CFP=${USE_CFP:-"NO"} -CFP_MP=${CFP_MP:-"NO"} -nm="" -if [ $CFP_MP = "YES" ]; then - nm=0 -fi -APRUNCFP=${APRUNCFP:-""} -APRUN_ENKF=${APRUN_ENKF:-${APRUN:-""}} -NTHREADS_ENKF=${NTHREADS_ENKF:-${NTHREADS:-1}} - -# Executables -ENKFEXEC=${ENKFEXEC:-$HOMEgfs/exec/global_enkf.x} - -# Cycling and forecast hour specific parameters -CDATE=${CDATE:-"2001010100"} - -# Filenames. -GPREFIX=${GPREFIX:-""} -GSUFFIX=${GSUFFIX:-$SUFFIX} -APREFIX=${APREFIX:-""} -ASUFFIX=${ASUFFIX:-$SUFFIX} - -SMOOTH_ENKF=${SMOOTH_ENKF:-"YES"} - -GBIASe=${GBIASe:-${APREFIX}abias_int.ensmean} -ATMANL_GSI_ENSRES=$COMINatmos/${APREFIX}atmanl.ensres$ASUFFIX -CNVSTAT=${CNVSTAT:-${APREFIX}cnvstat} -OZNSTAT=${OZNSTAT:-${APREFIX}oznstat} -RADSTAT=${RADSTAT:-${APREFIX}radstat} -ENKFSTAT=${ENKFSTAT:-${APREFIX}enkfstat} - -# Namelist parameters -USE_CORRELATED_OBERRS=${USE_CORRELATED_OBERRS:-"NO"} -NMEM_ENKF=${NMEM_ENKF:-80} -NAM_ENKF=${NAM_ENKF:-""} -SATOBS_ENKF=${SATOBS_ENKF:-""} -OZOBS_ENKF=${OZOBS_ENKF:-""} -use_correlated_oberrs=${use_correlated_oberrs:-".false."} -if [ $USE_CORRELATED_OBERRS == "YES" ]; then - use_correlated_oberrs=".true." -fi -imp_physics=${imp_physics:-"99"} -lupp=${lupp:-".true."} -corrlength=${corrlength:-1250} -lnsigcutoff=${lnsigcutoff:-2.5} -analpertwt=${analpertwt:-0.85} -readin_localization_enkf=${readin_localization_enkf:-".true."} -reducedgrid=${reducedgrid:-".true."} -letkf_flag=${letkf_flag:-".false."} -getkf=${getkf:-".false."} -denkf=${denkf:-".false."} -nobsl_max=${nobsl_max:-10000} -lobsdiag_forenkf=${lobsdiag_forenkf:-".false."} -write_spread_diag=${write_spread_diag:-".false."} -cnvw_option=${cnvw_option:-".false."} -netcdf_diag=${netcdf_diag:-".true."} -modelspace_vloc=${modelspace_vloc:-".false."} # if true, 'vlocal_eig.dat' is needed -IAUFHRS_ENKF=${IAUFHRS_ENKF:-6} -DO_CALC_INCREMENT=${DO_CALC_INCREMENT:-"NO"} -INCREMENTS_TO_ZERO=${INCREMENTS_TO_ZERO:-"'NONE'"} - -################################################################################ -ATMGES_ENSMEAN=$COMIN_GES_ENS/${GPREFIX}atmf006.ensmean${GSUFFIX} -if [ $SUFFIX = ".nc" ]; then - LONB_ENKF=${LONB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_xt)} # get LONB_ENKF - LATB_ENKF=${LATB_ENKF:-$($NCLEN $ATMGES_ENSMEAN grid_yt)} # get LATB_ENFK - LEVS_ENKF=${LEVS_ENKF:-$($NCLEN $ATMGES_ENSMEAN pfull)} # get LEVS_ENFK - use_gfs_ncio=".true." - use_gfs_nemsio=".false." - paranc=${paranc:-".true."} - if [ $DO_CALC_INCREMENT = "YES" ]; then - write_fv3_incr=".false." - else - write_fv3_incr=".true." - WRITE_INCR_ZERO="incvars_to_zero= $INCREMENTS_TO_ZERO," - fi -else - LEVS_ENKF=${LEVS_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimz | awk '{print $2}')} - LATB_ENKF=${LATB_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimy | awk '{print $2}')} - LONB_ENKF=${LONB_ENKF:-$($NEMSIOGET $ATMGES_ENSMEAN dimx | awk '{print $2}')} - use_gfs_ncio=".false." - use_gfs_nemsio=".true." - paranc=${paranc:-".false."} -fi -LATA_ENKF=${LATA_ENKF:-$LATB_ENKF} -LONA_ENKF=${LONA_ENKF:-$LONB_ENKF} - -SATANGL=${SATANGL:-${FIXgsi}/global_satangbias.txt} -SATINFO=${SATINFO:-${FIXgsi}/global_satinfo.txt} -CONVINFO=${CONVINFO:-${FIXgsi}/global_convinfo.txt} -OZINFO=${OZINFO:-${FIXgsi}/global_ozinfo.txt} -SCANINFO=${SCANINFO:-${FIXgsi}/global_scaninfo.txt} -HYBENSINFO=${HYBENSINFO:-${FIXgsi}/global_hybens_info.l${LEVS_ENKF}.txt} -ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS_ENKF}.txt} -VLOCALEIG=${VLOCALEIG:-${FIXgsi}/vlocal_eig_l${LEVS_ENKF}.dat} - -ENKF_SUFFIX="s" -[[ $SMOOTH_ENKF = "NO" ]] && ENKF_SUFFIX="" - -################################################################################ -# Preprocessing -mkdata=NO -if [ ! -d $DATA ]; then - mkdata=YES - mkdir -p $DATA -fi -cd $DATA || exit 99 - -################################################################################ -# Fixed files -$NLN $SATANGL satbias_angle -$NLN $SATINFO satinfo -$NLN $SCANINFO scaninfo -$NLN $CONVINFO convinfo -$NLN $OZINFO ozinfo -$NLN $HYBENSINFO hybens_info -$NLN $ANAVINFO anavinfo -$NLN $VLOCALEIG vlocal_eig.dat - -# Bias correction coefficients based on the ensemble mean -$NLN $COMOUT_ANL_ENS/$GBIASe satbias_in - -################################################################################ - -if [ $USE_CFP = "YES" ]; then - [[ -f $DATA/untar.sh ]] && rm $DATA/untar.sh - [[ -f $DATA/mp_untar.sh ]] && rm $DATA/mp_untar.sh - set +x - cat > $DATA/untar.sh << EOFuntar -#!/bin/sh -memchar=\$1 -flist="$CNVSTAT $OZNSTAT $RADSTAT" -for ftype in \$flist; do - if [ \$memchar = "ensmean" ]; then - fname=$COMOUT_ANL_ENS/\${ftype}.ensmean - else - fname=$COMOUT_ANL_ENS/\$memchar/\$ftype - fi - tar -xvf \$fname -done -EOFuntar - chmod 755 $DATA/untar.sh -fi - -################################################################################ -# Ensemble guess, observational data and analyses/increments - -flist="$CNVSTAT $OZNSTAT $RADSTAT" -if [ $USE_CFP = "YES" ]; then - echo "$nm $DATA/untar.sh ensmean" | tee -a $DATA/mp_untar.sh - if [ ${CFP_MP:-"NO"} = "YES" ]; then - nm=$((nm+1)) - fi -else - for ftype in $flist; do - fname=$COMOUT_ANL_ENS/${ftype}.ensmean - tar -xvf $fname - done -fi -nfhrs=$(echo $IAUFHRS_ENKF | sed 's/,/ /g') -for imem in $(seq 1 $NMEM_ENKF); do - memchar="mem"$(printf %03i $imem) - if [ $lobsdiag_forenkf = ".false." ]; then - if [ $USE_CFP = "YES" ]; then - echo "$nm $DATA/untar.sh $memchar" | tee -a $DATA/mp_untar.sh - if [ ${CFP_MP:-"NO"} = "YES" ]; then - nm=$((nm+1)) - fi - else - for ftype in $flist; do - fname=$COMOUT_ANL_ENS/$memchar/$ftype - tar -xvf $fname - done - fi - fi - mkdir -p $COMOUT_ANL_ENSFSOI/$memchar - for FHR in $nfhrs; do - $NLN $COMIN_GES_ENS/$memchar/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}${GSUFFIX} sfg_${CDATE}_fhr0${FHR}_${memchar} - if [ $cnvw_option = ".true." ]; then - $NLN $COMIN_GES_ENS/$memchar/${GPREFIX}sfcf00${FHR}${GSUFFIX} sfgsfc_${CDATE}_fhr0${FHR}_${memchar} - fi - if [ $FHR -eq 6 ]; then - if [ $DO_CALC_INCREMENT = "YES" ]; then - #$NLN $COMOUT_ANL_ENS/$memchar/${APREFIX}atmanl${ASUFFIX} sanl_${CDATE}_fhr0${FHR}_${memchar} - $NLN $COMOUT_ANL_ENSFSOI/$memchar/${APREFIX}atmanl${ASUFFIX} sanl_${CDATE}_fhr0${FHR}_ni${memchar} - else - #$NLN $COMOUT_ANL_ENS/$memchar/${APREFIX}atminc${ASUFFIX} incr_${CDATE}_fhr0${FHR}_${memchar} - $NLN $COMOUT_ANL_ENSFSOI/$memchar/${APREFIX}atminc${ASUFFIX} incr_${CDATE}_fhr0${FHR}_ni${memchar} - fi - else - if [ $DO_CALC_INCREMENT = "YES" ]; then - #$NLN $COMOUT_ANL_ENS/$memchar/${APREFIX}atma00${FHR}${ASUFFIX} sanl_${CDATE}_fhr0${FHR}_${memchar} - $NLN $COMOUT_ANL_ENSFSOI/$memchar/${APREFIX}atma00${FHR}${ASUFFIX} sanl_${CDATE}_fhr0${FHR}_ni${memchar} - else - #$NLN $COMOUT_ANL_ENS/$memchar/${APREFIX}atmi00${FHR}${ASUFFIX} incr_${CDATE}_fhr0${FHR}_${memchar} - $NLN $COMOUT_ANL_ENSFSOI/$memchar/${APREFIX}atmi00${FHR}${ASUFFIX} incr_${CDATE}_fhr0${FHR}_ni${memchar} - fi - fi - done -done - -# Ensemble mean guess -for FHR in $nfhrs; do - $NLN $COMIN_GES_ENS/${GPREFIX}atmf00${FHR}.ensmean${GSUFFIX} sfg_${CDATE}_fhr0${FHR}_ensmean - if [ $cnvw_option = ".true." ]; then - $NLN $COMIN_GES_ENS/${GPREFIX}sfcf00${FHR}.ensmean${GSUFFIX} sfgsfc_${CDATE}_fhr0${FHR}_ensmean - fi -done - -if [ $USE_CFP = "YES" ]; then - chmod 755 $DATA/mp_untar.sh - ncmd=$(cat $DATA/mp_untar.sh | wc -l) - if [ $ncmd -gt 0 ]; then - ncmd_max=$((ncmd < npe_node_max ? ncmd : npe_node_max)) - APRUNCFP=$(eval echo $APRUNCFP) - $APRUNCFP $DATA/mp_untar.sh - export ERR=$? - export err=$ERR - $ERRSCRIPT || exit 3 - fi -fi - -# Keep osense data in comrot -$NLN $COMOUT_ANL_ENSFSOI/osense_${CDATE}_init.dat osense_${CDATE}.dat - -################################################################################ -# Create global_enkf namelist -cat > enkf.nml << EOFnml -&nam_enkf - datestring="$CDATE",datapath="$DATA/", - analpertwtnh=${analpertwt},analpertwtsh=${analpertwt},analpertwttr=${analpertwt}, - covinflatemax=1.e2,covinflatemin=1,pseudo_rh=.true.,iassim_order=0, - corrlengthnh=${corrlength},corrlengthsh=${corrlength},corrlengthtr=${corrlength}, - lnsigcutoffnh=${lnsigcutoff},lnsigcutoffsh=${lnsigcutoff},lnsigcutofftr=${lnsigcutoff}, - lnsigcutoffpsnh=${lnsigcutoff},lnsigcutoffpssh=${lnsigcutoff},lnsigcutoffpstr=${lnsigcutoff}, - lnsigcutoffsatnh=${lnsigcutoff},lnsigcutoffsatsh=${lnsigcutoff},lnsigcutoffsattr=${lnsigcutoff}, - obtimelnh=1.e30,obtimelsh=1.e30,obtimeltr=1.e30, - saterrfact=1.0,numiter=0, - sprd_tol=1.e30,paoverpb_thresh=0.98, - nlons=$LONA_ENKF,nlats=$LATA_ENKF,nlevs=$LEVS_ENKF,nanals=$NMEM_ENKF, - deterministic=.true.,sortinc=.true.,lupd_satbiasc=.false., - reducedgrid=${reducedgrid},readin_localization=${readin_localization_enkf}., - use_gfs_nemsio=${use_gfs_nemsio},use_gfs_ncio=${use_gfs_ncio},imp_physics=$imp_physics,lupp=$lupp, - univaroz=.false.,adp_anglebc=.true.,angord=4,use_edges=.false.,emiss_bc=.true., - letkf_flag=${letkf_flag},nobsl_max=${nobsl_max},denkf=${denkf},getkf=${getkf}., - nhr_anal=${IAUFHRS_ENKF},nhr_state=${IAUFHRS_ENKF},use_qsatensmean=.true., - lobsdiag_forenkf=$lobsdiag_forenkf, - write_spread_diag=$write_spread_diag, - modelspace_vloc=$modelspace_vloc, - use_correlated_oberrs=${use_correlated_oberrs}, - netcdf_diag=$netcdf_diag,cnvw_option=$cnvw_option, - paranc=$paranc,write_fv3_incr=$write_fv3_incr, - efsoi_cycling=.true., - $WRITE_INCR_ZERO - $NAM_ENKF -/ -&satobs_enkf - sattypes_rad(1) = 'amsua_n15', dsis(1) = 'amsua_n15', - sattypes_rad(2) = 'amsua_n18', dsis(2) = 'amsua_n18', - sattypes_rad(3) = 'amsua_n19', dsis(3) = 'amsua_n19', - sattypes_rad(4) = 'amsub_n16', dsis(4) = 'amsub_n16', - sattypes_rad(5) = 'amsub_n17', dsis(5) = 'amsub_n17', - sattypes_rad(6) = 'amsua_aqua', dsis(6) = 'amsua_aqua', - sattypes_rad(7) = 'amsua_metop-a', dsis(7) = 'amsua_metop-a', - sattypes_rad(8) = 'airs_aqua', dsis(8) = 'airs_aqua', - sattypes_rad(9) = 'hirs3_n17', dsis(9) = 'hirs3_n17', - sattypes_rad(10)= 'hirs4_n19', dsis(10)= 'hirs4_n19', - sattypes_rad(11)= 'hirs4_metop-a', dsis(11)= 'hirs4_metop-a', - sattypes_rad(12)= 'mhs_n18', dsis(12)= 'mhs_n18', - sattypes_rad(13)= 'mhs_n19', dsis(13)= 'mhs_n19', - sattypes_rad(14)= 'mhs_metop-a', dsis(14)= 'mhs_metop-a', - sattypes_rad(15)= 'goes_img_g11', dsis(15)= 'imgr_g11', - sattypes_rad(16)= 'goes_img_g12', dsis(16)= 'imgr_g12', - sattypes_rad(17)= 'goes_img_g13', dsis(17)= 'imgr_g13', - sattypes_rad(18)= 'goes_img_g14', dsis(18)= 'imgr_g14', - sattypes_rad(19)= 'goes_img_g15', dsis(19)= 'imgr_g15', - sattypes_rad(20)= 'avhrr_n18', dsis(20)= 'avhrr3_n18', - sattypes_rad(21)= 'avhrr_metop-a', dsis(21)= 'avhrr3_metop-a', - sattypes_rad(22)= 'avhrr_n19', dsis(22)= 'avhrr3_n19', - sattypes_rad(23)= 'amsre_aqua', dsis(23)= 'amsre_aqua', - sattypes_rad(24)= 'ssmis_f16', dsis(24)= 'ssmis_f16', - sattypes_rad(25)= 'ssmis_f17', dsis(25)= 'ssmis_f17', - sattypes_rad(26)= 'ssmis_f18', dsis(26)= 'ssmis_f18', - sattypes_rad(27)= 'ssmis_f19', dsis(27)= 'ssmis_f19', - sattypes_rad(28)= 'ssmis_f20', dsis(28)= 'ssmis_f20', - sattypes_rad(29)= 'sndrd1_g11', dsis(29)= 'sndrD1_g11', - sattypes_rad(30)= 'sndrd2_g11', dsis(30)= 'sndrD2_g11', - sattypes_rad(31)= 'sndrd3_g11', dsis(31)= 'sndrD3_g11', - sattypes_rad(32)= 'sndrd4_g11', dsis(32)= 'sndrD4_g11', - sattypes_rad(33)= 'sndrd1_g12', dsis(33)= 'sndrD1_g12', - sattypes_rad(34)= 'sndrd2_g12', dsis(34)= 'sndrD2_g12', - sattypes_rad(35)= 'sndrd3_g12', dsis(35)= 'sndrD3_g12', - sattypes_rad(36)= 'sndrd4_g12', dsis(36)= 'sndrD4_g12', - sattypes_rad(37)= 'sndrd1_g13', dsis(37)= 'sndrD1_g13', - sattypes_rad(38)= 'sndrd2_g13', dsis(38)= 'sndrD2_g13', - sattypes_rad(39)= 'sndrd3_g13', dsis(39)= 'sndrD3_g13', - sattypes_rad(40)= 'sndrd4_g13', dsis(40)= 'sndrD4_g13', - sattypes_rad(41)= 'sndrd1_g14', dsis(41)= 'sndrD1_g14', - sattypes_rad(42)= 'sndrd2_g14', dsis(42)= 'sndrD2_g14', - sattypes_rad(43)= 'sndrd3_g14', dsis(43)= 'sndrD3_g14', - sattypes_rad(44)= 'sndrd4_g14', dsis(44)= 'sndrD4_g14', - sattypes_rad(45)= 'sndrd1_g15', dsis(45)= 'sndrD1_g15', - sattypes_rad(46)= 'sndrd2_g15', dsis(46)= 'sndrD2_g15', - sattypes_rad(47)= 'sndrd3_g15', dsis(47)= 'sndrD3_g15', - sattypes_rad(48)= 'sndrd4_g15', dsis(48)= 'sndrD4_g15', - sattypes_rad(49)= 'iasi_metop-a', dsis(49)= 'iasi_metop-a', - sattypes_rad(50)= 'seviri_m08', dsis(50)= 'seviri_m08', - sattypes_rad(51)= 'seviri_m09', dsis(51)= 'seviri_m09', - sattypes_rad(52)= 'seviri_m10', dsis(52)= 'seviri_m10', - sattypes_rad(53)= 'seviri_m11', dsis(53)= 'seviri_m11', - sattypes_rad(54)= 'amsua_metop-b', dsis(54)= 'amsua_metop-b', - sattypes_rad(55)= 'hirs4_metop-b', dsis(55)= 'hirs4_metop-b', - sattypes_rad(56)= 'mhs_metop-b', dsis(56)= 'mhs_metop-b', - sattypes_rad(57)= 'iasi_metop-b', dsis(57)= 'iasi_metop-b', - sattypes_rad(58)= 'avhrr_metop-b', dsis(58)= 'avhrr3_metop-b', - sattypes_rad(59)= 'atms_npp', dsis(59)= 'atms_npp', - sattypes_rad(60)= 'atms_n20', dsis(60)= 'atms_n20', - sattypes_rad(61)= 'cris_npp', dsis(61)= 'cris_npp', - sattypes_rad(62)= 'cris-fsr_npp', dsis(62)= 'cris-fsr_npp', - sattypes_rad(63)= 'cris-fsr_n20', dsis(63)= 'cris-fsr_n20', - sattypes_rad(64)= 'gmi_gpm', dsis(64)= 'gmi_gpm', - sattypes_rad(65)= 'saphir_meghat', dsis(65)= 'saphir_meghat', - sattypes_rad(66)= 'amsua_metop-c', dsis(66)= 'amsua_metop-c', - sattypes_rad(67)= 'mhs_metop-c', dsis(67)= 'mhs_metop-c', - sattypes_rad(68)= 'ahi_himawari8', dsis(68)= 'ahi_himawari8', - sattypes_rad(69)= 'abi_g16', dsis(69)= 'abi_g16', - sattypes_rad(70)= 'abi_g17', dsis(70)= 'abi_g17', - sattypes_rad(71)= 'iasi_metop-c', dsis(71)= 'iasi_metop-c', - sattypes_rad(72)= 'viirs-m_npp', dsis(72)= 'viirs-m_npp', - sattypes_rad(73)= 'viirs-m_j1', dsis(73)= 'viirs-m_j1', - sattypes_rad(74)= 'avhrr_metop-c', dsis(74)= 'avhrr3_metop-c', - sattypes_rad(75)= 'abi_g18', dsis(75)= 'abi_g18', - sattypes_rad(76)= 'ahi_himawari9', dsis(76)= 'ahi_himawari9', - sattypes_rad(77)= 'viirs-m_j2', dsis(77)= 'viirs-m_j2', - sattypes_rad(78)= 'atms_n21', dsis(78)= 'atms_n21', - sattypes_rad(79)= 'cris-fsr_n21', dsis(79)= 'cris-fsr_n21', - $SATOBS_ENKF -/ -&ozobs_enkf - sattypes_oz(1) = 'sbuv2_n16', - sattypes_oz(2) = 'sbuv2_n17', - sattypes_oz(3) = 'sbuv2_n18', - sattypes_oz(4) = 'sbuv2_n19', - sattypes_oz(5) = 'omi_aura', - sattypes_oz(6) = 'gome_metop-a', - sattypes_oz(7) = 'gome_metop-b', - sattypes_oz(8) = 'mls30_aura', - sattypes_oz(9) = 'ompsnp_npp', - sattypes_oz(10) = 'ompstc8_npp', - sattypes_oz(11) = 'ompsnp_n20', - sattypes_oz(12) = 'ompstc8_n20', - sattypes_oz(13) = 'ompsnp_n21', - sattypes_oz(14) = 'ompstc8_n21', - sattypes_oz(15) = 'ompslp_npp', - sattypes_oz(16) = 'gome_metop-c', - $OZOBS_ENKF -/ -EOFnml - -################################################################################ -# Run enkf update - -export OMP_NUM_THREADS=$NTHREADS_ENKF -export pgm=$ENKFEXEC -. prep_step - -$NCP $ENKFEXEC $DATA -$APRUN_ENKF ${DATA}/$(basename $ENKFEXEC) 1>stdout 2>stderr -rc=$? - -export ERR=$rc -export err=$ERR -$ERRSCRIPT || exit 2 - -# save for EFSOI task -$NCP $COMOUT_ANL_ENS/$GBIASe $COMOUT_ANL_ENSFSOI -# save for EFSOI localization advection -$NCP $ATMANL_GSI_ENSRES $COMOUT_ANL_ENSFSOI - -# Cat runtime output files. -cat stdout stderr > $COMOUT_ANL_ENSFSOI/$ENKFSTAT - -################################################################################ -# Postprocessing - -cd $pwd -[[ $mkdata = "YES" ]] && rm -rf $DATA - - -exit $err