diff --git a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG index 11fc1553c2..0922286f86 100755 --- a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG +++ b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG @@ -51,7 +51,6 @@ status=$? ############################################## export CDATE=${CDATE:-${PDY}${cyc}} export CDUMP=${CDUMP:-${RUN:-"gfs"}} -export COMPONENT="atmos" export DO_CALC_ANALYSIS=${DO_CALC_ANALYSIS:-"YES"} @@ -72,19 +71,19 @@ 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:-$(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}} + export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/atmos} else - export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" + export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" fi mkdir -m 775 -p ${COMOUT} # COMIN_GES and COMIN_GES_ENS are used in script -export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" -export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" +export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}" diff --git a/jobs/JGDAS_ATMOS_CHGRES_FORENKF b/jobs/JGDAS_ATMOS_CHGRES_FORENKF index f3848e544d..9bd0314e8b 100755 --- a/jobs/JGDAS_ATMOS_CHGRES_FORENKF +++ b/jobs/JGDAS_ATMOS_CHGRES_FORENKF @@ -72,21 +72,21 @@ 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 COMOUT_ENS=${COMOUT_ENS:-${ROTDIR}/enkfgdas.${PDY}/${cyc}/${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}} + export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMOUT_ENS=${COMOUT_ENS:-${ROTDIR}/enkfgdas.${PDY}/${cyc}} + export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/atmos} else - export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMOUT_ENS="${ROTDIR}/enkfgdas.${PDY}/${cyc}/${COMPONENT}" - export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" + export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMOUT_ENS="${ROTDIR}/enkfgdas.${PDY}/${cyc}" + export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" fi mkdir -m 775 -p ${COMOUT} # COMIN_GES and COMIN_GES_ENS are used in script -export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" -export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" +export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" ############################################################### # Run relevant script diff --git a/jobs/JGDAS_ATMOS_GLDAS b/jobs/JGDAS_ATMOS_GLDAS index 996daf12de..a2058d3a5b 100755 --- a/jobs/JGDAS_ATMOS_GLDAS +++ b/jobs/JGDAS_ATMOS_GLDAS @@ -81,11 +81,11 @@ export USHgldas=${USHgldas:-${HOMEgldas}/ush} export PARA_CONFIG=${HOMEgfs}/parm/config/config.gldas if [[ "${RUN_ENVIR}" = "nco" ]]; then - export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}} - export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}} + export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} else - export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" + export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" fi if [[ ! -d ${COMOUT} ]]; then mkdir -p "${COMOUT}" diff --git a/jobs/JGDAS_ENKF_DIAG b/jobs/JGDAS_ENKF_DIAG index b144a72bb3..183b74068c 100755 --- a/jobs/JGDAS_ENKF_DIAG +++ b/jobs/JGDAS_ENKF_DIAG @@ -85,9 +85,9 @@ fi # COMIN_GES, COMIN_ANL COMIN_GES_ENS, and COMOUT are used in script COMIN_GES_CTL="${ROTDIR}/gdas.${gPDY}/${gcyc}/${COMPONENT}" export COMIN_ANL="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" -export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" export COMIN_GES=${COMIN_GES_ENS} -export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}" +export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" export ATMGES_ENSMEAN="${COMIN_GES_ENS}/${GPREFIX}atmf006${GSUFFIX}" diff --git a/jobs/JGDAS_ENKF_ECEN b/jobs/JGDAS_ENKF_ECEN index d3d4f8fe7e..de527cbce4 100755 --- a/jobs/JGDAS_ENKF_ECEN +++ b/jobs/JGDAS_ENKF_ECEN @@ -81,18 +81,18 @@ export GSUFFIX=${GSUFFIX:-${SUFFIX}} export ASUFFIX=${ASUFFIX:-${SUFFIX}} if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then - 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}} + export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/atmos} else - export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" + export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" fi # COMIN, COMIN_ENS and COMIN_GES_ENS are used in script -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${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" +export COMIN_ENS="${ROTDIR}/enkf${CDUMP_ENKF}.${PDY}/${cyc}" +export COMOUT_ENS="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" +export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}" ############################################################### diff --git a/jobs/JGDAS_ENKF_FCST b/jobs/JGDAS_ENKF_FCST index e5d949577b..b8ba97bd36 100755 --- a/jobs/JGDAS_ENKF_FCST +++ b/jobs/JGDAS_ENKF_FCST @@ -61,7 +61,7 @@ export rCDUMP="gdas" export CASE=${CASE_ENKF} # COMOUT is used in script -export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}" +export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" # Forecast length for EnKF forecast diff --git a/jobs/JGDAS_ENKF_POST b/jobs/JGDAS_ENKF_POST index 02d2741d16..8caa9d893e 100755 --- a/jobs/JGDAS_ENKF_POST +++ b/jobs/JGDAS_ENKF_POST @@ -62,8 +62,8 @@ export GFS_NCIO=${GFS_NCIO:-"YES"} export PREFIX="${CDUMP}.t${cyc}z." # COMIN, COMOUT are used in script -export COMIN="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}" -export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}" +export COMIN="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" +export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" export LEVS=$((LEVS-1)) diff --git a/jobs/JGDAS_ENKF_SELECT_OBS b/jobs/JGDAS_ENKF_SELECT_OBS index b0b149080f..092c467d9a 100755 --- a/jobs/JGDAS_ENKF_SELECT_OBS +++ b/jobs/JGDAS_ENKF_SELECT_OBS @@ -85,9 +85,9 @@ fi # COMIN_GES, COMIN_ANL COMIN_GES_ENS, and COMOUT are used in script COMIN_GES_CTL="${ROTDIR}/gdas.${gPDY}/${gcyc}/${COMPONENT}" export COMIN_ANL="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" -export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" export COMIN_GES=${COMIN_GES_ENS} -export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${COMPONENT}" +export COMOUT="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" export ATMGES_ENSMEAN="${COMIN_GES_ENS}/${GPREFIX}atmf006${GSUFFIX}" diff --git a/jobs/JGDAS_ENKF_SFC b/jobs/JGDAS_ENKF_SFC index 85313002a6..634cfa49ea 100755 --- a/jobs/JGDAS_ENKF_SFC +++ b/jobs/JGDAS_ENKF_SFC @@ -81,19 +81,19 @@ export GSUFFIX=${GSUFFIX:-${SUFFIX}} export ASUFFIX=${ASUFFIX:-${SUFFIX}} if [ ${RUN_ENVIR} = "nco" -o ${ROTDIR_DUMP:-NO} = "YES" ]; then - 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}} + export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/atmos} else - export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" + export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" fi # COMIN, COMIN_ENS and COMIN_GES_ENS are used in script -export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" -export COMIN_GES="${ROTDIR}/${GDUMP}.${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${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" +export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" +export COMIN_ENS="${ROTDIR}/enkf${CDUMP_ENKF}.${PDY}/${cyc}" +export COMOUT_ENS="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" +export COMIN_GES_ENS="${ROTDIR}/enkf${GDUMP}.${gPDY}/${gcyc}" ############################################################### diff --git a/jobs/JGDAS_ENKF_UPDATE b/jobs/JGDAS_ENKF_UPDATE index e97016b630..11122398d8 100755 --- a/jobs/JGDAS_ENKF_UPDATE +++ b/jobs/JGDAS_ENKF_UPDATE @@ -69,8 +69,8 @@ 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 COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" +export COMOUT_ANL_ENS="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}" ############################################################### diff --git a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP index d7bede1b7e..f5b4233594 100755 --- a/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP +++ b/jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_PREP @@ -69,12 +69,12 @@ export APREFIX="${CDUMP}.t${cyc}z." export GSUFFIX=${GSUFFIX:-${SUFFIX}} export ASUFFIX=${ASUFFIX:-${SUFFIX}} -export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}} +export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/ocean} mkdir -p "${COMOUT}" # COMIN_GES and COMIN_GES_ENS are used in script -export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/ocean" ############################################################### # Run relevant script diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS b/jobs/JGLOBAL_ATMOS_ANALYSIS index a557fd81a5..cfc0398949 100755 --- a/jobs/JGLOBAL_ATMOS_ANALYSIS +++ b/jobs/JGLOBAL_ATMOS_ANALYSIS @@ -74,19 +74,19 @@ 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:-$(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}} + export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/atmos} else - export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" + export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" fi mkdir -m 775 -p ${COMOUT} # COMIN_GES and COMIN_GES_ENS are used in script -export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" -export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" +export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}" diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC index 97dfd8079b..a30737d332 100755 --- a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC +++ b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC @@ -72,19 +72,19 @@ 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:-$(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}} + export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_OBS=${COMIN_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_GES_OBS=${COMIN_GES_OBS:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${GDUMP}.${gPDY}/${gcyc}/atmos} else - export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" - export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" + export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_OBS="${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos" + export COMIN_GES_OBS="${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" fi mkdir -m 775 -p ${COMOUT} # COMIN_GES and COMIN_GES_ENS are used in script -export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" -export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" +export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}" diff --git a/jobs/JGLOBAL_ATMOS_POST b/jobs/JGLOBAL_ATMOS_POST index c0327a8311..534eb62872 100755 --- a/jobs/JGLOBAL_ATMOS_POST +++ b/jobs/JGLOBAL_ATMOS_POST @@ -62,6 +62,17 @@ export CDUMP=${CDUMP:-${RUN:-"gfs"}} export COMPONENT="atmos" +############################################## +# TODO: Remove this egregious HACK +############################################## +if [[ "${SDATE:-}" = "${CDATE}" ]]; then + if [[ ${post_times} = "anl" ]]; then + echo "No offline post-processing in the first half cycle for analysis" + exit 0 + fi +fi + + ############################################## # Begin JOB SPECIFIC work ############################################## @@ -72,8 +83,8 @@ export FIXCRTM=${CRTM_FIX:-${HOMECRTM}/fix} export PARMpost=${PARMpost:-${HOMEgfs}/parm/post} export INLINE_POST=${WRITE_DOPOST:-".false."} -export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}} -export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}} +export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} +export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} # shellcheck disable=SC2174 [[ ! -d "${COMOUT}" ]] && mkdir -m 775 -p "${COMOUT}" diff --git a/jobs/JGLOBAL_ATMOS_POST_MANAGER b/jobs/JGLOBAL_ATMOS_POST_MANAGER index 88aca2896f..6a9bde08cf 100755 --- a/jobs/JGLOBAL_ATMOS_POST_MANAGER +++ b/jobs/JGLOBAL_ATMOS_POST_MANAGER @@ -55,7 +55,6 @@ status=$? #################################### export NET=${NET:-gfs} export RUN=${RUN:-gfs} -export COMPONENT="atmos" #################################### @@ -78,8 +77,8 @@ export USHgfs=${HOMEgfs:-${HOMEgfs}/ush} export EXT_FCST=NO export ROTDIR=${ROTDIR:-${COMROOT:?}/${NET}/${envir}} -export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}} -export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT}} +export COMIN=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} +export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} ######################################################## diff --git a/jobs/JGLOBAL_ATMOS_SFCANL b/jobs/JGLOBAL_ATMOS_SFCANL index c574f9d0e3..42e5a88272 100755 --- a/jobs/JGLOBAL_ATMOS_SFCANL +++ b/jobs/JGLOBAL_ATMOS_SFCANL @@ -73,19 +73,19 @@ 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=${COMIN:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMOUT=${COMOUT:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_OBS=${COMIN_OBS:-${ROTDIR}/${RUN}.${PDY}/${cyc}/atmos} + export COMIN_GES_OBS=${COMIN_GES_OBS:-${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos} else - export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/${COMPONENT}" + export COMOUT="${ROTDIR}/${CDUMP}.${PDY}/${cyc}/atmos" export COMIN_OBS="${DMPDIR}/${CDATE}/${CDUMP}" export COMIN_GES_OBS="${DMPDIR}/${GDATE}/${GDUMP}" fi mkdir -m 775 -p ${COMOUT} # COMIN_GES and COMIN_GES_ENS are used in script -export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/${COMPONENT}" -export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}/${COMPONENT}" +export COMIN_GES="${ROTDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos" +export COMIN_GES_ENS="${ROTDIR}/enkfgdas.${gPDY}/${gcyc}" export ATMGES="${COMIN_GES}/${GPREFIX}atmf006${GSUFFIX}" diff --git a/scripts/exgdas_atmos_chgres_forenkf.sh b/scripts/exgdas_atmos_chgres_forenkf.sh index db628915df..254ab206f6 100755 --- a/scripts/exgdas_atmos_chgres_forenkf.sh +++ b/scripts/exgdas_atmos_chgres_forenkf.sh @@ -80,7 +80,7 @@ ATMF06ENS=${ATMF06ENS:-${COMOUT}/${APREFIX}atmf006.ensres${ASUFFIX}} ATMF07ENS=${ATMF07ENS:-${COMOUT}/${APREFIX}atmf007.ensres${ASUFFIX}} ATMF08ENS=${ATMF08ENS:-${COMOUT}/${APREFIX}atmf008.ensres${ASUFFIX}} ATMF09ENS=${ATMF09ENS:-${COMOUT}/${APREFIX}atmf009.ensres${ASUFFIX}} -ATMFCST_ENSRES=${ATMFCST_ENSRES:-${COMOUT_ENS}/mem001/${APREFIX}atmf006${ASUFFIX}} +ATMFCST_ENSRES=${ATMFCST_ENSRES:-${COMOUT_ENS}/mem001/atmos/${APREFIX}atmf006${ASUFFIX}} # Set script / GSI control parameters DOHYBVAR=${DOHYBVAR:-"NO"} diff --git a/scripts/exgdas_atmos_gldas.sh b/scripts/exgdas_atmos_gldas.sh index c06989b947..596e049c3a 100755 --- a/scripts/exgdas_atmos_gldas.sh +++ b/scripts/exgdas_atmos_gldas.sh @@ -4,7 +4,7 @@ #### UNIX Script Documentation Block # . . # Script name: exgdas_atmos_gldas.sh -# Script description: Runs the global land analysis +# Script description: Runs the global land analysis # ################################################################################ @@ -31,7 +31,6 @@ export ERRSCRIPT=${ERRSCRIPT:-"eval [[ ${err} = 0 ]]"} # Set up the running environment ################################# export USE_CFP=${USE_CFP:-"NO"} -export COMPONENT=${COMPONENT:-atmos} export assim_freq=${assim_freq:-6} export gldas_spinup_hours=${gldas_spinup_hours:-72} @@ -77,8 +76,8 @@ export RUNDIR=${DATA} GDAS=${RUNDIR}/force mkdir -p "${GDAS}" -input1=${COMINgdas}/gdas.${gldas_symd}/${gldas_scyc}/${COMPONENT}/RESTART -input2=${COMINgdas}/gdas.${gldas_eymd}/${gldas_ecyc}/${COMPONENT}/RESTART +input1=${COMINgdas}/gdas.${gldas_symd}/${gldas_scyc}/atmos/RESTART +input2=${COMINgdas}/gdas.${gldas_eymd}/${gldas_ecyc}/atmos/RESTART [[ -d ${RUNDIR} ]] && rm -fr "${RUNDIR}/FIX" [[ -f ${RUNDIR}/LIS ]] && rm -fr "${RUNDIR}/LIS" [[ -d ${RUNDIR}/input ]] && rm -fr "${RUNDIR}/input" @@ -169,11 +168,11 @@ ${ERRSCRIPT} || exit 4 #--------------------------------------------------------------- -### 3) Produce initials noah.rst from 6-tile gdas restart files +### 3) Produce initials noah.rst from 6-tile gdas restart files #--------------------------------------------------------------- rm -f fort.41 fort.141 fort.11 fort.12 -# 3a) create gdas2gldas input file +# 3a) create gdas2gldas input file cat >> fort.141 << EOF &config @@ -190,7 +189,7 @@ EOF cp fort.141 fort.41 -# 3b) Use gdas2gldas to generate nemsio file +# 3b) Use gdas2gldas to generate nemsio file export OMP_NUM_THREADS=1 export pgm=gdas2gldas diff --git a/scripts/exgdas_enkf_earc.sh b/scripts/exgdas_enkf_earc.sh index 7962946034..4df4dc82c7 100755 --- a/scripts/exgdas_enkf_earc.sh +++ b/scripts/exgdas_enkf_earc.sh @@ -7,7 +7,7 @@ source "${HOMEgfs}/ush/preamble.sh" ############################################## export n=$((10#${ENSGRP})) export CDUMP_ENKF=$(echo "${EUPD_CYC:-"gdas"}" | tr a-z A-Z) -export ARCH_LIST="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/atmos/earc${ENSGRP}" +export ARCH_LIST="${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/earc${ENSGRP}" # ICS are restarts and always lag INC by $assim_freq hours. EARCINC_CYC=${ARCH_CYC} @@ -122,12 +122,12 @@ if [ "${ENSGRP}" -eq 0 ]; then [[ ! -d ${ARCDIR} ]] && mkdir -p "${ARCDIR}" cd "${ARCDIR}" - nb_copy "${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/atmos/${CDUMP}.t${cyc}z.enkfstat" "enkfstat.${CDUMP}.${CDATE}" - nb_copy "${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/atmos/${CDUMP}.t${cyc}z.gsistat.ensmean" "gsistat.${CDUMP}.${CDATE}.ensmean" + nb_copy "${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${CDUMP}.t${cyc}z.enkfstat" "enkfstat.${CDUMP}.${CDATE}" + nb_copy "${ROTDIR}/enkf${CDUMP}.${PDY}/${cyc}/${CDUMP}.t${cyc}z.gsistat.ensmean" "gsistat.${CDUMP}.${CDATE}.ensmean" if [ "${CDUMP_ENKF}" != "GDAS" ]; then - nb_copy "${ROTDIR}/enkfgfs.${PDY}/${cyc}/atmos/${CDUMP}.t${cyc}z.enkfstat" "enkfstat.gfs.${CDATE}" - nb_copy "${ROTDIR}/enkfgfs.${PDY}/${cyc}/atmos/${CDUMP}.t${cyc}z.gsistat.ensmean" "gsistat.gfs.${CDATE}.ensmean" + nb_copy "${ROTDIR}/enkfgfs.${PDY}/${cyc}/${CDUMP}.t${cyc}z.enkfstat" "enkfstat.gfs.${CDATE}" + nb_copy "${ROTDIR}/enkfgfs.${PDY}/${cyc}/${CDUMP}.t${cyc}z.gsistat.ensmean" "gsistat.gfs.${CDATE}.ensmean" fi fi @@ -152,7 +152,7 @@ if [ "${ENSGRP}" -eq 0 ]; then # Loop over GDAS and GFS EnKF directories separately. clist="gdas gfs" for ctype in ${clist}; do - COMIN_ENS="${ROTDIR}/enkf${ctype}.${gPDY}/${gcyc}/atmos" + COMIN_ENS="${ROTDIR}/enkf${ctype}.${gPDY}/${gcyc}" if [ -d "${COMIN_ENS}" ]; then rocotolog="${EXPDIR}/logs/${GDATE}.log" if [ -f "${rocotolog}" ]; then diff --git a/scripts/exgdas_enkf_ecen.sh b/scripts/exgdas_enkf_ecen.sh index c964e1dc7e..a5603eee6a 100755 --- a/scripts/exgdas_enkf_ecen.sh +++ b/scripts/exgdas_enkf_ecen.sh @@ -31,7 +31,6 @@ ntiles=${ntiles:-6} # Utilities NCP=${NCP:-"/bin/cp -p"} NLN=${NLN:-"/bin/ln -sf"} -NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} # Scripts @@ -108,32 +107,32 @@ for FHR in $(seq $FHMIN $FHOUT $FHMAX); do for imem in $(seq 1 $NMEM_ENKF); do memchar="mem"$(printf %03i $imem) - $NLN $COMIN_GES_ENS/$memchar/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}$GSUFFIX ./atmges_$memchar + $NLN $COMIN_GES_ENS/$memchar/atmos/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}$GSUFFIX ./atmges_$memchar if [ $DO_CALC_INCREMENT = "YES" ]; then if [ $FHR -eq 6 ]; then - $NLN $COMIN_ENS/$memchar/${APREFIX_ENKF}atmanl$ASUFFIX ./atmanl_$memchar + $NLN $COMIN_ENS/$memchar/atmos/${APREFIX_ENKF}atmanl$ASUFFIX ./atmanl_$memchar else - $NLN $COMIN_ENS/$memchar/${APREFIX_ENKF}atma00${FHR}$ASUFFIX ./atmanl_$memchar + $NLN $COMIN_ENS/$memchar/atmos/${APREFIX_ENKF}atma00${FHR}$ASUFFIX ./atmanl_$memchar fi fi mkdir -p $COMOUT_ENS/$memchar if [ $FHR -eq 6 ]; then - $NLN $COMOUT_ENS/$memchar/${APREFIX}atminc.nc ./atminc_$memchar + $NLN $COMOUT_ENS/$memchar/atmos/${APREFIX}atminc.nc ./atminc_$memchar else - $NLN $COMOUT_ENS/$memchar/${APREFIX}atmi00${FHR}.nc ./atminc_$memchar + $NLN $COMOUT_ENS/$memchar/atmos/${APREFIX}atmi00${FHR}.nc ./atminc_$memchar fi if [[ $RECENTER_ENKF = "YES" ]]; then if [ $DO_CALC_INCREMENT = "YES" ]; then if [ $FHR -eq 6 ]; then - $NLN $COMOUT_ENS/$memchar/${APREFIX}ratmanl$ASUFFIX ./ratmanl_$memchar + $NLN $COMOUT_ENS/$memchar/atmos/${APREFIX}ratmanl$ASUFFIX ./ratmanl_$memchar else - $NLN $COMOUT_ENS/$memchar/${APREFIX}ratma00${FHR}$ASUFFIX ./ratmanl_$memchar + $NLN $COMOUT_ENS/$memchar/atmos/${APREFIX}ratma00${FHR}$ASUFFIX ./ratmanl_$memchar fi else if [ $FHR -eq 6 ]; then - $NLN $COMOUT_ENS/$memchar/${APREFIX}ratminc$ASUFFIX ./ratminc_$memchar + $NLN $COMOUT_ENS/$memchar/atmos/${APREFIX}ratminc$ASUFFIX ./ratminc_$memchar else - $NLN $COMOUT_ENS/$memchar/${APREFIX}ratmi00${FHR}$ASUFFIX ./ratminc_$memchar + $NLN $COMOUT_ENS/$memchar/atmos/${APREFIX}ratmi00${FHR}$ASUFFIX ./ratminc_$memchar fi fi fi @@ -198,23 +197,16 @@ else fi fi -if [ ${SUFFIX} = ".nc" ]; then - if [ $DO_CALC_INCREMENT = "YES" ]; then - LONB_ENKF=${LONB_ENKF:-$($NCLEN atmanl_ensmean grid_xt)} # get LONB - LATB_ENKF=${LATB_ENKF:-$($NCLEN atmanl_ensmean grid_yt)} # get LATB - LEVS_ENKF=${LEVS_ENKF:-$($NCLEN atmanl_ensmean pfull)} # get LEVS - else - LONB_ENKF=${LONB_ENKF:-$($NCLEN atminc_ensmean lon)} # get LONB - LATB_ENKF=${LATB_ENKF:-$($NCLEN atminc_ensmean lat)} # get LATB - LEVS_ENKF=${LEVS_ENKF:-$($NCLEN atminc_ensmean lev)} # get LEVS - fi - JCAP_ENKF=${JCAP_ENKF:--9999} # there is no jcap in these files +if [ $DO_CALC_INCREMENT = "YES" ]; then + LONB_ENKF=${LONB_ENKF:-$($NCLEN atmanl_ensmean grid_xt)} # get LONB + LATB_ENKF=${LATB_ENKF:-$($NCLEN atmanl_ensmean grid_yt)} # get LATB + LEVS_ENKF=${LEVS_ENKF:-$($NCLEN atmanl_ensmean pfull)} # get LEVS else - LONB_ENKF=${LONB_ENKF:-$($NEMSIOGET atmanl_ensmean dimx | awk '{print $2}')} - LATB_ENKF=${LATB_ENKF:-$($NEMSIOGET atmanl_ensmean dimy | awk '{print $2}')} - LEVS_ENKF=${LEVS_ENKF:-$($NEMSIOGET atmanl_ensmean dimz | awk '{print $2}')} - JCAP_ENKF=${JCAP_ENKF:-$($NEMSIOGET atmanl_ensmean jcap | awk '{print $2}')} + LONB_ENKF=${LONB_ENKF:-$($NCLEN atminc_ensmean lon)} # get LONB + LATB_ENKF=${LATB_ENKF:-$($NCLEN atminc_ensmean lat)} # get LATB + LEVS_ENKF=${LEVS_ENKF:-$($NCLEN atminc_ensmean lev)} # get LEVS fi +JCAP_ENKF=${JCAP_ENKF:--9999} # there is no jcap in these files [ $JCAP_ENKF -eq -9999 -a $LATB_ENKF -ne -9999 ] && JCAP_ENKF=$((LATB_ENKF-2)) [ $LONB_ENKF -eq -9999 -o $LATB_ENKF -eq -9999 -o $LEVS_ENKF -eq -9999 -o $JCAP_ENKF -eq -9999 ] && exit -9999 diff --git a/scripts/exgdas_enkf_fcst.sh b/scripts/exgdas_enkf_fcst.sh index 5b00243012..d75678a552 100755 --- a/scripts/exgdas_enkf_fcst.sh +++ b/scripts/exgdas_enkf_fcst.sh @@ -185,7 +185,7 @@ for imem in $(seq $ENSBEG $ENSEND); do while [ $fhr -le $FHMAX ]; do FH3=$(printf %03i $fhr) if [ $(expr $fhr % 3) -eq 0 ]; then - $DBNROOT/bin/dbn_alert MODEL GFS_ENKF $job $COMOUT/$memchar/${CDUMP}.t${cyc}z.sfcf${FH3}${GSUFFIX} + $DBNROOT/bin/dbn_alert MODEL GFS_ENKF $job $COMOUT/$memchar/atmos/${CDUMP}.t${cyc}z.sfcf${FH3}${GSUFFIX} fi fhr=$((fhr+FHOUT)) done diff --git a/scripts/exgdas_enkf_post.sh b/scripts/exgdas_enkf_post.sh index 970dbce6f5..64447da841 100755 --- a/scripts/exgdas_enkf_post.sh +++ b/scripts/exgdas_enkf_post.sh @@ -79,8 +79,8 @@ for imem in $(seq 1 $NMEM_ENKF); do memchar="mem"$(printf %03i $imem) for fhr in $(seq $FHMIN $FHOUT $FHMAX); do fhrchar=$(printf %03i $fhr) - $NLN $COMIN/$memchar/${PREFIX}sfcf$fhrchar${SUFFIX} sfcf${fhrchar}_$memchar - $NLN $COMIN/$memchar/${PREFIX}atmf$fhrchar${SUFFIX} atmf${fhrchar}_$memchar + $NLN $COMIN/$memchar/atmos/${PREFIX}sfcf$fhrchar${SUFFIX} sfcf${fhrchar}_$memchar + $NLN $COMIN/$memchar/atmos/${PREFIX}atmf$fhrchar${SUFFIX} atmf${fhrchar}_$memchar done done @@ -92,7 +92,7 @@ for fhr in $(seq $FHMIN $FHOUT $FHMAX); do if [ $SMOOTH_ENKF = "YES" ]; then for imem in $(seq 1 $NMEM_ENKF); do memchar="mem"$(printf %03i $imem) - $NLN $COMOUT/$memchar/${PREFIX}atmf${fhrchar}${ENKF_SUFFIX}${SUFFIX} atmf${fhrchar}${ENKF_SUFFIX}_$memchar + $NLN $COMOUT/$memchar/atmos/${PREFIX}atmf${fhrchar}${ENKF_SUFFIX}${SUFFIX} atmf${fhrchar}${ENKF_SUFFIX}_$memchar done fi [[ $ENKF_SPREAD = "YES" ]] && $NLN $COMOUT/${PREFIX}atmf${fhrchar}.ensspread${SUFFIX} atmf${fhrchar}.ensspread diff --git a/scripts/exgdas_enkf_sfc.sh b/scripts/exgdas_enkf_sfc.sh index 044030c494..4029e040d4 100755 --- a/scripts/exgdas_enkf_sfc.sh +++ b/scripts/exgdas_enkf_sfc.sh @@ -145,10 +145,10 @@ if [ $DOIAU = "YES" ]; then cmem=$(printf %03i $imem) memchar="mem$cmem" - [[ $TILE_NUM -eq 1 ]] && mkdir -p $COMOUT_ENS/$memchar/RESTART + [[ $TILE_NUM -eq 1 ]] && mkdir -p $COMOUT_ENS/$memchar/atmos/RESTART - $NLN $COMIN_GES_ENS/$memchar/RESTART/$bPDY.${bcyc}0000.sfc_data.tile${n}.nc $DATA/fnbgsi.$cmem - $NLN $COMOUT_ENS/$memchar/RESTART/$bPDY.${bcyc}0000.sfcanl_data.tile${n}.nc $DATA/fnbgso.$cmem + $NLN $COMIN_GES_ENS/$memchar/atmos/RESTART/$bPDY.${bcyc}0000.sfc_data.tile${n}.nc $DATA/fnbgsi.$cmem + $NLN $COMOUT_ENS/$memchar/atmos/RESTART/$bPDY.${bcyc}0000.sfcanl_data.tile${n}.nc $DATA/fnbgso.$cmem $NLN $FIXfv3/$CASE/${CASE}_grid.tile${n}.nc $DATA/fngrid.$cmem $NLN $FIXfv3/$CASE/${CASE}_oro_data.tile${n}.nc $DATA/fnorog.$cmem @@ -171,10 +171,10 @@ if [ $DOSFCANL_ENKF = "YES" ]; then cmem=$(printf %03i $imem) memchar="mem$cmem" - [[ $TILE_NUM -eq 1 ]] && mkdir -p $COMOUT_ENS/$memchar/RESTART + [[ $TILE_NUM -eq 1 ]] && mkdir -p $COMOUT_ENS/$memchar/atmos/RESTART - $NLN $COMIN_GES_ENS/$memchar/RESTART/$PDY.${cyc}0000.sfc_data.tile${n}.nc $DATA/fnbgsi.$cmem - $NLN $COMOUT_ENS/$memchar/RESTART/$PDY.${cyc}0000.sfcanl_data.tile${n}.nc $DATA/fnbgso.$cmem + $NLN $COMIN_GES_ENS/$memchar/atmos/RESTART/$PDY.${cyc}0000.sfc_data.tile${n}.nc $DATA/fnbgsi.$cmem + $NLN $COMOUT_ENS/$memchar/atmos/RESTART/$PDY.${cyc}0000.sfcanl_data.tile${n}.nc $DATA/fnbgso.$cmem $NLN $FIXfv3/$CASE/${CASE}_grid.tile${n}.nc $DATA/fngrid.$cmem $NLN $FIXfv3/$CASE/${CASE}_oro_data.tile${n}.nc $DATA/fnorog.$cmem diff --git a/scripts/exgdas_enkf_update.sh b/scripts/exgdas_enkf_update.sh index 253a64443f..6b32226bba 100755 --- a/scripts/exgdas_enkf_update.sh +++ b/scripts/exgdas_enkf_update.sh @@ -161,7 +161,7 @@ for ftype in \$flist; do if [ \$memchar = "ensmean" ]; then fname=$COMOUT_ANL_ENS/\${ftype}.ensmean else - fname=$COMOUT_ANL_ENS/\$memchar/\$ftype + fname=$COMOUT_ANL_ENS/\$memchar/atmos/\$ftype fi tar -xvf \$fname done @@ -195,28 +195,28 @@ for imem in $(seq 1 $NMEM_ENKF); do fi else for ftype in $flist; do - fname=$COMOUT_ANL_ENS/$memchar/$ftype + fname=$COMOUT_ANL_ENS/$memchar/atmos/$ftype tar -xvf $fname done fi fi - mkdir -p $COMOUT_ANL_ENS/$memchar + mkdir -p $COMOUT_ANL_ENS/$memchar/atmos for FHR in $nfhrs; do - $NLN $COMIN_GES_ENS/$memchar/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}${GSUFFIX} sfg_${CDATE}_fhr0${FHR}_${memchar} + $NLN $COMIN_GES_ENS/$memchar/atmos/${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} + $NLN $COMIN_GES_ENS/$memchar/atmos/${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_ENS/$memchar/atmos/${APREFIX}atmanl${ASUFFIX} sanl_${CDATE}_fhr0${FHR}_${memchar} else - $NLN $COMOUT_ANL_ENS/$memchar/${APREFIX}atminc${ASUFFIX} incr_${CDATE}_fhr0${FHR}_${memchar} + $NLN $COMOUT_ANL_ENS/$memchar/atmos/${APREFIX}atminc${ASUFFIX} incr_${CDATE}_fhr0${FHR}_${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_ENS/$memchar/atmos/${APREFIX}atma00${FHR}${ASUFFIX} sanl_${CDATE}_fhr0${FHR}_${memchar} else - $NLN $COMOUT_ANL_ENS/$memchar/${APREFIX}atmi00${FHR}${ASUFFIX} incr_${CDATE}_fhr0${FHR}_${memchar} + $NLN $COMOUT_ANL_ENS/$memchar/atmos/${APREFIX}atmi00${FHR}${ASUFFIX} incr_${CDATE}_fhr0${FHR}_${memchar} fi fi done diff --git a/scripts/exgdas_global_atmos_analysis_run.sh b/scripts/exgdas_global_atmos_analysis_run.sh index bcf1907378..45ccdf525b 100755 --- a/scripts/exgdas_global_atmos_analysis_run.sh +++ b/scripts/exgdas_global_atmos_analysis_run.sh @@ -90,16 +90,16 @@ if [ $DOHYBVAR = "YES" ]; then if [ $l4densvar = ".true." ]; then fhrs="03 04 05 06 07 08 09" fi - + for imem in $(seq 1 $NMEM_ENKF); do memchar="mem"$(printf %03i $imem) for fhr in $fhrs; do - $NLN ${COMIN_GES_ENS}/$memchar/RESTART $DATA/ens/$memchar + $NLN ${COMIN_GES_ENS}/$memchar/atmos/RESTART $DATA/ens/$memchar done done fi - + ################################################################################ # link fix files to $DATA # static B diff --git a/scripts/exglobal_atmos_analysis.sh b/scripts/exglobal_atmos_analysis.sh index 17a9c9984a..71c4e303bc 100755 --- a/scripts/exglobal_atmos_analysis.sh +++ b/scripts/exglobal_atmos_analysis.sh @@ -42,7 +42,6 @@ export NCP=${NCP:-"/bin/cp"} export NMV=${NMV:-"/bin/mv"} export NLN=${NLN:-"/bin/ln -sf"} export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"} -export NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} export NCLEN=${NCLEN:-${HOMEgfs}/ush/getncdimlen} COMPRESS=${COMPRESS:-gzip} UNCOMPRESS=${UNCOMPRESS:-gunzip} @@ -82,7 +81,6 @@ export CHGRESINCEXEC=${CHGRESINCEXEC:-${HOMEgfs}/exec/interp_inc.x} CHGRESEXEC=${CHGRESEXEC:-${HOMEgfs}/exec/enkf_chgres_recenter.x} export NTHREADS_CHGRES=${NTHREADS_CHGRES:-24} CALCINCPY=${CALCINCPY:-${HOMEgfs}/ush/calcinc_gfs.py} -CALCANLPY=${CALCANLPY:-${HOMEgfs}/ush/calcanl_gfs.py} # OPS flags RUN=${RUN:-""} @@ -237,17 +235,10 @@ export INCREMENTS_TO_ZERO=${INCREMENTS_TO_ZERO:-"'NONE'"} USE_CORRELATED_OBERRS=${USE_CORRELATED_OBERRS:-"YES"} # Get header information from Guess files -if [ ${SUFFIX} = ".nc" ]; then - LONB=${LONB:-$(${NCLEN} ${ATMGES} grid_xt)} # get LONB - LATB=${LATB:-$(${NCLEN} ${ATMGES} grid_yt)} # get LATB - LEVS=${LEVS:-$(${NCLEN} ${ATMGES} pfull)} # get LEVS - JCAP=${JCAP:--9999} # there is no jcap in these files -else - LONB=${LONB:-$(${NEMSIOGET} ${ATMGES} dimx | grep -i "dimx" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LONB - LATB=${LATB:-$(${NEMSIOGET} ${ATMGES} dimy | grep -i "dimy" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LATB - LEVS=${LEVS:-$(${NEMSIOGET} ${ATMGES} dimz | grep -i "dimz" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LEVS - JCAP=${JCAP:-$(${NEMSIOGET} ${ATMGES} jcap | grep -i "jcap" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get JCAP -fi +LONB=${LONB:-$(${NCLEN} ${ATMGES} grid_xt)} # get LONB +LATB=${LATB:-$(${NCLEN} ${ATMGES} grid_yt)} # get LATB +LEVS=${LEVS:-$(${NCLEN} ${ATMGES} pfull)} # get LEVS +JCAP=${JCAP:--9999} # there is no jcap in these files [ ${JCAP} -eq -9999 -a ${LATB} -ne -9999 ] && JCAP=$((LATB-2)) [ ${LONB} -eq -9999 -o ${LATB} -eq -9999 -o ${LEVS} -eq -9999 -o ${JCAP} -eq -9999 ] && exit -9999 @@ -260,11 +251,6 @@ if [ ${DOHYBVAR} = "YES" ]; then LATB_ENKF=${LATB_ENKF:-$(${NCLEN} ${ATMGES_ENSMEAN} grid_yt)} # get LATB_ENFK LEVS_ENKF=${LEVS_ENKF:-$(${NCLEN} ${ATMGES_ENSMEAN} pfull)} # get LATB_ENFK JCAP_ENKF=${JCAP_ENKF:--9999} # again, no jcap in the netcdf files - else - LONB_ENKF=${LONB_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} dimx | grep -i "dimx" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LONB_ENKF - LATB_ENKF=${LATB_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} dimy | grep -i "dimy" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LATB_ENKF - LEVS_ENKF=${LEVS_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} dimz | grep -i "dimz" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get LEVS_ENKF - JCAP_ENKF=${JCAP_ENKF:-$(${NEMSIOGET} ${ATMGES_ENSMEAN} jcap | grep -i "jcap" | awk -F"= " '{print $2}' | awk -F" " '{print $1}')} # 'get JCAP_ENKF fi NLON_ENKF=${NLON_ENKF:-${LONB_ENKF}} NLAT_ENKF=${NLAT_ENKF:-$((${LATB_ENKF}+2))} @@ -295,17 +281,6 @@ NLAT_A=${NLAT_A:-$((${LATA}+2))} DELTIM=${DELTIM:-$((3600/(${JCAP_A}/20)))} -# logic for netCDF I/O -if [ ${SUFFIX} = ".nc" ]; then - # GSI namelist options to use netCDF background - use_gfs_nemsio=".false." - use_gfs_ncio=".true." -else - # GSI namelist options to use NEMSIO background - use_gfs_nemsio=".true." - use_gfs_ncio=".false." -fi - # determine if writing or calculating increment if [ ${DO_CALC_INCREMENT} = "YES" ]; then write_fv3_increment=".false." @@ -563,9 +538,9 @@ if [ ${DOHYBVAR} = "YES" ]; then for imem in $(seq 1 ${NMEM_ENKF}); do memchar="mem"$(printf %03i ${imem}) for fhr in ${fhrs}; do - ${NLN} ${COMIN_GES_ENS}/${memchar}/${GPREFIX}atmf0${fhr}${ENKF_SUFFIX}${GSUFFIX} ./ensemble_data/sigf${fhr}_ens_${memchar} + ${NLN} ${COMIN_GES_ENS}/${memchar}/atmos/${GPREFIX}atmf0${fhr}${ENKF_SUFFIX}${GSUFFIX} ./ensemble_data/sigf${fhr}_ens_${memchar} if [ ${cnvw_option} = ".true." ]; then - ${NLN} ${COMIN_GES_ENS}/${memchar}/${GPREFIX}sfcf0${fhr}${GSUFFIX} ./ensemble_data/sfcf${fhr}_ens_${memchar} + ${NLN} ${COMIN_GES_ENS}/${memchar}/atmos/${GPREFIX}sfcf0${fhr}${GSUFFIX} ./ensemble_data/sfcf${fhr}_ens_${memchar} fi done done @@ -729,7 +704,7 @@ cat > gsiparm.anl << EOF tzr_qc=${TZR_QC}, oneobtest=.false.,retrieval=.false.,l_foto=.false., use_pbl=.false.,use_compress=.true.,nsig_ext=12,gpstop=50.,commgpstop=45.,commgpserrinf=1.0, - use_gfs_nemsio=${use_gfs_nemsio},use_gfs_ncio=${use_gfs_ncio},sfcnst_comb=.true., + use_gfs_nemsio=.false.,use_gfs_ncio=.true.,sfcnst_comb=.true., use_readin_anl_sfcmask=${USE_READIN_ANL_SFCMASK}, lrun_subdirs=${lrun_subdirs}, crtm_coeffs_path='./crtm_coeffs/', diff --git a/scripts/exglobal_atmos_sfcanl.sh b/scripts/exglobal_atmos_sfcanl.sh index 34eb863614..337677d805 100755 --- a/scripts/exglobal_atmos_sfcanl.sh +++ b/scripts/exglobal_atmos_sfcanl.sh @@ -42,7 +42,6 @@ export NCP=${NCP:-"/bin/cp"} export NMV=${NMV:-"/bin/mv"} export NLN=${NLN:-"/bin/ln -sf"} export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"} -export NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get} export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen} COMPRESS=${COMPRESS:-gzip} UNCOMPRESS=${UNCOMPRESS:-gunzip} diff --git a/ush/calcinc_gfs.py b/ush/calcinc_gfs.py index b3562d3880..6ed1e50422 100755 --- a/ush/calcinc_gfs.py +++ b/ush/calcinc_gfs.py @@ -14,7 +14,7 @@ # main function -def calcinc_gfs(DoIAU, l4DEnsVar, Write4Danl, ComOut, APrefix, ASuffix, IAUHrs, +def calcinc_gfs(DoIAU, l4DEnsVar, Write4Danl, ComOut, APrefix, IAUHrs, NThreads, IMP_Physics, Inc2Zero, RunDir, Exec, ExecCMD): # run the calc_increment_ens executable @@ -72,22 +72,16 @@ def calcinc_gfs(DoIAU, l4DEnsVar, Write4Danl, ComOut, APrefix, ASuffix, IAUHrs, Write4Danl = gsi_utils.isTrue(os.getenv('lwrite4danl', 'NO')) ComOut = os.getenv('COMOUT', './') APrefix = os.getenv('APREFIX', '') - ASuffix = os.getenv('ASUFFIX', '') NThreads = os.getenv('NTHREADS_CALCINC', 1) IMP_Physics = os.getenv('imp_physics', 11) RunDir = os.getenv('DATA', './') ExecNC = os.getenv('CALCINCNCEXEC', './calc_increment_ens_ncio.x') - ExecNEMS = os.getenv('CALCINCEXEC', './calc_increment_ens.x') Inc2Zero = os.getenv('INCREMENTS_TO_ZERO', '"NONE"') ExecCMD = os.getenv('APRUN_CALCINC', '') IAUHrs = list(map(int, os.getenv('IAUFHRS', '6').split(','))) - # determine if the analysis is in netCDF or NEMSIO - if ASuffix == ".nc": - Exec = ExecNC - else: - Exec = ExecNEMS + Exec = ExecNC print(locals()) - calcinc_gfs(DoIAU, l4DEnsVar, Write4Danl, ComOut, APrefix, ASuffix, IAUHrs, + calcinc_gfs(DoIAU, l4DEnsVar, Write4Danl, ComOut, APrefix, IAUHrs, NThreads, IMP_Physics, Inc2Zero, RunDir, Exec, ExecCMD) diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index ed2997cf0f..f3ed57292e 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -241,13 +241,13 @@ FV3_GFS_predet(){ rprefix=enkf$rCDUMP memchar=mem$(printf %03i $MEMBER) fi - memdir=$ROTDIR/${prefix}.$PDY/$cyc/atmos/$memchar + memdir=$ROTDIR/${prefix}.$PDY/$cyc/$memchar/atmos if [ ! -d $memdir ]; then mkdir -p $memdir; fi GDATE=$($NDATE -$assim_freq $CDATE) gPDY=$(echo $GDATE | cut -c1-8) gcyc=$(echo $GDATE | cut -c9-10) - gmemdir=$ROTDIR/${rprefix}.$gPDY/$gcyc/atmos/$memchar + gmemdir=$ROTDIR/${rprefix}.$gPDY/$gcyc/$memchar/atmos if [[ "$DOIAU" = "YES" ]]; then sCDATE=$($NDATE -3 $CDATE) diff --git a/ush/hpssarch_gen.sh b/ush/hpssarch_gen.sh index 245a402692..b3f5e4f819 100755 --- a/ush/hpssarch_gen.sh +++ b/ush/hpssarch_gen.sh @@ -425,7 +425,7 @@ if [ $type = "enkfgdas" -o $type = "enkfgfs" ]; then ##NTARS2=$((NTARS/2)) # number of earc groups to include analysis/increments NTARS2=$NTARS - dirpath="enkf${CDUMP}.${PDY}/${cyc}/atmos/" + dirpath="enkf${CDUMP}.${PDY}/${cyc}/" dirname="./${dirpath}" head="${CDUMP}.t${cyc}z." @@ -504,7 +504,7 @@ if [ $type = "enkfgdas" -o $type = "enkfgfs" ]; then while [ $m -le $NMEM_EARCGRP ]; do nm=$(((n-1)*NMEM_EARCGRP+m)) mem=$(printf %03i $nm) - dirpath="enkf${CDUMP}.${PDY}/${cyc}/atmos/mem${mem}/" + dirpath="enkf${CDUMP}.${PDY}/${cyc}/mem${mem}/atmos/" dirname="./${dirpath}" head="${CDUMP}.t${cyc}z." diff --git a/workflow/setup_expt.py b/workflow/setup_expt.py index 3a0f8e50dd..df2f47703e 100755 --- a/workflow/setup_expt.py +++ b/workflow/setup_expt.py @@ -66,7 +66,7 @@ def fill_COMROT_cycled(host, inputs): # Link atmospheric files (ocean, ice, coming TBD ...) for ii in range(1, inputs.nens + 1): - memdir = f'atmos/mem{ii:03d}' + memdir = f'mem{ii:03d}/atmos' dst_dir = os.path.join(comrot, enkfdir, memdir, 'INPUT') src_dir = os.path.join(inputs.icsdir, enkfdir, memdir, 'INPUT') makedirs_if_missing(dst_dir)