-
Notifications
You must be signed in to change notification settings - Fork 180
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
Add the mean EnKF soil increment to the deterministic member #3295
base: develop
Are you sure you want to change the base?
Add the mean EnKF soil increment to the deterministic member #3295
Conversation
i) write out the ensemble mean reanalysis, and apply it to the deterministic member. ii) replace UFS_UTILS regridding of Gaussian soil analysis to model grid with an external ESMF-based program (with appropriate land masking) Requires: sorc/gsi_enkf.fd develop after Tue Nov 12. Latest works. sorc/gdas.cd/sorc/da-utils PR: NOAA-EMC/DA-utils#5 sorc/ufs_utils.fd from PR: ufs-community/UFS_UTILS#1010
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ShellCheck found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
first pass
jobs/JGLOBAL_ATMOS_SFCANL
Outdated
@@ -24,6 +24,9 @@ YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \ | |||
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \ | |||
COMOUT_ATMOS_RESTART:COM_ATMOS_RESTART_TMPL | |||
|
|||
RUN="enkfgdas" MEMDIR="ensstat" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \ | |||
COM_ATMOS_ENKF_ANALYSIS_STAT:COM_ATMOS_ANALYSIS_TMPL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
COM needs to be explicit if it is COMIN or COMOUT now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to COMIN.
scripts/exgdas_enkf_sfc.sh
Outdated
@@ -225,6 +239,9 @@ if [ $DOSFCANL_ENKF = "YES" ]; then | |||
RUN="${GDUMP_ENS}" MEMDIR=${gmemchar} YMD=${gPDY} HH=${gcyc} declare_from_tmpl \ | |||
COMIN_ATMOS_RESTART_MEM_PREV:COM_ATMOS_RESTART_TMPL | |||
|
|||
MEMDIR=${memchar} YMD=${PDY} HH=${cyc} declare_from_tmpl \ | |||
COM_ATMOS_ANALYSIS_MEM:COM_ATMOS_ANALYSIS_TMPL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same COM comment as before
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to COMIN
ush/regrid_gsiSfcIncr_to_tile.sh
Outdated
memchar="mem${cmem}" | ||
|
||
MEMDIR=${memchar} YMD=${PDY} HH=${cyc} declare_from_tmpl \ | ||
COM_ATMOS_ANALYSIS_MEM:COM_ATMOS_ANALYSIS_TMPL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
more COM related comments in this file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the changes looks good. seems like some checks are failing. I tried to recommend a couple updates that might help.
Co-authored-by: Cory Martin <[email protected]>
Co-authored-by: Cory Martin <[email protected]>
Can someone please point me to the reason for the failure? I see warnings for code that I haven't changed. Am I meant to fix these? |
parm/config/gfs/config.sfcanl
Outdated
export DO_LNDINC=".true." | ||
export DO_SOI_INC=".true." | ||
export GCYCLE_INTERP_LNDINC=".false." | ||
export LSOIL_INCR=2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a nitpicky comment - and is a case in the global-workflow in general - variables do not need to be 3 characters long e.g. DO_SOI_INC -> DO_SOIL_INC
or DO_SOILINC
to be (in)consistent with DO_LNDINC
or something. Even INC
is sometimes INCR
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not nitpicky at all! Or at least, it has been annoying me too. Also the mix of YES/NO, and true/false. Some of it is coming from the namelists used in submodules. I'll at least establish consistent variable names for most of the workflow, then try to clean it up over time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm preparing to fix this, with a second PR to UFS_UTILS, resolving issue 1021
@ClaraDraper-NOAA If we still see errors after fixing the issue in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did a pass through on this PR and left a few comments and suggestions. Please let me know if I can help clarify or assist.
I can fix exgdas_enfkf_sfs.sh, I just wasn't sure if this was even the problem since they're warnings. |
@@ -24,6 +24,9 @@ YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \ | |||
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \ | |||
COMOUT_ATMOS_RESTART:COM_ATMOS_RESTART_TMPL | |||
|
|||
RUN="enkfgdas" MEMDIR="ensstat" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \ | |||
COMIN_ATMOS_ENKF_ANALYSIS_STAT:COM_ATMOS_ANALYSIS_TMPL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking for the current ensemble update analysis stat directory correct? Does having RUN="enkgdas"
cause a failure during the gfs cycle?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've turned off DO_GSISOILDA for the gfs runs.
All:
|
Co-authored-by: Cory Martin <[email protected]>
Co-authored-by: Cory Martin <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
last comment, otherwise I think the changes look good (have not tested).
We should turn this on in one or more of the CI tests
_RUN=${RUN:-"gfs"} | ||
_RUN=${RUN/enkf/} | ||
|
||
if [[ "${_RUN}" == "gfs" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_RUN=${RUN:-"gfs"} | |
_RUN=${RUN/enkf/} | |
if [[ "${_RUN}" == "gfs" ]]; then | |
if [[ "${RUN/enkf/}" == "gfs" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should always be a RUN
I think
I've added a CI test. |
All - I have one change I need to make tomorrow (staging the orog fix files), which will require a fortran change. Otherwise, I think everything else is done. Thanks for all your input! |
export GCYCLE_DO_SOILINCR=".true." | ||
export GCYCLE_INTERP_LANDINCR=".false." | ||
export LSOIL_INCR=2 | ||
export REGRID_EXEC=${REGRID_EXEC:-"${HOMEgfs}/sorc/gdas.cd/build/bin/regridStates.x"} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
export REGRID_EXEC=${REGRID_EXEC:-"${HOMEgfs}/sorc/gdas.cd/build/bin/regridStates.x"} | |
export REGRID_EXEC="${HOMEgfs}/sorc/gdas.cd/build/bin/regridStates.x" |
No need for a pass through here since it is configured here first.
_RUN=${RUN:-"gfs"} | ||
_RUN=${RUN/enkf/} | ||
|
||
if [[ "${_RUN}" == "gfs" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_RUN=${RUN:-"gfs"} | |
_RUN=${RUN/enkf/} | |
if [[ "${_RUN}" == "gfs" ]]; then | |
if [[ "${RUN/enkf}" == "gfs" ]]; then |
Don't really need _RUN
.
export CASE_OUT=${CASE_ENS} | ||
export OCNRES_OUT=${OCNRES} | ||
export NMEM_REGRID=${NMEM_ENS} | ||
if [ $DOIAU = "YES" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if [ $DOIAU = "YES" ]; then | |
if [[ "${DOIAU}" == "YES" ]]; then |
export LFHR=6 # PDYcyc | ||
fi | ||
|
||
$REGRIDSH |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
$REGRIDSH | |
"${REGRIDSH}" |
done # ensembles | ||
|
||
done | ||
|
||
fi | ||
|
||
if [ $DOSFCANL_ENKF = "YES" ]; then | ||
if [[ $DOSFCANL_ENKF = "YES" ]]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if [[ $DOSFCANL_ENKF = "YES" ]]; then | |
if [[ "${DOSFCANL_ENKF}" == "YES" ]]; then |
Description
Add mean EnKF soil increment to the deterministic member. Includes new regriding script and executable (in GDASApp) to perform masked bi-linear interpolation of the soil increments.
Resolves 2773
Type of change
Change characteristics
OUTDATED:
Exercizing the new soil analysis feature requires updating UFS_UTILS to at least commit e718003
UPDATE Feb 5:
After responding to reviews, requires updating to UFS_UTILS PR 1022
How has this been tested?
Tested on hera:
C96_atm3DVar, C96C48_hybatmaerosnowDA, and the default test ran succesfully.
Confirmed new functionality works as expected.
Confirmed that the commits do not change output from cycling the DA if the the new feature is not selected.
Checklist
NOTE: