From 756dcebf67c0086a381f041d48aae1ed9a3f435f Mon Sep 17 00:00:00 2001 From: Rhae Sung Kim Date: Thu, 25 Jan 2024 19:31:39 -0500 Subject: [PATCH] Update to use the renamed template file, 'datm_in.IN' (#42) * Uses INPUT as input directory * update fv3_run and datm_in.IN * add updated fv3 in the workflow dir * add updated fv3_run in the cycle dir * reset input data location of UFS Noah-MP --- datm_cdeps_lnd_gswp3_rst | 18 +++++++-------- fv3_run | 48 ++++++++++++++++++++++++++++++++++++++++ submit_cycle.sh | 28 ++++++++--------------- 3 files changed, 66 insertions(+), 28 deletions(-) create mode 100644 fv3_run diff --git a/datm_cdeps_lnd_gswp3_rst b/datm_cdeps_lnd_gswp3_rst index e001ad37..aeeeb00e 100644 --- a/datm_cdeps_lnd_gswp3_rst +++ b/datm_cdeps_lnd_gswp3_rst @@ -22,21 +22,21 @@ export SHOUR=00 export FHMAX=24 export FHROT=0 -export DATM_IN_CONFIGURE=datm_in -export MESH_ATM="INPUT_DATM/fv1.9x2.5_141008_ESMFmesh.nc" -export atm_datamode="CLMNCEP" +export DATM_IN_CONFIGURE=datm_in.IN +export MESH_ATM=fv1.9x2.5_141008_ESMFmesh.nc +export atm_datamode=CLMNCEP export ATM_NX_GLB=144 export ATM_NY_GLB=96 export DATM_STREAM_CONFIGURE=datm.streams.multi.IN -export MESH_ATM_DATA="INPUT_DATM/clmforc.GSWP3.c2011.0.5x0.5.TPQWL.SCRIP.210520_ESMFmesh.nc" -export MESH_ATM_TOPO="INPUT_DATM/topodata_0.9x1.SCRIP.210520_ESMFmesh.nc" +export MESH_ATM_DATA="INPUT/clmforc.GSWP3.c2011.0.5x0.5.TPQWL.SCRIP.210520_ESMFmesh.nc" +export MESH_ATM_TOPO="INPUT/topodata_0.9x1.SCRIP.210520_ESMFmesh.nc" export SDATE=1999 export EDATE=2000 -export DATA_ATM01="\"INPUT_DATM/clmforc.GSWP3.c2011.0.5x0.5.Solr.1999-12.nc\" \"INPUT_DATM/clmforc.GSWP3.c2011.0.5x0.5.Solr.2000-01.nc\"" -export DATA_ATM02="\"INPUT_DATM/clmforc.GSWP3.c2011.0.5x0.5.Prec.1999-12.nc\" \"INPUT_DATM/clmforc.GSWP3.c2011.0.5x0.5.Prec.2000-01.nc\"" -export DATA_ATM03="\"INPUT_DATM/clmforc.GSWP3.c2011.0.5x0.5.TPQWL.1999-12.nc\" \"INPUT_DATM/clmforc.GSWP3.c2011.0.5x0.5.TPQWL.2000-01.nc\"" -export DATA_ATM04="\"INPUT_DATM/topodata_0.9x1.25_USGS_070110_stream_c151201.nc\"" +export DATA_ATM01="\"INPUT/clmforc.GSWP3.c2011.0.5x0.5.Solr.1999-12.nc\" \"INPUT/clmforc.GSWP3.c2011.0.5x0.5.Solr.2000-01.nc\"" +export DATA_ATM02="\"INPUT/clmforc.GSWP3.c2011.0.5x0.5.Prec.1999-12.nc\" \"INPUT/clmforc.GSWP3.c2011.0.5x0.5.Prec.2000-01.nc\"" +export DATA_ATM03="\"INPUT/clmforc.GSWP3.c2011.0.5x0.5.TPQWL.1999-12.nc\" \"INPUT/clmforc.GSWP3.c2011.0.5x0.5.TPQWL.2000-01.nc\"" +export DATA_ATM04="\"INPUT/topodata_0.9x1.25_USGS_070110_stream_c151201.nc\"" export UFS_CONFIGURE="ufs.configure.atm_lnd.IN" export med_model="cmeps" diff --git a/fv3_run b/fv3_run new file mode 100644 index 00000000..4b8a0b2f --- /dev/null +++ b/fv3_run @@ -0,0 +1,48 @@ +mkdir -p RESTART INPUT +cd INPUT + +rsync -arv ${LANDDA_INPUTS}/UFS_WM/DATM_GSWP3_input_data/. . + +cd - + +SUFFIX=${RT_SUFFIX} +# restart +if [ $WARM_START = .true. ]; then + # NoahMP restart files + cp ${MEM_MODL_OUTDIR}/restarts/tile/ufs.cpld.lnd.out.${RESTART_FILE_SUFFIX_SECS}.tile*.nc RESTART/. + + # CMEPS restart and pointer files + RFILE1=ufs.cpld.cpl.r.${RESTART_FILE_SUFFIX_SECS}.nc + cp ${LANDDA_INPUTS}/restarts/gswp3/${RFILE1} RESTART/. + ls -1 "RESTART/${RFILE1}">rpointer.cpl + + # CDEPS restart and pointer files + RFILE2=ufs.cpld.datm.r.${RESTART_FILE_SUFFIX_SECS}.nc + cp ${LANDDA_INPUTS}/restarts/gswp3/${RFILE2} RESTART/. + ls -1 "RESTART/${RFILE2}">rpointer.atm +fi + +cd INPUT +rsync -arv ${LANDDA_INPUTS}/UFS_WM/NOAHMP_IC/ufs-land_C96_init_fields.tile1.nc C96.initial.tile1.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/NOAHMP_IC/ufs-land_C96_init_fields.tile2.nc C96.initial.tile2.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/NOAHMP_IC/ufs-land_C96_init_fields.tile3.nc C96.initial.tile3.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/NOAHMP_IC/ufs-land_C96_init_fields.tile4.nc C96.initial.tile4.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/NOAHMP_IC/ufs-land_C96_init_fields.tile5.nc C96.initial.tile5.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/NOAHMP_IC/ufs-land_C96_init_fields.tile6.nc C96.initial.tile6.nc + +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/C96.maximum_snow_albedo.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/C96.slope_type.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/C96.soil_type.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/C96.soil_color.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/C96.substrate_temperature.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/C96.vegetation_greenness.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/C96.vegetation_type.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/oro_C96.mx100.tile1.nc oro_data.tile1.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/oro_C96.mx100.tile2.nc oro_data.tile2.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/oro_C96.mx100.tile3.nc oro_data.tile3.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/oro_C96.mx100.tile4.nc oro_data.tile4.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/oro_C96.mx100.tile5.nc oro_data.tile5.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_fix_tiled/C96/oro_C96.mx100.tile6.nc oro_data.tile6.nc +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_input_data/INPUT/C96_grid.tile*.nc . +rsync -arv ${LANDDA_INPUTS}/UFS_WM/FV3_input_data/INPUT/grid_spec.nc C96_mosaic.nc +cd - diff --git a/submit_cycle.sh b/submit_cycle.sh index a1157a46..8e98b512 100755 --- a/submit_cycle.sh +++ b/submit_cycle.sh @@ -249,7 +249,7 @@ while [ $date_count -lt $cycles_per_job ]; do cp ${MEM_WORKDIR}/ufs_land_restart.${YYYY}-${MM}-${DD}_${HH}-00-00.tile${tile}.nc ${MEM_MODL_OUTDIR}/restarts/tile/ufs.cpld.lnd.out.${YYYY}-${MM}-${DD}-00000.tile${tile}.nc done fi - + ############################ # run the forecast model @@ -301,24 +301,14 @@ while [ $date_count -lt $cycles_per_job ]; do cp $CYCLEDIR/$TEST_NAME_RST ${PATHRT}/tests/$TEST_NAME_RST source ${PATHRT}/detect_machine.sh - source ${PATHRT}/rt_utils.sh - source ${PATHRT}/default_vars.sh + source ${PATHRT}/rt_utils.sh + source ${PATHRT}/default_vars.sh source ${PATHRT}/tests/$TEST_NAME_RST source ${PATHRT}/atparse.bash - # Set inputdata location for each machines - echo "MACHINE_ID: $MACHINE_ID" - if [[ $MACHINE_ID = orion ]]; then - DISKNM=/work/noaa/epic/UFS-WM_RT - elif [[ $MACHINE_ID = hera ]]; then - DISKNM=/scratch2/NAGAPE/epic/UFS-WM_RT - else - echo "Warning: MACHINE_ID is default, users will have to define INPUTDATA_ROOT and RTPWD by themselves" - fi - - source ${PATHRT}/bl_date.conf - RTPWD=${RTPWD:-$DISKNM/NEMSfv3gfs/develop-${BL_DATE}/${TEST_NAME}_${RT_COMPILER}} - INPUTDATA_ROOT=${INPUTDATA_ROOT:-$DISKNM/NEMSfv3gfs/input-data-20221101} + BL_DATE=20230816 + RTPWD=${RTPWD:-${LANDDA_INPUTS}/NEMSfv3gfs/develop-${BL_DATE}/INTEL/${TEST_NAME}} + INPUTDATA_ROOT=${INPUTDATA_ROOT:-${LANDDA_INPUTS}/NEMSfv3gfs/input-data-20221101} echo "RTPWD= $RTPWD" echo "INPUTDATA_ROOT= $INPUTDATA_ROOT" @@ -345,7 +335,7 @@ while [ $date_count -lt $cycles_per_job ]; do # FV3 executable: cp ${CYCLEDIR}/build/ufs-weather-model/src/ufs-weather-model-build/ufs_model ./ufs_model - cp ${LANDDA_INPUTS}/restarts/fv3_run ./fv3_run + cp ${CYCLEDIR}/fv3_run ./fv3_run if [[ $DATM_CDEPS = 'true' ]] || [[ $FV3 = 'true' ]] || [[ $S2S = 'true' ]]; then if [[ $HAFS = 'false' ]] || [[ $FV3 = 'true' && $HAFS = 'true' ]]; then @@ -376,8 +366,8 @@ while [ $date_count -lt $cycles_per_job ]; do source ./fv3_run if [[ $DATM_CDEPS = 'true' ]]; then - atparse < ${PATHRT}/parm/${DATM_IN_CONFIGURE:-datm_in} > datm_in - atparse < ${PATHRT}/parm/${DATM_STREAM_CONFIGURE:-datm.streams.IN} > datm.streams + atparse < ${PATHRT}/parm/${DATM_IN_CONFIGURE:-datm_in.IN} > datm_in + atparse < ${PATHRT}/parm/${DATM_STREAM_CONFIGURE:-datm.streams.IN} > datm.streams fi # NoahMP table file