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

global_cycle - Support NoahMP and fractional grid #815

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
69f7acf
Add new routine for fractional grids. When running in
GeorgeGayno-NOAA Aug 23, 2022
64bf11d
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Aug 24, 2022
5e95fec
Add rudimentary doxygen to new routine to prevent
GeorgeGayno-NOAA Aug 24, 2022
7086a47
Add read of land fraction record from orography file.
GeorgeGayno-NOAA Aug 25, 2022
84f65e1
Update ccpp-physics.
GeorgeGayno-NOAA Aug 25, 2022
00f6421
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Sep 1, 2022
540e1e1
Add logic to set 'slmaskl' and 'slmaskw' for fractional
GeorgeGayno-NOAA Sep 2, 2022
8cb2ebb
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Sep 13, 2022
b51b685
Add call to write routine for fractional grids.
GeorgeGayno-NOAA Sep 14, 2022
a4db62a
Add some diagnostic print. Add write of albedo to
GeorgeGayno-NOAA Sep 20, 2022
9311191
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Sep 20, 2022
511c3c7
Remove write of albedo, which noah-mp does not need from cycle.
GeorgeGayno-NOAA Sep 27, 2022
4cbed65
Add processing of ice fraction.
GeorgeGayno-NOAA Oct 5, 2022
fc7736b
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Dec 19, 2022
944085f
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Jan 19, 2023
0686cb6
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Mar 20, 2023
aa3bb0f
Add logic to stop processing for cases that have
GeorgeGayno-NOAA Apr 14, 2023
1463fc6
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Apr 14, 2023
03b3d1f
Pass in FRAC_GRID environment variable used by
GeorgeGayno-NOAA Apr 14, 2023
14bae40
Remove some test logic.
GeorgeGayno-NOAA Apr 17, 2023
ba88ec2
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Apr 18, 2023
e757f08
Merge commit '4d2768c' into feature/cycle_frac2
GeorgeGayno-NOAA Aug 23, 2023
fc62cc0
Merge commit 'c6419ba' into feature/cycle_frac2
GeorgeGayno-NOAA Aug 23, 2023
13d2ae0
Merge commit 'ae483bd' into feature/cycle_frac2
GeorgeGayno-NOAA Aug 23, 2023
cf88d91
Merge commit '8b7e4a1' into feature/cycle_frac2
GeorgeGayno-NOAA Aug 23, 2023
315cda5
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Aug 24, 2023
19c7fa0
Fix doxygen in read_write_data.f90.
GeorgeGayno-NOAA Aug 24, 2023
aacd8db
Add some diagnostic print.
GeorgeGayno-NOAA Aug 24, 2023
42ab7cd
Add error handling for case when slmsk does not match the
GeorgeGayno-NOAA Aug 24, 2023
e67a305
Remove some unused variables.
GeorgeGayno-NOAA Aug 24, 2023
64e138b
Add logic to halt snow increment update for noah-mp or
GeorgeGayno-NOAA Sep 18, 2023
0b5c4a3
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Oct 20, 2023
99ea7fa
Update script variables to be consistent with the
GeorgeGayno-NOAA Oct 23, 2023
4b8ec7a
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Oct 30, 2023
5b65787
Fix intent attribute for adjust_nsst mask argument.
GeorgeGayno-NOAA Nov 20, 2023
5c467b4
Point to latest version of orog files.
GeorgeGayno-NOAA Nov 20, 2023
877268f
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Nov 20, 2023
138cb47
Updates so the first regression test can run successfully.
GeorgeGayno-NOAA Nov 21, 2023
1f1c34a
Fix the 2nd regression test.
GeorgeGayno-NOAA Nov 21, 2023
1d2d425
Fix final regression test.
GeorgeGayno-NOAA Nov 21, 2023
ee19c3c
Begin updates for fractional grids and nsst. First, update some
GeorgeGayno-NOAA Nov 28, 2023
6cea9ab
Comment out diagnostic code.
GeorgeGayno-NOAA Dec 28, 2023
0984fbd
Update adjust_nsst routine for fractional grids.
GeorgeGayno-NOAA Dec 28, 2023
ed8c24d
Output ice fields as nsst update is ice dependent.
GeorgeGayno-NOAA Jan 3, 2024
ee79c49
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Jan 3, 2024
5d10ed6
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Jan 3, 2024
5a870df
Minor script fixes for the first cycle regression test
GeorgeGayno-NOAA Jan 3, 2024
b17a90d
Minor script changes for the remaining regression tests.
GeorgeGayno-NOAA Jan 4, 2024
fc13873
Fix definition of OROFIX in the cycle driver script.
GeorgeGayno-NOAA Jan 11, 2024
8af4329
Remove some diagnostic print.
GeorgeGayno-NOAA Jan 16, 2024
cf37243
Remove more diagnostic print.
GeorgeGayno-NOAA Jan 16, 2024
fcc0b31
Create new cycle consistency test based on Cathy's c48
GeorgeGayno-NOAA Jan 17, 2024
3685f24
Update Jet regression test driver script for new c48 test.
GeorgeGayno-NOAA Jan 17, 2024
d63dac5
Update Orion driver script for new c48 regression test.
GeorgeGayno-NOAA Jan 17, 2024
066feef
Update hercules and wcoss2 test driver scripts for new c48
GeorgeGayno-NOAA Jan 17, 2024
2948941
Fix some diagnostic prin in C192.lndincsoilnoahmp.sh.
Jan 18, 2024
599cf2a
Merge branch 'develop' into feature/cycle_frac2
GeorgeGayno-NOAA Jan 19, 2024
8f1d560
Update doxygen.
GeorgeGayno-NOAA Jan 19, 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
10 changes: 5 additions & 5 deletions reg_tests/global_cycle/C192.lndincsoilnoahmp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ export FHOUR=00
export DELTSFC=6

export CASE=C192
export OCNRES=99999

export COMIN=$HOMEreg/input_data_noahmp

Expand All @@ -33,10 +34,9 @@ export JCAP=1534
export LONB=3072
export LATB=1536

export OROFIX=$HOMEreg/fix/$CASE
export FIXgsm=$BASE_GSM/fix/am

export FIXfv3=$HOMEreg/fix

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

Expand Down Expand Up @@ -73,9 +73,9 @@ done
set +x
if [ $test_failed -ne 0 ]; then
echo
echo "*****************************************"
echo "<<< C192 LANDINC SOIL-NOAHP CYCLE TEST FAILED. >>>"
echo "*****************************************"
echo "**********************************************"
echo "<<< C192 LANDINC SOIL-NOAHMP CYCLE TEST FAILED. >>>"
echo "**********************************************"
if [ "$UPDATE_BASELINE" = "TRUE" ]; then
$BASE_GSM/reg_tests/update_baseline.sh $HOMEreg "c192.lndincsoilnoahmp" $commit_num
fi
Expand Down
92 changes: 92 additions & 0 deletions reg_tests/global_cycle/C48.noahmp.fracgrid.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
#!/bin/bash

#------------------------------------------------------------------
# Run global_cycle for a C48 case that tests the NOAHMP and
# fractional grid options.
#
# 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=2021032406
export FHOUR=00
export DELTSFC=6

export CASE=C48
export OCNRES=500

export COMIN=$HOMEreg/input_data_c48.noahmp.frac.grid
export FNACNA=$COMIN/gdas.t06z.seaice.5min.blend.grb
export FNTSFA=" "
export FNSNOA=" "
export NST_FILE=$COMIN/gdas.t06z.dtfanl.nc

export JCAP=1534
export LONB=3072
export LATB=1536

export OROFIX=$HOMEreg/fix/$CASE

export FIXgsm=$BASE_GSM/fix/am

export FNAISC=$FIXgsm/IMS-NIC.blended.ice.monthly.clim.grb

export DONST="YES"
export use_ufo=.true.
export FRAC_GRID=.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 "<<< C48 NOAHMP FRAC GRID 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/c48.noahmp.fracgrid/$files
iret=$?
if [ $iret -ne 0 ]; then
test_failed=1
fi
fi
done

set +x
if [ $test_failed -ne 0 ]; then
echo
echo "******************************************"
echo "<<< C48 NOAHMP FRAC GRID TEST FAILED. >>>"
echo "******************************************"
if [ "$UPDATE_BASELINE" = "TRUE" ]; then
$BASE_GSM/reg_tests/update_baseline.sh $HOMEreg "c48.noahmp.fracgrid" $commit_num
fi
else
echo
echo "*****************************************"
echo "<<< C48 NOAHMP FRAC GRID TEST PASSED. >>>"
echo "*****************************************"
fi

exit
17 changes: 15 additions & 2 deletions reg_tests/global_cycle/C768.fv3gfs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export FHOUR=00
export DELTSFC=6

export CASE=C768
export OCNRES=99999

export COMIN=$HOMEreg/input_data
export FNTSFA=$COMIN/gdas.t00z.rtgssthr.grb
Expand All @@ -32,10 +33,22 @@ export JCAP=1534
export LONB=3072
export LATB=1536

export OROFIX=$HOMEreg/fix/$CASE

export FIXgsm=$BASE_GSM/fix/am
export FNAISC=$FIXgsm/CFSR.SEAICE.1982.2012.monthly.clim.grb

export FIXfv3=$HOMEreg/fix
export FNALBC2=$FIXgsm/global_albedo4.1x1.grb
export FNALBC=$FIXgsm/global_snowfree_albedo.bosu.t1534.3072.1536.rg.grb
export FNALBC=$FIXgsm/global_snowfree_albedo.bosu.t1534.3072.1536.rg.grb
export FNTG3C=$FIXgsm/global_tg3clim.2.6x1.5.grb
export FNVETC=$FIXgsm/global_vegtype.igbp.t1534.3072.1536.rg.grb
export FNSOTC=$FIXgsm/global_soiltype.statsgo.t1534.3072.1536.rg.grb
export FNVEGC=$FIXgsm/global_vegfrac.0.144.decpercent.grb
export FNVMNC=$FIXgsm/global_shdmin.0.144x0.144.grb
export FNVMXC=$FIXgsm/global_shdmax.0.144x0.144.grb
export FNSLPC=$FIXgsm/global_slope.1x1.grb
export FNABSC=$FIXgsm/global_mxsnoalb.uariz.t1534.3072.1536.rg.grb
export FNAISC=$FIXgsm/CFSR.SEAICE.1982.2012.monthly.clim.grb

export DONST="YES"
export use_ufo=.true.
Expand Down
4 changes: 2 additions & 2 deletions reg_tests/global_cycle/C768.lndincsnow.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ export FHOUR=00
export DELTSFC=6

export CASE=C768
export OCNRES=99999

export COMIN=$HOMEreg/input_data
export FNTSFA=$COMIN/gdas.t00z.rtgssthr.grb
Expand All @@ -34,10 +35,9 @@ export JCAP=1534
export LONB=3072
export LATB=1536

export OROFIX=$HOMEreg/fix/$CASE
export FIXgsm=$BASE_GSM/fix/am

export FIXfv3=$HOMEreg/fix

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

Expand Down
8 changes: 7 additions & 1 deletion reg_tests/global_cycle/driver.hera.sh
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,16 @@ 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.log04
export DATA="${DATA_DIR}/test4"
export COMOUT=$DATA
TEST4=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c48.noahmp.frac \
-o $LOG_FILE -e $LOG_FILE ./C48.noahmp.fracgrid.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:$TEST3 << EOF
afterok:$TEST1:$TEST2:$TEST3:$TEST4 << EOF
#!/bin/bash
grep -a '<<<' ${LOG_FILE}* > summary.log
EOF
Expand Down
10 changes: 8 additions & 2 deletions reg_tests/global_cycle/driver.hercules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ module list

ulimit -s unlimited

export WORK_DIR="${WORK_DIR:-/work/noaa/stmp/$LOGNAME}"
export WORK_DIR="${WORK_DIR:-/work2/noaa/stmp/$LOGNAME}"

PROJECT_CODE="${PROJECT_CODE:-fv3-cpu}"
QUEUE="${QUEUE:-batch}"
Expand Down Expand Up @@ -73,10 +73,16 @@ 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.log04
export DATA="${DATA_DIR}/test4"
export COMOUT=$DATA
TEST4=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c48.noahmp.frac \
-o $LOG_FILE -e $LOG_FILE ./C48.noahmp.fracgrid.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:$TEST3 << EOF
afterok:$TEST1:$TEST2:$TEST3:$TEST4 << EOF
#!/bin/bash
grep -a '<<<' ${LOG_FILE}* > summary.log
EOF
Expand Down
8 changes: 7 additions & 1 deletion reg_tests/global_cycle/driver.jet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,16 @@ 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.log04
export DATA="${DATA_DIR}/test4"
export COMOUT=$DATA
TEST4=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c48.noahmp.frac \
--partition=xjet -o $LOG_FILE -e $LOG_FILE ./C48.noahmp.fracgrid.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:$TEST3 << EOF
afterok:$TEST1:$TEST2:$TEST3:$TEST4 << EOF
#!/bin/bash
grep -a '<<<' ${LOG_FILE}* > ./summary.log
EOF
Expand Down
8 changes: 7 additions & 1 deletion reg_tests/global_cycle/driver.orion.sh
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,16 @@ 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.log04
export DATA="${DATA_DIR}/test4"
export COMOUT=$DATA
TEST4=$(sbatch --parsable --ntasks-per-node=6 --nodes=1 -t 0:05:00 -A $PROJECT_CODE -q $QUEUE -J c48.noahmp.frac \
-o $LOG_FILE -e $LOG_FILE ./C48.noahmp.fracgrid.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:$TEST3 << EOF
afterok:$TEST1:$TEST2:$TEST3:$TEST4 << EOF
#!/bin/bash
grep -a '<<<' ${LOG_FILE}* > summary.log
EOF
Expand Down
7 changes: 6 additions & 1 deletion reg_tests/global_cycle/driver.wcoss2.sh
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,13 @@ export COMOUT=$DATA
TEST3=$(qsub -V -o ${LOG_FILE}03 -e ${LOG_FILE}03 -q $QUEUE -A $PROJECT_CODE -l walltime=00:05:00 \
-N c768.lndincsnow -l select=1:ncpus=12:mem=8GB $PWD/C768.lndincsnow.sh)

export DATA="${DATA_DIR}/test4"
export COMOUT=$DATA
TEST4=$(qsub -V -o ${LOG_FILE}04 -e ${LOG_FILE}04 -q $QUEUE -A $PROJECT_CODE -l walltime=00:05:00 \
-N c48.noahmp.frac -l select=1:ncpus=12:mem=8GB $PWD/C48.noahmp.fracgrid.sh)

qsub -V -o ${LOG_FILE} -e ${LOG_FILE} -q $QUEUE -A $PROJECT_CODE -l walltime=00:01:00 \
-N cycle_summary -l select=1:ncpus=1:mem=100MB -W depend=afterok:$TEST1:$TEST2:$TEST3 << EOF
-N cycle_summary -l select=1:ncpus=1:mem=100MB -W depend=afterok:$TEST1:$TEST2:$TEST3:$TEST4 << EOF
#!/bin/bash
cd $reg_dir
grep -a '<<<' ${LOG_FILE}?? | grep -v echo > summary.log
Expand Down
Loading