Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GitHub Issue NOAA-EMC/GSI#120. merge GFS v16.1.1 DA changes into master #169

Merged
merged 1 commit into from
Jun 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 daca7b to 60d1b1
10 changes: 2 additions & 8 deletions scripts/exgdas_atmos_chgres_forenkf.sh
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export CHGRP_CMD=${CHGRP_CMD:-"chgrp ${group_name:-rstprod}"}
export NCLEN=${NCLEN:-$HOMEgfs/ush/getncdimlen}
export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}

# IAU
DOIAU=${DOIAU:-"NO"}
Expand Down Expand Up @@ -176,10 +175,7 @@ EOF
. prep_step

$APRUN_CHGRES $CHGRESNCEXEC chgres_nc_gauss0$FHR.nml
rc=$?
export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 1
export err=$?; err_chk
fi
done

Expand All @@ -194,9 +190,7 @@ EOF
. prep_step

$APRUNCFP_CHGRES $DATA/mp_chgres.sh
export ERR=$?
export err=$ERR
$ERRSCRIPT || exit 3
export err=$?; err_chk
fi
fi

Expand Down
46 changes: 7 additions & 39 deletions scripts/exgdas_enkf_ecen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ export CASE=${CASE:-384}
ntiles=${ntiles:-6}

# Utilities
ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get}
Expand Down Expand Up @@ -164,11 +163,7 @@ if [ $DO_CALC_INCREMENT = "YES" ]; then

$NCP $GETATMENSMEANEXEC $DATA
$APRUN_ECEN ${DATA}/$(basename $GETATMENSMEANEXEC) $DATAPATH $ATMANLMEANNAME $ATMANLNAME $NMEM_ENKF
rc=$?

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2
export err=$?; err_chk
else
# Link ensemble mean increment
if [ $FHR -eq 6 ]; then
Expand All @@ -188,11 +183,7 @@ else

$NCP $GETATMENSMEANEXEC $DATA
$APRUN_ECEN ${DATA}/$(basename $GETATMENSMEANEXEC) $DATAPATH $ATMINCMEANNAME $ATMINCNAME $NMEM_ENKF
rc=$?

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2
export err=$?; err_chk

# If available, link to ensemble mean guess. Otherwise, compute ensemble mean guess
if [ -s $COMIN_GES_ENS/${GPREFIX}atmf00${FHR}.ensmean$GSUFFIX ]; then
Expand All @@ -208,11 +199,7 @@ else

$NCP $GETATMENSMEANEXEC $DATA
$APRUN_ECEN ${DATA}/$(basename $GETATMENSMEANEXEC) $DATAPATH $ATMGESMEANNAME $ATMGESNAME $NMEM_ENKF
rc=$?

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2
export err=$?; err_chk
fi
fi

Expand Down Expand Up @@ -284,12 +271,7 @@ if [ $RECENTER_ENKF = "YES" ]; then
EOF
cat $chgresnml
$APRUN_CHGRES ./chgres.x
rc=$?

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 3

export err=$?; err_chk
fi

if [ $DO_CALC_INCREMENT = "YES" ]; then
Expand All @@ -307,12 +289,7 @@ EOF

$NCP $RECENATMEXEC $DATA
$APRUN_ECEN ${DATA}/$(basename $RECENATMEXEC) $FILENAMEIN $FILENAME_MEANIN $FILENAME_MEANOUT $FILENAMEOUT $NMEM_ENKF
rc=$?

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2

export err=$?; err_chk
else
################################################################################
# Recenter ensemble member atmospheric increments about hires analysis
Expand Down Expand Up @@ -340,12 +317,7 @@ cat recenter.nml

$NCP $RECENATMEXEC $DATA
$APRUN_ECEN ${DATA}/$(basename $RECENATMEXEC) $FILENAMEIN $FILENAME_INCMEANIN $FILENAME_GSIDET $FILENAMEOUT $NMEM_ENKF $FILENAME_GESMEANIN
rc=$?

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2

export err=$?; err_chk
fi
fi

Expand Down Expand Up @@ -388,11 +360,7 @@ EOF
cat calc_increment.nml

$APRUN_CALCINC ${DATA}/$(basename $CALCINCEXEC)
rc=$?

export ERR=$rc
export err=$rc
$ERRSCRIPT || exit 4
export err=$?; err_chk
fi
done # loop over analysis times in window

Expand Down
12 changes: 3 additions & 9 deletions scripts/exgdas_enkf_fcst.sh
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@ export FIX_AM=${FIX_AM:-$FIX_DIR/fix_am}
export NCP=${NCP:-"/bin/cp -p"}
export NMV=${NMV:-"/bin/mv"}
export NLN=${NLN:-"/bin/ln -sf"}
export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
export NDATE=${NDATE:-/$NWPROD/util/exec/ndate}

# Scripts.
FORECASTSH=${FORECASTSH:-$HOMEgfs/scripts/exglobal_forecast.sh}
Expand Down Expand Up @@ -170,15 +168,13 @@ for imem in $(seq $ENSBEG $ENSEND); do
export MEMBER=$imem
export DATA=$DATATOP/$memchar
if [ -d $DATA ]; then rm -rf $DATA; fi
mkdir -p $DATA
$FORECASTSH
ra=$?

# Notify a member forecast failed and abort
if [ $ra -ne 0 ]; then
msg="FATAL ERROR: forecast of member $cmem FAILED. Aborting job"
print $msg
export err=$ra
$ERRSCRIPT || exit 2
err_exit "FATAL ERROR: forecast of member $cmem FAILED. Aborting job"
fi

((rc+=ra))
Expand Down Expand Up @@ -226,9 +222,7 @@ cat $EFCSGRP

################################################################################
# If any members failed, error out
export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2
export err=$rc; err_chk

################################################################################
# Postprocessing
Expand Down
6 changes: 1 addition & 5 deletions scripts/exgdas_enkf_post.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ fi
pwd=$(pwd)

# Utilities
ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
NCP=${NCP:-"/bin/cp"}
NLN=${NLN:-"/bin/ln -sf"}

Expand Down Expand Up @@ -127,10 +126,7 @@ for fhr in $(seq $FHMIN $FHOUT $FHMAX); do
ra=$?
((rc+=ra))
done

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2
export err=$rc; err_chk

################################################################################
# If smoothing on but no smoothing output, copy smoothed ensemble atmospheric files
Expand Down
6 changes: 1 addition & 5 deletions scripts/exgdas_enkf_select_obs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ pwd=$(pwd)

# Utilities
export NLN=${NLN:-"/bin/ln -sf"}
export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}

# Scripts.
ANALYSISSH=${ANALYSISSH:-$HOMEgfs/scripts/exglobal_atmos_analysis.sh}
Expand Down Expand Up @@ -115,10 +114,7 @@ export CHEM="$CHEM_INVOBS"
# Execute GSI as a forward operator

$ANALYSISSH

export ERR=$?
export err=$ERR
$ERRSCRIPT || exit 2
export err=$?; err_chk

################################################################################
# Postprocessing
Expand Down
11 changes: 2 additions & 9 deletions scripts/exgdas_enkf_sfc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ export CASE=${CASE:-384}
ntiles=${ntiles:-6}

# Utilities
ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'}
NCP=${NCP:-"/bin/cp -p"}
NLN=${NLN:-"/bin/ln -sf"}
NEMSIOGET=${NEMSIOGET:-${NWPROD}/exec/nemsio_get}
Expand Down Expand Up @@ -163,10 +162,7 @@ if [ $DOIAU = "YES" ]; then
done

$CYCLESH
rc=$?
export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 11
export err=$?; err_chk

done

Expand All @@ -192,10 +188,7 @@ if [ $DOSFCANL_ENKF = "YES" ]; then
done

$CYCLESH
rc=$?
export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 11
export err=$?; err_chk

done
fi
Expand Down
11 changes: 2 additions & 9 deletions scripts/exgdas_enkf_update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ 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"}
Expand Down Expand Up @@ -245,9 +244,7 @@ if [ $USE_CFP = "YES" ]; 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
export err=$?; err_chk
fi
fi

Expand Down Expand Up @@ -378,11 +375,7 @@ export pgm=$ENKFEXEC

$NCP $ENKFEXEC $DATA
$APRUN_ENKF ${DATA}/$(basename $ENKFEXEC) 1>stdout 2>stderr
rc=$?

export ERR=$rc
export err=$ERR
$ERRSCRIPT || exit 2
export err=$?; err_chk

# Cat runtime output files.
cat stdout stderr > $COMOUT_ANL_ENS/$ENKFSTAT
Expand Down
Loading