From cecd8429ed0f80bd887519d34ba29fc88468e44c Mon Sep 17 00:00:00 2001 From: Ho-Chun Huang <48132716+Ho-ChunHuang-NOAA@users.noreply.github.com> Date: Fri, 23 Feb 2024 09:04:15 -0500 Subject: [PATCH] EVS AQMv7 verification round 2 (#457) * apply AQMv7 changes * fix file number digit --- .../grid2obs/PointStat_fcstOZONE_obsAIRNOW.conf | 2 +- .../grid2obs/PointStat_fcstPM2p5_obsAIRNOW.conf | 2 +- .../grid2obs/PointStat_fcstPMAVE_obsANOWPM.conf | 2 +- scripts/prep/aqm/exevs_aqm_prep.sh | 9 +++++---- scripts/stats/aqm/exevs_aqm_grid2obs_stats.sh | 14 +++++++++----- versions/run.ver | 4 ++-- 6 files changed, 19 insertions(+), 14 deletions(-) diff --git a/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstOZONE_obsAIRNOW.conf b/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstOZONE_obsAIRNOW.conf index 0685dc97a5..af03cd1f71 100755 --- a/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstOZONE_obsAIRNOW.conf +++ b/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstOZONE_obsAIRNOW.conf @@ -76,4 +76,4 @@ POINT_STAT_OUTPUT_PREFIX = {ENV[MODELNAME]}_{ENV[outtyp]}{ENV[bcout]} POINT_STAT_OUTPUT_TEMPLATE = {ENV[MODELNAME]} OBS_POINT_STAT_INPUT_TEMPLATE = {ENV[RUN]}.{valid?fmt=%Y%m%d?shift=-3600}/{ENV[MODELNAME]}/airnow_{ENV[HOURLY_INPUT_TYPE]}_{valid?fmt=%Y%m%d%H?shift=-3600}.nc -FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[dirname]}.{init?fmt=%Y%m%d}/{ENV[modsys]}.t{init?fmt=%2H}z.{ENV[outtyp]}{ENV[bctag]}.f{lead?fmt=%2H}.{ENV[gridspec]}.grib2 +FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[dirname]}.{init?fmt=%Y%m%d}/{ENV[mdl_cyc]}/{ENV[modsys]}.t{init?fmt=%2H}z.{ENV[outtyp]}{ENV[bctag]}.f{lead?fmt=%3H}.{ENV[gridspec]}.grib2 diff --git a/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPM2p5_obsAIRNOW.conf b/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPM2p5_obsAIRNOW.conf index a89371afa9..c90bc41bc0 100755 --- a/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPM2p5_obsAIRNOW.conf +++ b/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPM2p5_obsAIRNOW.conf @@ -77,4 +77,4 @@ POINT_STAT_OUTPUT_PREFIX = {ENV[MODELNAME]}_{ENV[outtyp]}{ENV[bcout]} POINT_STAT_OUTPUT_TEMPLATE = {ENV[MODELNAME]} OBS_POINT_STAT_INPUT_TEMPLATE = {ENV[RUN]}.{valid?fmt=%Y%m%d?shift=-3600}/{ENV[MODELNAME]}/airnow_{ENV[HOURLY_INPUT_TYPE]}_{valid?fmt=%Y%m%d%H?shift=-3600}.nc -FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[dirname]}.{init?fmt=%Y%m%d}/{ENV[modsys]}.t{init?fmt=%2H}z.{ENV[outtyp]}{ENV[bctag]}.f{lead?fmt=%2H}.{ENV[gridspec]}.grib2 +FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[dirname]}.{init?fmt=%Y%m%d}/{ENV[mdl_cyc]}/{ENV[modsys]}.t{init?fmt=%2H}z.{ENV[outtyp]}{ENV[bctag]}.f{lead?fmt=%3H}.{ENV[gridspec]}.grib2 diff --git a/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPMAVE_obsANOWPM.conf b/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPMAVE_obsANOWPM.conf index 2620f015fe..542482c468 100755 --- a/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPMAVE_obsANOWPM.conf +++ b/parm/metplus_config/stats/aqm/grid2obs/PointStat_fcstPMAVE_obsANOWPM.conf @@ -78,4 +78,4 @@ POINT_STAT_OUTPUT_PREFIX = PMAVE{ENV[bcout]} POINT_STAT_OUTPUT_TEMPLATE = {ENV[MODELNAME]} OBS_POINT_STAT_INPUT_TEMPLATE = {ENV[RUN]}.{valid?fmt=%Y%m%d}/{ENV[MODELNAME]}/airnow_daily_{valid?fmt=%Y%m%d}.nc -FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[dirname]}.{init?fmt=%Y%m%d}/{ENV[modsys]}.t{ENV[hour]}z.ave_24hr_pm25{ENV[bctag]}.{ENV[gridspec]}.grib2 +FCST_POINT_STAT_INPUT_TEMPLATE = {ENV[dirname]}.{init?fmt=%Y%m%d}/{ENV[mdl_cyc]}/{ENV[modsys]}.t{ENV[hour]}z.ave_24hr_pm25{ENV[bctag]}.{ENV[gridspec]}.grib2 diff --git a/scripts/prep/aqm/exevs_aqm_prep.sh b/scripts/prep/aqm/exevs_aqm_prep.sh index 8f71272948..d8236fe522 100755 --- a/scripts/prep/aqm/exevs_aqm_prep.sh +++ b/scripts/prep/aqm/exevs_aqm_prep.sh @@ -17,6 +17,7 @@ ## 11/14/2023 Ho-Chun Huang Replace cp with cpreq ## 01/05/2024 Ho-Chun Huang modify for AQMv6 verification ## 02/02/2024 Ho-Chun Huang Replace cpreq with cp to copy file from DATA to COMOUT +## 02/21/2024 Ho-Chun Huang modify for AQMv7 verification ## ## ####################################################################### @@ -40,8 +41,8 @@ else export HOURLY_ASCII2NC_FORMAT=airnowhourly fi -export dirname=cs -export gridspec=148 +export dirname=aqm +export gridspec=793 export PREP_SAVE_DIR=${DATA}/prepsave mkdir -p ${PREP_SAVE_DIR} @@ -136,7 +137,7 @@ for hour in 06 12; do fi if [ $hour -eq 06 ]; then - ozmax8_file=${COMINaqm}/${dirname}.${VDATE}/aqm.t${hour}z.max_8hr_o3${bctag}.${gridspec}.grib2 + ozmax8_file=${COMINaqm}/${dirname}.${VDATE}/${hour}/aqm.t${hour}z.max_8hr_o3${bctag}.${gridspec}.grib2 if [ -s ${ozmax8_file} ]; then wgrib2 -d 1 ${ozmax8_file} -set_ftime "6-29 hour ave fcst" -grib out1.grb2 wgrib2 -d 2 ${ozmax8_file} -set_ftime "30-53 hour ave fcst" -grib out2.grb2 @@ -162,7 +163,7 @@ for hour in 06 12; do if [ $hour -eq 12 ]; then - ozmax8_file=${COMINaqm}/${dirname}.${VDATE}/aqm.t${hour}z.max_8hr_o3${bctag}.${gridspec}.grib2 + ozmax8_file=${COMINaqm}/${dirname}.${VDATE}/${hour}/aqm.t${hour}z.max_8hr_o3${bctag}.${gridspec}.grib2 if [ -s ${ozmax8_file} ]; then wgrib2 -d 1 ${ozmax8_file} -set_ftime "0-23 hour ave fcst" -grib out1.grb2 wgrib2 -d 2 ${ozmax8_file} -set_ftime "24-47 hour ave fcst" -grib out2.grb2 diff --git a/scripts/stats/aqm/exevs_aqm_grid2obs_stats.sh b/scripts/stats/aqm/exevs_aqm_grid2obs_stats.sh index c7b6f5e4a9..87cdd684f4 100755 --- a/scripts/stats/aqm/exevs_aqm_grid2obs_stats.sh +++ b/scripts/stats/aqm/exevs_aqm_grid2obs_stats.sh @@ -17,6 +17,7 @@ ## model output daily fcst files existed. ## 01/05/2024 Ho-Chun Huang modify for AQMv6 verification ## 02/02/2024 Ho-Chun Huang Replace cpreq with cp to copy file from DATA to COMOUT +## 02/21/2024 Ho-Chun Huang modify for AQMv7 verification ## ## Note : The lead hours specification is important to avoid the error generated ## by the MetPlus for not finding the input FCST or OBS files. The error @@ -45,8 +46,8 @@ else export HOURLY_INPUT_TYPE=hourly_data fi -export dirname=cs -export gridspec=148 +export dirname=aqm +export gridspec=793 export fcstmax=72 # ## export MASK_DIR is declared in the ~/EVS/jobs/JEVS_AQM_STATS @@ -114,13 +115,14 @@ for outtyp in awpozcon pm25; do # for hour in 06 12; do export hour + export mdl_cyc=${hour} ## is needed for *.conf let ihr=1 num_fcst_in_metplus=0 recorded_temp_list=${DATA}/fcstlist_in_metplus if [ -e ${recorded_temp_list} ]; then rm -f ${recorded_temp_list}; fi while [ ${ihr} -le ${fcstmax} ]; do - filehr=$(printf %2.2d ${ihr}) ## fhr of grib2 filename is in 3 digit for aqmv7 + filehr=$(printf %3.3d ${ihr}) ## fhr of grib2 filename is in 3 digit for aqmv7 fhr=$(printf %2.2d ${ihr}) ## fhr for the processing valid hour is in 2 digit export fhr @@ -129,7 +131,7 @@ for outtyp in awpozcon pm25; do aday=`echo ${adate} |cut -c1-8` acyc=`echo ${adate} |cut -c9-10` if [ ${acyc} = ${hour} ]; then - fcst_file=${COMINaqm}/${dirname}.${aday}/aqm.t${acyc}z.${outtyp}${bctag}.f${filehr}.${gridspec}.grib2 + fcst_file=${COMINaqm}/${dirname}.${aday}/${acyc}/aqm.t${acyc}z.${outtyp}${bctag}.f${filehr}.${gridspec}.grib2 if [ -s ${fcst_file} ]; then echo "${fhr} found" echo ${fhr} >> ${recorded_temp_list} @@ -230,6 +232,7 @@ if [ ${vhr} = 11 ]; then for hour in 06 12; do export hour + export mdl_cyc=${hour} ## is needed for *.conf ## search for processed daily 8-hr ozone max model files ## AQMv7 output daily forecast of 3 days. Becasue of @@ -320,6 +323,7 @@ if [ ${vhr} = 04 ]; then for hour in 06 12; do export hour + export mdl_cyc=${hour} ## is needed for *.conf ## search for forecast daily average PM model files ## AQMv7 output daily forecast of 3 days. Becasue of @@ -332,7 +336,7 @@ if [ ${vhr} = 04 ]; then if [ -e ${recorded_temp_list} ]; then rm -f ${recorded_temp_list}; fi while [ ${ihr} -le ${fcstmax} ]; do chk_date=$(${NDATE} -${ihr} ${cdate} | cut -c1-8) - fcst_file=${COMINaqm}/${dirname}.${chk_date}/aqm.t${hour}z.ave_24hr_pm25${bctag}.${gridspec}.grib2 + fcst_file=${COMINaqm}/${dirname}.${chk_date}/${hour}/aqm.t${hour}z.ave_24hr_pm25${bctag}.${gridspec}.grib2 if [ -s ${fcst_file} ]; then fhr=$(printf %2.2d ${ihr}) echo "${fcst_file} found" diff --git a/versions/run.ver b/versions/run.ver index e1ffe7f925..03cefdbe36 100644 --- a/versions/run.ver +++ b/versions/run.ver @@ -1,4 +1,4 @@ -export evs_ver=v1.0.0 +export evs_ver=v1.0.8 export bacio_ver=2.4.1 export cdo_ver=1.9.8 @@ -37,7 +37,7 @@ export w3emc_ver=2.9.2 export wgrib2_ver=2.0.8 export zlib_ver=1.2.11 -export aqm_ver=v6.1 +export aqm_ver=v7.0 export ccpa_ver=v4.2 export cfs_ver=v2.3 export cmc_ver=v1.2