From de7b1486ca15818adf3ecd763bf1be014ad5ba6d Mon Sep 17 00:00:00 2001 From: MinsukJi-NOAA Date: Thu, 21 Jan 2021 14:42:31 -0500 Subject: [PATCH 1/3] Add changes to fix CI tests --- tests/ci/Dockerfile | 2 +- tests/ci/ci.sh | 12 ++++++------ tests/tests/fv3_ccpp_control | 3 +++ tests/utest | 31 ++----------------------------- 4 files changed, 12 insertions(+), 36 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..6e715ea63b 100755 --- a/tests/ci/ci.sh +++ b/tests/ci/ci.sh @@ -65,7 +65,7 @@ if [ $BUILD = "true" ]; then sed -i -e '/affinity.c/d' ../../CMakeLists.txt - sudo docker build --build-arg test_name=$TEST_NAME \ + docker build --build-arg test_name=$TEST_NAME \ --build-arg build_case=$BUILD_CASE \ --no-cache \ --squash --compress \ @@ -74,15 +74,15 @@ 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} + docker run -d --rm -v DataVolume:/tmp minsukjinoaa/fv3-input-data:input-data-20210115 + 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 - containerID=$(sudo docker ps -q --no-trunc) + containerID=$(docker ps -q --no-trunc) check_memory_usage $containerID >>memory_stat & - sudo docker logs -f $containerID - exit $(sudo docker inspect $containerID --format='{{.State.ExitCode}}') + docker logs -f $containerID + exit $(docker inspect $containerID --format='{{.State.ExitCode}}') fi diff --git a/tests/tests/fv3_ccpp_control b/tests/tests/fv3_ccpp_control index 2f056493d9..9d1cade785 100644 --- a/tests/tests/fv3_ccpp_control +++ b/tests/tests/fv3_ccpp_control @@ -86,6 +86,9 @@ export LIST_FILES="atmos_4xdaily.tile1.nc \ export_fv3 export FHMAX=48 +export NFHOUT=12 +export NFHMAX_HF=-1 +export NFHOUT_HF=-1 export RESTART_INTERVAL=24 export FV3_RUN=ccpp_control_run.IN 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} From 1747b9a073945ee10ef6d52a9de41a8ec5b8330b Mon Sep 17 00:00:00 2001 From: MinsukJi-NOAA Date: Thu, 21 Jan 2021 14:51:03 -0500 Subject: [PATCH 2/3] Put sudo for docker back in ci.sh --- tests/ci/ci.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/ci/ci.sh b/tests/ci/ci.sh index 6e715ea63b..c2a093832a 100755 --- a/tests/ci/ci.sh +++ b/tests/ci/ci.sh @@ -65,7 +65,7 @@ if [ $BUILD = "true" ]; then sed -i -e '/affinity.c/d' ../../CMakeLists.txt - docker build --build-arg test_name=$TEST_NAME \ + sudo docker build --build-arg test_name=$TEST_NAME \ --build-arg build_case=$BUILD_CASE \ --no-cache \ --squash --compress \ @@ -74,15 +74,15 @@ if [ $BUILD = "true" ]; then elif [ $RUN == "true" ]; then - docker run -d --rm -v DataVolume:/tmp minsukjinoaa/fv3-input-data:input-data-20210115 - docker run -d -e test_case=${TEST_CASE} -v DataVolume:/home/builder/data/NEMSfv3gfs/input-data-20210115 --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 - containerID=$(docker ps -q --no-trunc) + containerID=$(sudo docker ps -q --no-trunc) check_memory_usage $containerID >>memory_stat & - docker logs -f $containerID - exit $(docker inspect $containerID --format='{{.State.ExitCode}}') + sudo docker logs -f $containerID + exit $(sudo docker inspect $containerID --format='{{.State.ExitCode}}') fi From 0b5aa350b09067d981c765e0d6d08ae8303e73a2 Mon Sep 17 00:00:00 2001 From: MinsukJi-NOAA Date: Thu, 21 Jan 2021 15:07:22 -0500 Subject: [PATCH 3/3] Modify ccpp_control_run.IN for unit test restart case --- tests/fv3_conf/ccpp_control_run.IN | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/tests/fv3_conf/ccpp_control_run.IN b/tests/fv3_conf/ccpp_control_run.IN index 033d7e8925..1080d94470 100644 --- a/tests/fv3_conf/ccpp_control_run.IN +++ b/tests/fv3_conf/ccpp_control_run.IN @@ -11,13 +11,18 @@ 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/ rm -f INPUT/fv_core.res.* rm -f INPUT/fv_srf_wnd.res.* rm -f INPUT/fv_tracer.res.* @@ -25,11 +30,11 @@ else rm -f INPUT/sfc_data.* cd INPUT rename 20161004.000000. '' 20161004.000000.* - 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 . if [[ $IAU_INC_FILES != '' ]] || [[ $READ_INCREMENT = '.T.' ]]; then - cp ../../fv3_ccpp_control${RT_SUFFIX}/INPUT/fv3_increment.nc . + cp ../../fv3_ccpp_control${SUFFIX}/INPUT/fv3_increment.nc . fi cd ..