Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…r-model into feature/gfdlmpv3
  • Loading branch information
dustinswales committed Feb 27, 2025
2 parents ab71dc0 + 6cb9e1d commit 4064f4b
Show file tree
Hide file tree
Showing 51 changed files with 5,950 additions and 2,868 deletions.
2 changes: 1 addition & 1 deletion tests/bl_date.conf
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export BL_DATE=20250212
export BL_DATE=20250224
2 changes: 1 addition & 1 deletion tests/compile.sh
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ export CMAKE_FLAGS

bash -x "${PATHTR}/build.sh"

mv "${BUILD_DIR}/ufs_model" "${PATHTR}/tests/${BUILD_NAME}.exe"
rsync --remove-source-files "${BUILD_DIR}/ufs_model" "${PATHTR}/tests/${BUILD_NAME}.exe"
if [[ ${MACHINE_ID} == linux ]]; then
cp "${PATHTR}/modulefiles/ufs_${MACHINE_ID}.${RT_COMPILER}" "${PATHTR}/tests/modules.${BUILD_NAME}"
else
Expand Down
7 changes: 4 additions & 3 deletions tests/default_vars.sh
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ export OCN_tasks_cpl_bmrk=120
export OCN_thrds_cpl_bmrk=1
export ICE_tasks_cpl_bmrk=48
export ICE_thrds_cpl_bmrk=1
export WAV_tasks_cpl_bmrk=80
export WAV_tasks_cpl_bmrk=120
export WAV_thrds_cpl_bmrk=2

export THRD_cpl_c192=2
Expand Down Expand Up @@ -119,6 +119,7 @@ export wav_omp_num_threads=1
export fbh_omp_num_threads=1

export histaux_enabled=.false.
export BMIC=.false.

if [[ ${MACHINE_ID} = wcoss2 || ${MACHINE_ID} = acorn ]]; then

Expand Down Expand Up @@ -585,6 +586,7 @@ export MODEL_INITIALIZATION=false
export WARM_START=.false.
export READ_INCREMENT=.false.
export RES_LATLON_DYNAMICS="''"
export ATM_IGNORE_RST_CKSUM=.false.
export INCREMENT_FILE_ON_NATIVE_GRID=.false.
export NGGPS_IC=.true.
export EXTERNAL_IC=.true.
Expand Down Expand Up @@ -1262,6 +1264,7 @@ export_mom6() {
export DT_THERM_MOM6=3600
export MOM6_INPUT=MOM_input_100.IN
export MOM6_OUTPUT_DIR=./MOM6_OUTPUT
export MOM6_OUTPUT_FH=6
export MOM6_RESTART_DIR=./RESTART/
export MOM6_RESTART_SETTING=n
export MOM6_RIVER_RUNOFF=False
Expand Down Expand Up @@ -1398,8 +1401,6 @@ export DOCN_CDEPS=false
export DICE_CDEPS=false
export CICE_PRESCRIBED=false
export CDEPS_INLINE=false
export FV3BMIC='p8c'
export BMIC=.false.
export DAYS=1

#model configure
Expand Down
115 changes: 82 additions & 33 deletions tests/fv3_conf/cpld_control_run.IN
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,9 @@ ICERES=${OCNRES:0:1}.${OCNRES:1}

V2_SFC_FILE=${V2_SFC_FILE:-false}

if [[ $BMIC == .true. ]]; then
FV3_IC=@[INPUTDATA_ROOT_BMIC]/${SYEAR}${SMONTH}${SDAY}${SHOUR}/@[FV3BMIC]/@[ATMRES]_L@[NPZ]/INPUT
MOM_IC=@[INPUTDATA_ROOT_BMIC]/${SYEAR}${SMONTH}${SDAY}${SHOUR}/mom6_da
ICE_IC=@[INPUTDATA_ROOT_BMIC]/${SYEAR}${SMONTH}${SDAY}${SHOUR}/cpc
if [[ ${BMIC} == .true. ]]; then
FV3_IC=@[INPUTDATA_ROOT]/GEFS/${SYEAR}${SMONTH}${SDAY}${SHOUR}/
MOM_IC=${FV3_IC}; ICE_IC=${FV3_IC}; WAV_IC=${FV3_IC};
else
if [[ $ATMRES == C48 ]]; then
FV3_IC=@[INPUTDATA_ROOT]/${FV3_DIR}/INPUT_L127_mx${OCNRES}/${SYEAR}${SMONTH}${SDAY}${SHOUR}
Expand Down Expand Up @@ -65,7 +64,7 @@ cp @[INPUTDATA_ROOT]/CICE_FIX/@[OCNRES]/mesh.mx@[OCNRES].nc .
if [[ $CPLWAV == .true. ]]; then
cp @[INPUTDATA_ROOT_WW3]/@[WW3_MODDEF] mod_def.ww3
if [[ ${WW3_DOMAIN:0:2} != mx ]]; then
cp @[INPUTDATA_ROOT_WW3]/@[MESH_WAV] .
cp @[INPUTDATA_ROOT_WW3]/@[MESH_WAV] .
fi
fi

Expand All @@ -82,21 +81,16 @@ if [ $WARM_START = .false. ]; then
cp ${FV3_IC}/sfc_data*.nc ./INPUT
cp ${FV3_IC}/gfs_data*.nc ./INPUT
cp ${FV3_IC}/gfs_ctrl.nc ./INPUT
if [[ $BMIC == .true. ]]; then
cp ${MOM_IC}/MOM*.nc ./INPUT
cp ${ICE_IC}/cice5_model_@[ICERES].res_${SYEAR}${SMONTH}${SDAY}00.nc ./cice_model.res.nc
if [[ $ATMRES == C48 ]]; then
cp ${MOM_IC}/MOM.res.nc ./INPUT
cp ${ICE_IC}/cice_model_@[ICERES].cpc.res_* ./cice_model.res.nc
else
if [[ $ATMRES == C48 ]]; then
cp ${MOM_IC}/MOM.res.nc ./INPUT
cp ${ICE_IC}/cice_model_@[ICERES].cpc.res_* ./cice_model.res.nc
if [[ $OCNICE_WARMSTART == .true. ]]; then
cp ${MOM_IC}/mom6.mx@[OCNRES].${SYEAR}${SMONTH}${SDAY}${SHOUR}.warmstart.nc ./INPUT/mom6.warmstart.nc
cp ${ICE_IC}/cice.mx@[OCNRES].${SYEAR}${SMONTH}${SDAY}${SHOUR}.warmstart.nc ./cice.warmstart.nc
else
if [[ $OCNICE_WARMSTART == .true. ]]; then
cp ${MOM_IC}/mom6.mx@[OCNRES].${SYEAR}${SMONTH}${SDAY}${SHOUR}.warmstart.nc ./INPUT/mom6.warmstart.nc
cp ${ICE_IC}/cice.mx@[OCNRES].${SYEAR}${SMONTH}${SDAY}${SHOUR}.warmstart.nc ./cice.warmstart.nc
else
cp ${MOM_IC}/MOM6_IC_TS_${SYEAR}${SMONTH}${SDAY}${SHOUR}.nc ./INPUT/MOM6_IC_TS.nc
cp ${ICE_IC}/${OCNRES}/cice_model_@[ICERES].cpc.res_${SYEAR}${SMONTH}${SDAY}.nc ./cice_model.res.nc
fi
cp ${MOM_IC}/MOM6_IC_TS_${SYEAR}${SMONTH}${SDAY}${SHOUR}.nc ./INPUT/MOM6_IC_TS.nc
cp ${ICE_IC}/${OCNRES}/cice_model_@[ICERES].cpc.res_${SYEAR}${SMONTH}${SDAY}.nc ./cice_model.res.nc
fi
fi
else
Expand Down Expand Up @@ -127,7 +121,11 @@ else
else
cp ../${DEP_RUN}${SUFFIX}/${MOM6_RESTART_DIR}/${RESTART_FILE_PREFIX}.MOM.res.nc ./INPUT/MOM.res.nc
if [[ $ODA_INCUPD == 'True' ]] && [[ $FHROT -le 6 ]]; then
cp @[INPUTDATA_ROOT]/MOM6_IC/mom6_increment.nc ./INPUT/mom6_increment.nc
if [[ ${BMIC} ]]; then
cp ${MOM_IC}/mom6_increment.nc ./INPUT
else
cp @[INPUTDATA_ROOT]/MOM6_IC/mom6_increment.nc ./INPUT/mom6_increment.nc
fi
fi
fi

Expand Down Expand Up @@ -159,20 +157,53 @@ else
fi

else
# C48mx500 warm start from ICs
cp ${FV3_IC}/*.nc ./INPUT
cp ${MOM_IC}/MOM.res.nc ./INPUT
cp ${ICE_IC}/* .
cp @[INPUTDATA_ROOT]/CMEPS_IC/${ATMRES}mx${OCNRES}/${SYEAR}${SMONTH}${SDAY}${SHOUR}/* .
if [[ ${BMIC} == .true. ]]; then
cp ${FV3_IC}/fv*.nc ./INPUT
cp ${FV3_IC}/sfc_data*.nc ./INPUT
cp ${FV3_IC}/phy_data*.nc ./INPUT
cp ${MOM_IC}/MOM*.nc ./INPUT
cp ${MOM_IC}/mom6_increment.nc ./INPUT
cp ${MOM_IC}/interpolate_zgrid_26L.nc ./INPUT
cp ${ICE_IC}/cice*nc ./INPUT
ls -1 ./INPUT/cice*nc>ice.restart_file
cp ${FV3_IC}/*stoch*nc ./INPUT
cp ${FV3_IC}/ca_data*nc ./INPUT
cp ${FV3_IC}/ufs.cpld.cpl*nc .
ls -1 ufs.cpld.cpl*nc>rpointer.cpl
cp ${WAV_IC}/ufs.cpld.ww3.r.${RESTART_FILE_SUFFIX_SECS} .
else
# C48mx500 warm start from ICs
cp ${FV3_IC}/*.nc ./INPUT
cp ${MOM_IC}/MOM.res.nc ./INPUT
cp ${ICE_IC}/* .
cp @[INPUTDATA_ROOT]/CMEPS_IC/${ATMRES}mx${OCNRES}/${SYEAR}${SMONTH}${SDAY}${SHOUR}/* .
fi
fi
fi

#inline post
if [ $WRITE_DOPOST = .true. ]; then
cp ${PATHRT}/parm/post_itag_gfs itag
cp ${PATHRT}/parm/postxconfig-NT-gfs.txt postxconfig-NT.txt
cp ${PATHRT}/parm/postxconfig-NT-gfs_FH00.txt postxconfig-NT_FH00.txt
cp ${PATHRT}/parm/params_grib2_tbl_new params_grib2_tbl_new
if [[ ${BMIC} == .true. ]]; then
cp ${PATHRT}/../FV3/upp/parm/gefs/post_itag_gefs128 itag
cp ${PATHRT}/../FV3/upp/parm/gefs/postxconfig-NT-gefs.txt postxconfig-NT.txt
cp ${PATHRT}/../FV3/upp/parm/gefs/postxconfig-NT-gefs-f00.txt postxconfig-NT_FH00.txt
cp ${PATHRT}/../FV3/upp/parm/params_grib2_tbl_new params_grib2_tbl_new
cp ${PATHRT}/../FV3/upp/fix/chem/optics_luts*nasa.dat .
else
cp ${PATHRT}/parm/post_itag_gfs itag
cp ${PATHRT}/parm/postxconfig-NT-gfs.txt postxconfig-NT.txt
cp ${PATHRT}/parm/postxconfig-NT-gfs_FH00.txt postxconfig-NT_FH00.txt
cp ${PATHRT}/parm/params_grib2_tbl_new params_grib2_tbl_new
fi
fi

#prognostic aerosols
if [ $CPLCHM = .true. ]; then
if [[ ${BMIC} == .true. ]]; then
ln -sf ${FV3_IC}/../ExtData .
else
ln -sf @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData .
fi
fi

#merra2
Expand All @@ -185,6 +216,29 @@ if [ $IAER = 1011 ]; then
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_DU.v15_3.dat optics_DU.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SS.v3_3.dat optics_SS.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SU.v1_3.dat optics_SU.dat
fi

#rad_c_gocart
if [ $IAER = 2011 ]; then
for n in 01 02 03 04 05 06 07 08 09 10 11 12; do
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/MERRA2_y14_24/merra2_1423_${n}.nc aeroclim.m${n}.nc
done
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_BC.v1_3.dat optics_BC.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_OC.v1_3.dat optics_OC.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_DU.v15_3.dat optics_DU.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SS.v3_3.dat optics_SS.dat
cp @[INPUTDATA_ROOT]/FV3_input_data_INCCN_aeroclim/aer_data/LUTS/optics_SU.v1_3.dat optics_SU.dat

if [[ ${BMIC} == .true. ]]; then
DIR_OPT=./ExtData/monochromatic
cp ${DIR_OPT}/optics_BC.v1_3.nc optics_BC.nc
cp ${DIR_OPT}/optics_OC.v1_3.nc optics_OC.nc
cp ${DIR_OPT}/optics_DU.v15_3.nc optics_DU.nc
cp ${DIR_OPT}/optics_SS.v3_3.nc optics_SS.nc
cp ${DIR_OPT}/optics_SU.v1_3.nc optics_SU.nc
cp ${DIR_OPT}/optics_BRC.v1_5.nc optics_BRC.nc
cp ${DIR_OPT}/optics_NI.v2_5.nc optics_NI.nc
fi
fi

cp @[INPUTDATA_ROOT]/FV3_input_data/ugwp_c384_tau.nc ./ugwp_limb_tau.nc
Expand All @@ -197,8 +251,3 @@ if [ $IMP_PHYSICS = 8 ]; then
cp @[INPUTDATA_ROOT]/FV3_fix/qr_acr_qgV2.dat qr_acr_qgV2.dat
cp @[INPUTDATA_ROOT]/FV3_fix/qr_acr_qsV2.dat qr_acr_qsV2.dat
fi

#prognostic aerosols
if [ $CPLCHM = .true. ]; then
ln -sf @[INPUTDATA_ROOT]/GOCART/p8c_5d/ExtData .
fi
48 changes: 24 additions & 24 deletions tests/logs/OpnReqTests_control_p8_hera.log
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Fri Feb 7 08:33:02 UTC 2025
Thu Feb 20 05:47:57 UTC 2025
Start Operation Requirement Test


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_bit_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3292469/bit_base_bit_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_246362/bit_base_bit_base
Checking test bit_base results ....
Moving baseline bit_base files ....
Moving sfcf000.nc .........OK
Expand Down Expand Up @@ -51,14 +51,14 @@ Moving baseline bit_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 264.084045
0: The maximum resident set size (KB) = 1450908
0: The total amount of wall time = 264.844383
0: The maximum resident set size (KB) = 1441280

Test bit_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_dbg_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3292469/dbg_base_dbg_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_246362/dbg_base_dbg_base
Checking test dbg_base results ....
Moving baseline dbg_base files ....
Moving sfcf000.nc .........OK
Expand Down Expand Up @@ -106,14 +106,14 @@ Moving baseline dbg_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 899.139778
0: The maximum resident set size (KB) = 1421752
0: The total amount of wall time = 898.274781
0: The maximum resident set size (KB) = 1403304

Test dbg_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3292469/dcp_dcp
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_246362/dcp_dcp
Checking test dcp results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -160,14 +160,14 @@ Checking test dcp results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 235.823468
0: The maximum resident set size (KB) = 1418764
0: The total amount of wall time = 236.961172
0: The maximum resident set size (KB) = 1415944

Test dcp PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3292469/mpi_mpi
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_246362/mpi_mpi
Checking test mpi results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -214,14 +214,14 @@ Checking test mpi results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 239.809259
0: The maximum resident set size (KB) = 1435472
0: The total amount of wall time = 242.102134
0: The maximum resident set size (KB) = 1416636

Test mpi PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3292469/rst_rst
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_246362/rst_rst
Checking test rst results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -268,14 +268,14 @@ Checking test rst results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 234.940708
0: The maximum resident set size (KB) = 1427348
0: The total amount of wall time = 244.335208
0: The maximum resident set size (KB) = 1416780

Test rst PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3292469/std_base_std_base
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_246362/std_base_std_base
Checking test std_base results ....
Moving baseline std_base files ....
Moving sfcf000.nc .........OK
Expand Down Expand Up @@ -323,14 +323,14 @@ Moving baseline std_base files ....
Moving RESTART/20210323.060000.sfc_data.tile5.nc .........OK
Moving RESTART/20210323.060000.sfc_data.tile6.nc .........OK

0: The total amount of wall time = 239.939740
0: The maximum resident set size (KB) = 1430068
0: The total amount of wall time = 244.921666
0: The maximum resident set size (KB) = 1418792

Test std_base PASS


baseline dir = /scratch1/NCEPDEV/stmp4/role.epic/FV3_OPNREQ_TEST/OPNREQ_TEST/control_p8_std_base_gnu
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_3292469/thr_thr
working dir = /scratch1/NCEPDEV/stmp2/role.epic/FV3_OPNREQ_TEST/opnReqTest_246362/thr_thr
Checking test thr results ....
Comparing sfcf000.nc .....USING NCCMP......OK
Comparing sfcf021.nc .....USING NCCMP......OK
Expand Down Expand Up @@ -377,11 +377,11 @@ Checking test thr results ....
Comparing RESTART/20210323.060000.sfc_data.tile5.nc .....USING NCCMP......OK
Comparing RESTART/20210323.060000.sfc_data.tile6.nc .....USING NCCMP......OK

0: The total amount of wall time = 238.946975
0: The maximum resident set size (KB) = 1427488
0: The total amount of wall time = 238.497931
0: The maximum resident set size (KB) = 1420992

Test thr PASS

OPERATION REQUIREMENT TEST WAS SUCCESSFUL
Fri Feb 7 09:44:10 UTC 2025
Elapsed time: 01h:11m:08s. Have a nice day!
Thu Feb 20 07:00:29 UTC 2025
Elapsed time: 01h:12m:33s. Have a nice day!
Loading

0 comments on commit 4064f4b

Please sign in to comment.