Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6438626
First pass at adding the GSI-based soil analysis to the workflow.
ClaraDraper-NOAA Jan 16, 2024
f9d0442
Cleaned up print statememts. Runs, adds increments to ensemble only.
ClaraDraper-NOAA Jan 16, 2024
3ab6e71
Merge branch 'develop' into feature/soil_updates
ClaraDraper-NOAA Jan 26, 2024
d1434bb
Clean-up, ready for PR.
ClaraDraper-NOAA Jan 26, 2024
7e0e225
Merge branch 'develop' into feature/soil_updates
ClaraDraper-NOAA Jan 26, 2024
3f507c0
minor updates for git's spell-check.
ClaraDraper-NOAA Feb 7, 2024
528a511
Merge branch 'develop' into feature/soil_updates
ClaraDraper-NOAA Feb 7, 2024
c767ca6
removed work-arounds to avoid call to global_cycle/sfccycle with
ClaraDraper-NOAA Feb 7, 2024
2815023
Updated gsi hash to catch soil analysis updates.
ClaraDraper-NOAA Feb 7, 2024
fb4917a
Turn soil analysis off for default.
ClaraDraper-NOAA Feb 8, 2024
1b0c4a0
Merge branch 'feature/soil_updates' of https://github.com/ClaraDraper…
ClaraDraper-NOAA Feb 8, 2024
9f1d772
Merge branch 'develop' into feature/soil_updates
ClaraDraper-NOAA Feb 8, 2024
13026e3
bug fixes.
ClaraDraper-NOAA Feb 13, 2024
734ed4e
Merge branch 'develop' into feature/soil_updates
ClaraDraper-NOAA Feb 29, 2024
f77d91f
Update UFS_UTILS hash.
ClaraDraper-NOAA Feb 29, 2024
7168006
Merge branch 'develop' into feature/soil_updates
ClaraDraper-NOAA Feb 29, 2024
0dcc2c4
bug fix.
ClaraDraper-NOAA Feb 29, 2024
2129fac
Clean up merge, resolve spelling issues.
ClaraDraper-NOAA Mar 1, 2024
2b6694e
Updated the gsi fix version.
ClaraDraper-NOAA Mar 1, 2024
597b6e0
Merge branch 'develop' into feature/soil_updates
ClaraDraper-NOAA Mar 15, 2024
7e78514
Fixed merge commit in defaults.yaml
ClaraDraper-NOAA Mar 15, 2024
2fb2e73
Merge branch 'develop' into feature/soil_updates
aerorahul Mar 15, 2024
38cf220
Merge branch 'develop' into feature/soil_updates
aerorahul Mar 18, 2024
98660b1
Merge branch 'develop' into feature/soil_updates
aerorahul Mar 18, 2024
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
8 changes: 8 additions & 0 deletions parm/config/gfs/config.anal
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@ export OZINFO=${FIXgsi}/global_ozinfo.txt
export SATINFO=${FIXgsi}/global_satinfo.txt
export OBERROR=${FIXgsi}/prepobs_errtable.global

if [[ $GSI_SOILANAL == ".true." ]]; then
Comment thread Fixed
export hofx_2m_sfcfile=".true."
export reducedgrid=".false." # not possible for sfc analysis, Jeff Whitaker says it's not useful anyway
export paranc=".false." # temporary until sfc io coded for parance (PR being prepared by T. Gichamo)
export DO_SFCCYCLE=".false." # temporary, until sfccycle has handle fractional grids (PR very close)
export CONVINFO=/scratch2/BMC/gsienkf/Clara.Draper/2mDAfiles_gworkflow/global_convinfos.w2mobs.txt
export ANAVINFO=/scratch2/BMC/gsienkf/Clara.Draper/2mDAfiles_gworkflow/global_anavinfo.2mobs_soilupd.l127.txt
fi

# Use experimental dumps in EMC GFS v16 parallels
if [[ ${RUN_ENVIR} == "emc" ]]; then
Expand Down
2 changes: 2 additions & 0 deletions parm/config/gfs/config.base.emc.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,8 @@ fi

if [[ "${DOIAU_ENKF}" = "NO" ]]; then export IAUFHRS_ENKF="6"; fi

export GSI_SOILANAL="YES"

# turned on nsst in anal and/or fcst steps, and turn off rtgsst
export DONST="YES"
if [[ ${DONST} = "YES" ]]; then export FNTSFA=" "; fi
Expand Down
5 changes: 5 additions & 0 deletions parm/config/gfs/config.esfc
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,9 @@ if [ $DOIAU_ENKF = "YES" ]; then
export DOSFCANL_ENKF="NO"
fi

if [ $GSI_SOILANAL = "YES" ]; then
Comment thread Fixed
Comment thread Fixed
Comment thread Fixed
export DO_LNDINC=".true."
export LND_SOI_FILE="lnd_incr"
fi

echo "END: config.esfc"
21 changes: 16 additions & 5 deletions scripts/exgdas_enkf_sfc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ pwd=$(pwd)

# Base variables
DONST=${DONST:-"NO"}
GSI_SOILANAL=${GSI_SOILANAL:-"NO"}
DOSFCANL_ENKF=${DOSFCANL_ENKF:-"YES"}
export CASE=${CASE:-384}
ntiles=${ntiles:-6}
Expand Down Expand Up @@ -144,8 +145,10 @@ if [ $DOIAU = "YES" ]; then
MEMDIR=${memchar} RUN="enkfgdas" YMD=${gPDY} HH=${gcyc} generate_com \
COM_ATMOS_RESTART_MEM_PREV:COM_ATMOS_RESTART_TMPL

[[ ${TILE_NUM} -eq 1 ]] && mkdir -p "${COM_ATMOS_RESTART_MEM}"
MEMDIR=${memchar} YMD=${PDY} HH=${cyc} generate_com \
COM_ATMOS_ANALYSIS_MEM:COM_ATMOS_ANALYSIS_TMPL

[[ ${TILE_NUM} -eq 1 ]] && mkdir -p "${COM_ATMOS_RESTART_MEM}"
${NCP} "${COM_ATMOS_RESTART_MEM_PREV}/${bPDY}.${bcyc}0000.sfc_data.tile${n}.nc" \
"${COM_ATMOS_RESTART_MEM}/${bPDY}.${bcyc}0000.sfcanl_data.tile${n}.nc"
${NLN} "${COM_ATMOS_RESTART_MEM_PREV}/${bPDY}.${bcyc}0000.sfc_data.tile${n}.nc" \
Expand All @@ -155,10 +158,18 @@ if [ $DOIAU = "YES" ]; then
${NLN} "${FIXorog}/${CASE}/${CASE}_grid.tile${n}.nc" "${DATA}/fngrid.${cmem}"
${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.${cmem}"

done

CDATE="${PDY}${cyc}" ${CYCLESH}
export err=$?; err_chk
if [ ${GSI_SOILANAL} = "YES" ]; then
FHR=6
${NLN} "${COM_ATMOS_ANALYSIS_MEM}/${APREFIX_ENS}sfci00${FHR}.nc" \
Comment thread
WalterKolczynski-NOAA marked this conversation as resolved.
"${DATA}/lnd_incr.${cmem}"
fi
done # ensembles

if [ ${GSI_SOILANAL} = "YES" ]; then
Comment thread Fixed
export DONST="NO" # temporary, until fractional grids solved
CDATE="${PDY}${cyc}" ${CYCLESH}
export err=$?; err_chk
fi

done

Expand Down
9 changes: 9 additions & 0 deletions scripts/exgdas_enkf_update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ else
DO_CALC_INCREMENT=${DO_CALC_INCREMENT:-"NO"}
fi
INCREMENTS_TO_ZERO=${INCREMENTS_TO_ZERO:-"'NONE'"}
GSI_SOILINC=${GSI_SOILINC:-"NO"}

################################################################################

Expand Down Expand Up @@ -203,6 +204,10 @@ for imem in $(seq 1 $NMEM_ENS); do
for FHR in $nfhrs; do
${NLN} "${COM_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}atmf00${FHR}${ENKF_SUFFIX}.nc" \
"sfg_${PDY}${cyc}_fhr0${FHR}_${memchar}"
if [ $GSI_SOILINC = "YES" ]; then
${NLN} "${COM_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}sfcf00${FHR}${ENKF_SUFFIX}.nc" \
"bfg_${PDY}${cyc}_fhr0${FHR}_${memchar}"
Comment thread
WalterKolczynski-NOAA marked this conversation as resolved.
fi
if [ $cnvw_option = ".true." ]; then
${NLN} "${COM_ATMOS_HISTORY_MEM_PREV}/${GPREFIX}sfcf00${FHR}.nc" \
"sfgsfc_${PDY}${cyc}_fhr0${FHR}_${memchar}"
Expand All @@ -224,6 +229,10 @@ for imem in $(seq 1 $NMEM_ENS); do
"incr_${PDY}${cyc}_fhr0${FHR}_${memchar}"
fi
fi
if [ $GSI_SOILANAL = "YES" ]; then
${NLN} "${COM_ATMOS_ANALYSIS_MEM}/${APREFIX}sfci00${FHR}.nc" \
"sfcincr_${PDY}${cyc}_fhr0${FHR}_${memchar}"
fi
done
done

Expand Down
5 changes: 4 additions & 1 deletion scripts/exglobal_atmos_analysis.sh
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,8 @@ SENDDBN=${SENDDBN:-"NO"}
RUN_GETGES=${RUN_GETGES:-"NO"}
GETGESSH=${GETGESSH:-"getges.sh"}
export gesenvir=${gesenvir:-${envir}}

export hofx_2m_sfcfile=${hofx_2m_sfcfile:-".false."}

# Observations
OPREFIX=${OPREFIX:-""}
Expand Down Expand Up @@ -296,6 +298,7 @@ RADCLOUDINFO=${RADCLOUDINFO:-${FIXgsi}/cloudy_radiance_info.txt}
ATMSFILTER=${ATMSFILTER:-${FIXgsi}/atms_beamwidth.txt}
ANAVINFO=${ANAVINFO:-${FIXgsi}/global_anavinfo.l${LEVS}.txt}
CONVINFO=${CONVINFO:-${FIXgsi}/global_convinfo.txt}

vqcdat=${vqcdat:-${FIXgsi}/vqctp001.dat}
INSITUINFO=${INSITUINFO:-${FIXgsi}/global_insituinfo.txt}
OZINFO=${OZINFO:-${FIXgsi}/global_ozinfo.txt}
Expand Down Expand Up @@ -748,6 +751,7 @@ cat > gsiparm.anl << EOF
/
&OBS_INPUT
dmesh(1)=145.0,dmesh(2)=150.0,dmesh(3)=100.0,dmesh(4)=50.0,time_window_max=3.0,
hofx_2m_sfcfile=${hofx_2m_sfcfile},
${OBSINPUT}
/
OBS_INPUT::
Expand Down Expand Up @@ -909,7 +913,6 @@ ${NCP} ${GSIEXEC} ${DATA}
${APRUN_GSI} ${DATA}/$(basename ${GSIEXEC}) 1>&1 2>&2
export err=$?; err_chk


##############################################################
# If full analysis field written, calculate analysis increment
# here before releasing FV3 forecast
Expand Down
31 changes: 20 additions & 11 deletions scripts/exglobal_atmos_sfcanl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,9 @@ export DELTSFC=${DELTSFC:-6}
export FIXam=${FIXam:-${HOMEgfs}/fix/am}
export FIXorog=${FIXorog:-${HOMEgfs}/fix/orog}

# temporary - skip global_cycle, until can deal with fractional grids
SKIP_GCYCLE="YES"

# FV3 specific info (required for global_cycle)
export CASE=${CASE:-"C384"}
ntiles=${ntiles:-6}
Expand Down Expand Up @@ -180,13 +183,16 @@ if [[ ${DOIAU} = "YES" ]]; then
${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.00${n}"
done

export APRUNCY=${APRUN_CYCLE}
export OMP_NUM_THREADS_CY=${NTHREADS_CYCLE}
export MAX_TASKS_CY=${ntiles}

CDATE="${PDY}${cyc}" ${CYCLESH}
export err=$?; err_chk
# skip calling global_cycle, until fractional grids issues is resolved
if [ $SKIP_GCYCLE = "NO" ]; then
Comment thread Fixed
Comment thread Fixed
export APRUNCY=${APRUN_CYCLE}
export OMP_NUM_THREADS_CY=${NTHREADS_CYCLE}
export MAX_TASKS_CY=${ntiles}
CDATE="${PDY}${cyc}" ${CYCLESH}
export err=$?; err_chk
fi
fi
# CSD should above be an else statement? i.e, for IAU do we use the restarts in the middle of the window?

# Update surface restarts at middle of window
for n in $(seq 1 ${ntiles}); do
Expand All @@ -203,12 +209,15 @@ for n in $(seq 1 ${ntiles}); do
${NLN} "${FIXorog}/${CASE}/${CASE}.mx${OCNRES}_oro_data.tile${n}.nc" "${DATA}/fnorog.00${n}"
done

export APRUNCY=${APRUN_CYCLE}
export OMP_NUM_THREADS_CY=${NTHREADS_CYCLE}
export MAX_TASKS_CY=${ntiles}
# skip calling global_cycle, until fractional grids issues is resolved
if [ $SKIP_GCYCLE = "NO" ]; then
Comment thread Fixed
Comment thread Fixed
Comment thread Fixed
export APRUNCY=${APRUN_CYCLE}
export OMP_NUM_THREADS_CY=${NTHREADS_CYCLE}
export MAX_TASKS_CY=${ntiles}

CDATE="${PDY}${cyc}" ${CYCLESH}
export err=$?; err_chk
CDATE="${PDY}${cyc}" ${CYCLESH}
export err=$?; err_chk
fi


################################################################################
Expand Down
2 changes: 1 addition & 1 deletion ush/forecast_postdet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ FV3_postdet(){
done

# Replace sfc_data with sfcanl_data restart files from current cycle (if found)
if [[ "${MODE}" = "cycled" ]] && [[ "${CCPP_SUITE}" = "FV3_GFS_v16" ]]; then # TODO: remove if statement when global_cycle can handle NOAHMP
if [[ "${MODE}" = "cycled" ]]; then
for file in "${COM_ATMOS_RESTART}/${sPDY}.${scyc}0000."*.nc; do
file2=$(basename "${file}")
file2=$(echo "${file2}" | cut -d. -f3-) # remove the date from file
Expand Down