From 580fabe79ca06ff1af3ee26f03cb757f92fca6c6 Mon Sep 17 00:00:00 2001 From: Jun Wang Date: Fri, 22 Jan 2021 15:30:41 +0000 Subject: [PATCH 1/3] update ccpp control test forecast length to 24h --- tests/fv3_conf/ccpp_control_run.IN | 26 ++++++++++++++--------- tests/tests/fv3_ccpp_2threads | 1 - tests/tests/fv3_ccpp_control | 15 +------------- tests/tests/fv3_ccpp_decomp | 1 - tests/tests/fv3_ccpp_restart | 33 +++++++++++++----------------- 5 files changed, 31 insertions(+), 45 deletions(-) diff --git a/tests/fv3_conf/ccpp_control_run.IN b/tests/fv3_conf/ccpp_control_run.IN index 033d7e8925..66efd8b9e9 100644 --- a/tests/fv3_conf/ccpp_control_run.IN +++ b/tests/fv3_conf/ccpp_control_run.IN @@ -18,19 +18,25 @@ else mkdir INPUT RESTART rsync -arv ../fv3_ccpp_control${RT_SUFFIX}/RESTART/ INPUT/ - rm -f INPUT/fv_core.res.* - rm -f INPUT/fv_srf_wnd.res.* - rm -f INPUT/fv_tracer.res.* - rm -f INPUT/phy_data.* - rm -f INPUT/sfc_data.* - cd INPUT - rename 20161004.000000. '' 20161004.000000.* + if [[ $IAU_INC_FILES = 'fv3_increment.nc' ]] || [[ $READ_INCREMENT = '.T.' ]]; then + #read_inc and iau tests restart from fh=24 + cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/coupler.res INPUT/. + cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/fv_core.res.* INPUT/. + cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/fv_srf_wnd.res.* INPUT/. + cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/fv_tracer.* INPUT/. + cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/phy_data.* INPUT/. + cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/sfc_data.* INPUT/. + cp ../fv3_ccpp_control${RT_SUFFIX}/INPUT/fv3_increment.nc INPUT/. + cd INPUT + else + #restart test start from fh=12 + cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/20161003.120000.* INPUT/. + cd INPUT + rename 20161003.120000. '' 20161003.120000.* + fi cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/grid_spec.nc . cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/*_grid.tile*.nc . cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/oro_data.tile*.nc . - if [[ $IAU_INC_FILES != '' ]] || [[ $READ_INCREMENT = '.T.' ]]; then - cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/fv3_increment.nc . - fi cd .. fi diff --git a/tests/tests/fv3_ccpp_2threads b/tests/tests/fv3_ccpp_2threads index 0a37b1c15c..fe0c77a406 100644 --- a/tests/tests/fv3_ccpp_2threads +++ b/tests/tests/fv3_ccpp_2threads @@ -73,7 +73,6 @@ export LIST_FILES="atmos_4xdaily.tile1.nc \ export_fv3 -export FHMAX=48 export THRD=2 export TASKS=$TASKS_thrd export TPN=$TPN_thrd diff --git a/tests/tests/fv3_ccpp_control b/tests/tests/fv3_ccpp_control index 2f056493d9..51c284c773 100644 --- a/tests/tests/fv3_ccpp_control +++ b/tests/tests/fv3_ccpp_control @@ -26,12 +26,6 @@ export LIST_FILES="atmos_4xdaily.tile1.nc \ phyf024.tile4.nc \ phyf024.tile5.nc \ phyf024.tile6.nc \ - phyf048.tile1.nc \ - phyf048.tile2.nc \ - phyf048.tile3.nc \ - phyf048.tile4.nc \ - phyf048.tile5.nc \ - phyf048.tile6.nc \ dynf000.tile1.nc \ dynf000.tile2.nc \ dynf000.tile3.nc \ @@ -44,12 +38,6 @@ export LIST_FILES="atmos_4xdaily.tile1.nc \ dynf024.tile4.nc \ dynf024.tile5.nc \ dynf024.tile6.nc \ - dynf048.tile1.nc \ - dynf048.tile2.nc \ - dynf048.tile3.nc \ - dynf048.tile4.nc \ - dynf048.tile5.nc \ - dynf048.tile6.nc \ RESTART/coupler.res \ RESTART/fv_core.res.nc \ RESTART/fv_core.res.tile1.nc \ @@ -85,8 +73,7 @@ export LIST_FILES="atmos_4xdaily.tile1.nc \ export_fv3 -export FHMAX=48 -export RESTART_INTERVAL=24 +export RESTART_INTERVAL=12 export FV3_RUN=ccpp_control_run.IN export CCPP_SUITE=FV3_GFS_2017 diff --git a/tests/tests/fv3_ccpp_decomp b/tests/tests/fv3_ccpp_decomp index 96b5535945..6843ae6a6f 100644 --- a/tests/tests/fv3_ccpp_decomp +++ b/tests/tests/fv3_ccpp_decomp @@ -73,7 +73,6 @@ export LIST_FILES="atmos_4xdaily.tile1.nc \ export_fv3 -export FHMAX=48 export INPES=6 export JNPES=4 diff --git a/tests/tests/fv3_ccpp_restart b/tests/tests/fv3_ccpp_restart index ddf0cec3f5..1f7c8b3905 100644 --- a/tests/tests/fv3_ccpp_restart +++ b/tests/tests/fv3_ccpp_restart @@ -8,24 +8,18 @@ export TEST_DESCR="Compare FV3 CCPP restart results with previous trunk version" export CNTL_DIR=fv3_control -export LIST_FILES="atmos_4xdaily.tile1.nc \ - atmos_4xdaily.tile2.nc \ - atmos_4xdaily.tile3.nc \ - atmos_4xdaily.tile4.nc \ - atmos_4xdaily.tile5.nc \ - atmos_4xdaily.tile6.nc \ - phyf048.tile1.nc \ - phyf048.tile2.nc \ - phyf048.tile3.nc \ - phyf048.tile4.nc \ - phyf048.tile5.nc \ - phyf048.tile6.nc \ - dynf048.tile1.nc \ - dynf048.tile2.nc \ - dynf048.tile3.nc \ - dynf048.tile4.nc \ - dynf048.tile5.nc \ - dynf048.tile6.nc \ +export LIST_FILES="phyf024.tile1.nc \ + phyf024.tile2.nc \ + phyf024.tile3.nc \ + phyf024.tile4.nc \ + phyf024.tile5.nc \ + phyf024.tile6.nc \ + dynf024.tile1.nc \ + dynf024.tile2.nc \ + dynf024.tile3.nc \ + dynf024.tile4.nc \ + dynf024.tile5.nc \ + dynf024.tile6.nc \ RESTART/coupler.res \ RESTART/fv_core.res.nc \ RESTART/fv_core.res.tile1.nc \ @@ -61,6 +55,8 @@ export LIST_FILES="atmos_4xdaily.tile1.nc \ export_fv3 +export FHROT=12 +export FHMAX=24 export WARM_START=.T. export NGGPS_IC=.F. @@ -68,7 +64,6 @@ export EXTERNAL_IC=.F. export MAKE_NH=.F. export MOUNTAIN=.T. export NA_INIT=0 -export FHMAX=48 export FDIAG=3 export NSTF_NAME=2,0,1,0,5 From c9ac4221c85d33db61d5bff138e9637ec055fcea Mon Sep 17 00:00:00 2001 From: Jun Wang Date: Fri, 22 Jan 2021 18:51:00 +0000 Subject: [PATCH 2/3] remove rename command --- tests/fv3_conf/ccpp_control_run.IN | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/fv3_conf/ccpp_control_run.IN b/tests/fv3_conf/ccpp_control_run.IN index 66efd8b9e9..76d2712277 100644 --- a/tests/fv3_conf/ccpp_control_run.IN +++ b/tests/fv3_conf/ccpp_control_run.IN @@ -32,7 +32,10 @@ else #restart test start from fh=12 cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/20161003.120000.* INPUT/. cd INPUT - rename 20161003.120000. '' 20161003.120000.* + for RFILE in 20161003.120000.*; do + [ -e $RFILE ] || exit 1 + mv $RFILE ${RFILE#20161003.120000.} + done fi cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/grid_spec.nc . cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/*_grid.tile*.nc . From 8f2bdfea03d25b7be610312b3e036783625a60c9 Mon Sep 17 00:00:00 2001 From: MinsukJi-NOAA Date: Fri, 22 Jan 2021 14:35:26 -0500 Subject: [PATCH 3/3] Add CI related changes --- tests/ci/Dockerfile | 2 +- tests/ci/ci.sh | 4 ++-- tests/fv3_conf/ccpp_control_run.IN | 29 ++++++++++++++++------------ tests/utest | 31 ++---------------------------- 4 files changed, 22 insertions(+), 44 deletions(-) diff --git a/tests/ci/Dockerfile b/tests/ci/Dockerfile index 3a8bd8ebf0..c685eafbad 100644 --- a/tests/ci/Dockerfile +++ b/tests/ci/Dockerfile @@ -1,4 +1,4 @@ -From noaaemc/ubuntu-hpc:v1 +From noaaemc/ubuntu-hpc:v1.1 ENV HOME=/home/builder COPY --chown=builder:builder . $HOME/ufs-weather-model diff --git a/tests/ci/ci.sh b/tests/ci/ci.sh index f37cbde0f8..c2a093832a 100755 --- a/tests/ci/ci.sh +++ b/tests/ci/ci.sh @@ -74,8 +74,8 @@ if [ $BUILD = "true" ]; then elif [ $RUN == "true" ]; then - sudo docker run -d --rm -v DataVolume:/tmp minsukjinoaa/fv3-input-data:develop-20200713 - sudo docker run -d -e test_case=${TEST_CASE} -v DataVolume:/home/builder/data/NEMSfv3gfs/develop-20201118 --name my-container ${IMG_NAME} + sudo docker run -d --rm -v DataVolume:/tmp minsukjinoaa/fv3-input-data:input-data-20210115 + sudo docker run -d -e test_case=${TEST_CASE} -v DataVolume:/home/builder/data/NEMSfv3gfs/input-data-20210115 --name my-container ${IMG_NAME} echo 'cache,rss,shmem' >memory_stat sleep 3 diff --git a/tests/fv3_conf/ccpp_control_run.IN b/tests/fv3_conf/ccpp_control_run.IN index 76d2712277..68b3a1b1fc 100644 --- a/tests/fv3_conf/ccpp_control_run.IN +++ b/tests/fv3_conf/ccpp_control_run.IN @@ -11,35 +11,40 @@ fi echo "inputdir=$inputdir,NPX=$NPX" UNIT_TEST=${UNIT_TEST:-false} +SUFFIX=${RT_SUFFIX} if [ $WARM_START = .F. ]; then cp -r @[INPUTDATA_ROOT]/${inputdir}/INPUT . mkdir RESTART else mkdir INPUT RESTART - rsync -arv ../fv3_ccpp_control${RT_SUFFIX}/RESTART/ INPUT/ + if [[ ${UNIT_TEST} == true ]]; then + SUFFIX=${BL_SUFFIX} + fi + + rsync -arv ../fv3_ccpp_control${SUFFIX}/RESTART/ INPUT/ if [[ $IAU_INC_FILES = 'fv3_increment.nc' ]] || [[ $READ_INCREMENT = '.T.' ]]; then #read_inc and iau tests restart from fh=24 - cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/coupler.res INPUT/. - cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/fv_core.res.* INPUT/. - cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/fv_srf_wnd.res.* INPUT/. - cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/fv_tracer.* INPUT/. - cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/phy_data.* INPUT/. - cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/sfc_data.* INPUT/. - cp ../fv3_ccpp_control${RT_SUFFIX}/INPUT/fv3_increment.nc INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/RESTART/coupler.res INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/RESTART/fv_core.res.* INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/RESTART/fv_srf_wnd.res.* INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/RESTART/fv_tracer.* INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/RESTART/phy_data.* INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/RESTART/sfc_data.* INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/INPUT/fv3_increment.nc INPUT/. cd INPUT else #restart test start from fh=12 - cp ../fv3_ccpp_control${RT_SUFFIX}/RESTART/20161003.120000.* INPUT/. + cp ../fv3_ccpp_control${SUFFIX}/RESTART/20161003.120000.* INPUT/. cd INPUT for RFILE in 20161003.120000.*; do [ -e $RFILE ] || exit 1 mv $RFILE ${RFILE#20161003.120000.} done fi - cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/grid_spec.nc . - cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/*_grid.tile*.nc . - cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/oro_data.tile*.nc . + cp ../../fv3_ccpp_control${SUFFIX}/INPUT/grid_spec.nc . + cp ../../fv3_ccpp_control${SUFFIX}/INPUT/*_grid.tile*.nc . + cp ../../fv3_ccpp_control${SUFFIX}/INPUT/oro_data.tile*.nc . cd .. fi diff --git a/tests/utest b/tests/utest index a02b3ed08d..e9dcc83413 100755 --- a/tests/utest +++ b/tests/utest @@ -136,8 +136,6 @@ run_utests() { case $rc in std_base) CREATE_BASELINE=true - RTPWD=$baseline_location - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_std_base cat <<-EOF > ${RUNDIR_ROOT}/unit_test${RT_SUFFIX}.env export UNIT_TEST=true @@ -147,8 +145,6 @@ run_utests() { ;; std) CREATE_BASELINE=false - RTPWD=$NEW_BASELINE - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_std_base cat <<-EOF > ${RUNDIR_ROOT}/unit_test${RT_SUFFIX}.env export UNIT_TEST=true @@ -157,8 +153,6 @@ run_utests() { ;; thr) CREATE_BASELINE=false - RTPWD=$NEW_BASELINE - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_std_base THRD=2 # INPES is sometimes odd, so use JNPES. Make sure JNPES is divisible by THRD @@ -178,8 +172,6 @@ run_utests() { ;; mpi) CREATE_BASELINE=false - RTPWD=$NEW_BASELINE - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_std_base JNPES=$(( JNPES/2 )) WRITE_GROUP=2 @@ -198,8 +190,6 @@ run_utests() { ;; dcp) CREATE_BASELINE=false - RTPWD=$NEW_BASELINE - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_std_base temp=$INPES INPES=$JNPES @@ -213,8 +203,6 @@ run_utests() { ;; rst) # this is not going to work for regional model CREATE_BASELINE=false - RTPWD=$NEW_BASELINE - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_std_base # Set up date and time of restart files for restart run RESTART_FILE_PREFIX="${SYEAR}${SMONTH}${SDAY}.$(printf "%02d" $(( SHOUR + FHMAX/2 )))0000" @@ -277,8 +265,6 @@ run_utests() { ;; bit_base) CREATE_BASELINE=true - RTPWD=$baseline_location - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_bit_base comp_nm=bit cat <<-EOF >${RUNDIR_ROOT}/unit_test${RT_SUFFIX}.env @@ -288,8 +274,6 @@ run_utests() { ;; bit) CREATE_BASELINE=false - RTPWD=$NEW_BASELINE - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_bit_base comp_nm=bit cat <<-EOF >${RUNDIR_ROOT}/unit_test${RT_SUFFIX}.env @@ -299,8 +283,6 @@ run_utests() { ;; dbg_base) CREATE_BASELINE=true - RTPWD=$baseline_location - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_dbg_base comp_nm=dbg WLCLK=30 @@ -312,8 +294,6 @@ run_utests() { ;; dbg) CREATE_BASELINE=false - RTPWD=$NEW_BASELINE - INPUTDATA_ROOT=$RTPWD BL_SUFFIX=_dbg_base comp_nm=dbg WLCLK=30 @@ -324,7 +304,6 @@ run_utests() { EOF ;; esac - INPUTDATA_ROOT_WW3=${INPUTDATA_ROOT}/WW3_input_data_20201220/ cat <<- EOF > ${RUNDIR_ROOT}/run_test${RT_SUFFIX}.env export MACHINE_ID=${MACHINE_ID} @@ -723,18 +702,12 @@ fi mkdir -p ${STMP}/${USER} NEW_BASELINE=${STMP}/${USER}/FV3_UT/UNIT_TEST -if [[ $MACHINE_ID == hera.* || $MACHINE_ID == orion.* ]]; then - baseline_location=$DISKNM/NEMSfv3gfs/develop-20201118/${RT_COMPILER^^} -else - baseline_location=$DISKNM/NEMSfv3gfs/develop-20201118 -fi -RTPWD=$baseline_location -INPUTDATA_ROOT=$RTPWD +RTPWD=${NEW_BASELINE} +INPUTDATA_ROOT=${INPUTDATA_ROOT:-$DISKNM/NEMSfv3gfs/input-data-20210115} INPUTDATA_ROOT_WW3=${INPUTDATA_ROOT}/WW3_input_data_20201220/ rm -rf $NEW_BASELINE mkdir -p $NEW_BASELINE -ln -s ${RTPWD}/FV3_input_data ${NEW_BASELINE} rm -f fail_unit_test ${unittest_log}