Skip to content

Commit

Permalink
global_cycle - New option to apply snow depth increments from JEDI (#568
Browse files Browse the repository at this point in the history
)

Addition of routines to add snow depth increments from the JEDI output 
increment file to the surface restart files. Includes screening to apply 
updates over land only and to adjust the SWE to match the snow depth analysis. 

This is an option. The default is to not read in or apply the increments.

Fixes #561
  • Loading branch information
ClaraDraper-NOAA authored Sep 3, 2021
1 parent 2ad0033 commit dea8dd9
Show file tree
Hide file tree
Showing 15 changed files with 745 additions and 328 deletions.
85 changes: 85 additions & 0 deletions reg_tests/global_cycle/C768.lndincsnow.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
#!/bin/bash

#------------------------------------------------------------------
# Run global_cycle for a C768 case to test the ingest of snow
# increments from JEDI. Compare output to a baseline set of
# files using the 'nccmp' utility.
#------------------------------------------------------------------

set -x

NCCMP=${NCCMP:-$(which nccmp)}

export MAX_TASKS_CY=6

export HOMEgfs=$NWPROD
export BASE_GSM=$NWPROD

export CYCLEXEC=$BASE_GSM/exec/global_cycle

export CDATE=2019073000
export FHOUR=00
export DELTSFC=6

export CASE=C768

export COMIN=$HOMEreg/input_data
export FNTSFA=$COMIN/gdas.t00z.rtgssthr.grb
export FNSNOA=$COMIN/gdas.t00z.snogrb_t1534.3072.1536
export FNACNA=$COMIN/gdas.t00z.seaice.5min.blend.grb
export NST_FILE=$COMIN/gdas.t00z.dtfanl.nc

export DO_SNO_INC=.true. # must be lower-case.
export JCAP=1534
export LONB=3072
export LATB=1536

export FIXgsm=$BASE_GSM/fix/fix_am

export DONST="NO"
export use_ufo=.true.

export DO_SFCCYCLE=".FALSE."
export DO_LNDINC=".TRUE."

export VERBOSE=YES
export CYCLVARS=FSNOL=99999.,FSNOS=99999.,

$BASE_GSM/ush/global_cycle_driver.sh

iret=$?
if [ $iret -ne 0 ]; then
set +x
echo "<<< C768 LANDINC SNOW CYCLE TEST FAILED. >>>"
exit $iret
fi

test_failed=0

cd $DATA
for files in *tile*.nc
do
if [ -f $files ]; then
echo CHECK $files
$NCCMP -dmfqS $files $HOMEreg/baseline_data/c768.lndincsnow/$files
iret=$?
if [ $iret -ne 0 ]; then
test_failed=1
fi
fi
done

set +x
if [ $test_failed -ne 0 ]; then
echo
echo "****************************************"
echo "<<< C768 LANDINC SNOW CYCLE TEST FAILED. >>>"
echo "****************************************"
else
echo
echo "***************************************"
echo "<<< C768 LANDINC SNOW CYCLE TEST PASSED. >>>"
echo "***************************************"
fi

exit
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
#!/bin/bash

#------------------------------------------------------------------
# Run global_cycle for a C768 test case. Compare output
# to a baseline set of files using the 'nccmp' utility.
# Run global_cycle for a C768 case to test the ingest and
# application of soil temperature increments from the GSI.
# Compare output to a baseline set of files using the 'nccmp'
# utility.
#------------------------------------------------------------------

set -x
Expand Down Expand Up @@ -50,7 +52,7 @@ $BASE_GSM/ush/global_cycle_driver.sh
iret=$?
if [ $iret -ne 0 ]; then
set +x
echo "<<< C768 LANDINC CYCLE TEST FAILED. >>>"
echo "<<< C768 LANDINC SOILT CYCLE TEST FAILED. >>>"
exit $iret
fi

Expand All @@ -61,7 +63,7 @@ for files in *tile*.nc
do
if [ -f $files ]; then
echo CHECK $files
$NCCMP -dmfqS $files $HOMEreg/baseline_data/c768.lndinc/$files
$NCCMP -dmfqS $files $HOMEreg/baseline_data/c768.lndincsoil/$files
iret=$?
if [ $iret -ne 0 ]; then
test_failed=1
Expand All @@ -72,14 +74,14 @@ done
set +x
if [ $test_failed -ne 0 ]; then
echo
echo "*********************************"
echo "<<< C768 LANDINC CYCLE TEST FAILED. >>>"
echo "*********************************"
echo "*****************************************"
echo "<<< C768 LANDINC SOILT CYCLE TEST FAILED. >>>"
echo "*****************************************"
else
echo
echo "*********************************"
echo "<<< C768 LANDINC CYCLE TEST PASSED. >>>"
echo "*********************************"
echo "*****************************************"
echo "<<< C768 LANDINC SOILT CYCLE TEST PASSED. >>>"
echo "*****************************************"
fi

exit
12 changes: 9 additions & 3 deletions reg_tests/global_cycle/driver.hera.sh
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,19 @@ TEST1=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_C
LOG_FILE=consistency.log02
export DATA="${DATA_DIR}/test2"
export COMOUT=$DATA
TEST2=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndinc \
-o $LOG_FILE -e $LOG_FILE ./C768.lndinc.sh)
TEST2=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndincsoil \
-o $LOG_FILE -e $LOG_FILE ./C768.lndincsoil.sh)

LOG_FILE=consistency.log03
export DATA="${DATA_DIR}/test3"
export COMOUT=$DATA
TEST3=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndincsnow \
-o $LOG_FILE -e $LOG_FILE ./C768.lndincsnow.sh)

LOG_FILE=consistency.log
sbatch --nodes=1 -t 0:01:00 -A $PROJECT_CODE -J chgres_summary -o $LOG_FILE -e $LOG_FILE \
--open-mode=append -q $QUEUE -d\
afterok:$TEST1:$TEST2 << EOF
afterok:$TEST1:$TEST2:$TEST3 << EOF
#!/bin/bash
grep -a '<<<' ${LOG_FILE}* > summary.log
EOF
Expand Down
16 changes: 11 additions & 5 deletions reg_tests/global_cycle/driver.jet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ module list

export WORK_DIR="${WORK_DIR:-/lfs4/HFIP/emcda/$LOGNAME/stmp}"

PROJECT_CODE="${PROJECT_CODE:-emcda}"
QUEUE="${QUEUE:-windfall}"
PROJECT_CODE="${PROJECT_CODE:-hfv3gfs}"
QUEUE="${QUEUE:-batch}"

#-----------------------------------------------------------------------------
# Should not have to change anything below.
Expand All @@ -55,13 +55,19 @@ TEST1=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_C
LOG_FILE=consistency.log02
export DATA="${DATA_DIR}/test2"
export COMOUT=$DATA
TEST2=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndinc \
--partition=xjet -o $LOG_FILE -e $LOG_FILE ./C768.lndinc.sh)
TEST2=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndincsoil \
--partition=xjet -o $LOG_FILE -e $LOG_FILE ./C768.lndincsoil.sh)

LOG_FILE=consistency.log03
export DATA="${DATA_DIR}/test3"
export COMOUT=$DATA
TEST3=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndincsnow \
--partition=xjet -o $LOG_FILE -e $LOG_FILE ./C768.lndincsnow.sh)

LOG_FILE=consistency.log
sbatch --partition=xjet --nodes=1 -t 0:01:00 -A $PROJECT_CODE -J summary -o $LOG_FILE -e $LOG_FILE \
--open-mode=append -q $QUEUE -d\
afterok:$TEST1:$TEST2 << EOF
afterok:$TEST1:$TEST2:$TEST3 << EOF
#!/bin/bash
grep -a '<<<' ${LOG_FILE}* > ./summary.log
EOF
Expand Down
12 changes: 9 additions & 3 deletions reg_tests/global_cycle/driver.orion.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,19 @@ TEST1=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_C
LOG_FILE=consistency.log02
export DATA="${DATA_DIR}/test2"
export COMOUT=$DATA
TEST2=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndinc \
-o $LOG_FILE -e $LOG_FILE ./C768.lndinc.sh)
TEST2=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndincsoil \
-o $LOG_FILE -e $LOG_FILE ./C768.lndincsoil.sh)

LOG_FILE=consistency.log03
export DATA="${DATA_DIR}/test3"
export COMOUT=$DATA
TEST3=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c768.lndincsnow \
-o $LOG_FILE -e $LOG_FILE ./C768.lndincsnow.sh)

LOG_FILE=consistency.log
sbatch --nodes=1 -t 0:01:00 -A $PROJECT_CODE -J chgres_summary -o $LOG_FILE -e $LOG_FILE \
--open-mode=append -q $QUEUE -d\
afterok:$TEST1:$TEST2 << EOF
afterok:$TEST1:$TEST2:$TEST3 << EOF
#!/bin/bash
grep -a '<<<' ${LOG_FILE}* > summary.log
EOF
Expand Down
12 changes: 9 additions & 3 deletions reg_tests/global_cycle/driver.wcoss_cray.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module list
WORK_DIR="${WORK_DIR:-/gpfs/hps3/stmp/$LOGNAME}"

PROJECT_CODE="${PROJECT_CODE:-GDAS-T2O}"
QUEUE="${QUEUE:-debug}"
QUEUE="${QUEUE:-dev}"

#-----------------------------------------------------------------------------
# Should not have to change anything below.
Expand Down Expand Up @@ -59,8 +59,14 @@ bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.fv3gfs -M 2400
LOG_FILE=consistency.log02
export DATA="${DATA_DIR}/test2"
export COMOUT=$DATA
bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.lndinc -M 2400 -W 0:05 \
-extsched 'CRAYLINUX[]' "export NODES=1; $PWD/C768.lndinc.sh"
bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.lndincsoil -M 2400 -W 0:05 \
-extsched 'CRAYLINUX[]' "export NODES=1; $PWD/C768.lndincsoil.sh"

LOG_FILE=consistency.log03
export DATA="${DATA_DIR}/test3"
export COMOUT=$DATA
bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.lndincsnow -M 2400 -W 0:05 \
-extsched 'CRAYLINUX[]' "export NODES=1; $PWD/C768.lndincsnow.sh"

LOG_FILE=consistency.log
bsub -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J summary -R "rusage[mem=100]" -W 0:01 \
Expand Down
12 changes: 9 additions & 3 deletions reg_tests/global_cycle/driver.wcoss_dell_p3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ module list
WORK_DIR="${WORK_DIR:-/gpfs/dell1/stmp/$LOGNAME}"

PROJECT_CODE="${PROJECT_CODE:-GFS-DEV}"
QUEUE="${QUEUE:-debug}"
QUEUE="${QUEUE:-dev}"

#-----------------------------------------------------------------------------
# Should not have to change anything below.
Expand All @@ -55,8 +55,14 @@ bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.fv3gfs -W 0:05
LOG_FILE=consistency.log02
export DATA="${DATA_DIR}/test2"
export COMOUT=$DATA
bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.lndinc -W 0:05 -x -n 6 \
-M 2400 -R "span[ptile=6]" -R "affinity[core(1)]" "$PWD/C768.lndinc.sh"
bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.lndincsoil -W 0:05 -x -n 6 \
-M 2400 -R "span[ptile=6]" -R "affinity[core(1)]" "$PWD/C768.lndincsoil.sh"

LOG_FILE=consistency.log03
export DATA="${DATA_DIR}/test3"
export COMOUT=$DATA
bsub -e $LOG_FILE -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J c768.lndincsnow -W 0:05 -x -n 6 \
-M 2400 -R "span[ptile=6]" -R "affinity[core(1)]" "$PWD/C768.lndincsnow.sh"

LOG_FILE=consistency.log
bsub -o $LOG_FILE -q $QUEUE -P $PROJECT_CODE -J summary -R "affinity[core(1)]" -R "rusage[mem=100]" -W 0:01 \
Expand Down
Loading

0 comments on commit dea8dd9

Please sign in to comment.