#!/bin/sh -e ##--------------------------------------------------------------------------- ##--------------------------------------------------------------------------- ## NCEP EMC GLOBAL MODEL VERIFICATION ## ## CONTRIBUTORS: Mallory Row, mallory.row@noaa.gov, NOAA/NWS/NCEP/EMC-VPPPGB ## PURPOSE: Set up configurations to run user requested verification ##--------------------------------------------------------------------------- ##-------------------------------------------------------------------------- echo "BEGIN: $(basename ${BASH_SOURCE[0]})" #################################################### # WHAT METPLUS USE CASES TO RUN #################################################### ## STEP 1 PRODUCES .STAT FILES FOR PARTIAL SUMS OR CONTINGENCY TABLE COUNTS ## STEP 2 PRODUCES PLOTS FOR STATISTICS FROM .STAT FILES FROM STEP 1 ## SET TO "YES" or "NO" ## EDIT SECTIONS BELOW FOR VERIFICATION TYPES REQUESTED #RUN_GRID2GRID_STEP1: runs METplus grid_stat, stat_analysis #RUN_GRID2GRID_STEP2: runs METplus stat_analysis, make_plots #RUN_GRID2OBS_STEP1: runs METplus pb2nc, point_stat, stat_analysis #RUN_GRID2OBS_STEP2: runs METplus stat_analysis, make_plots #RUN_PRECIP_STEP1: runs METplus pcp_combine, grid_stat, stat_analysis #RUN_PRECIP_STEP2: runs METplus stat_analysis, make_plots #RUN_SATELLITE_STEP1: runs METplus grid_stat, stat_analysis #RUN_SATELLITE_STEP2: runs METplus stat_analysis, make_plots #RUN_FIT2OBS_PLOTS: runs fit2obs code to make plots #RUN_TROPCYC: runs METplus verification for tropical cyclone track and intensity error #RUN_MAPS2D: run to make forecast maps including lat-lon and zonal-mean distributions #RUN_MAPSDA: run to make analysis maps of time-mean increments, ENKF ensemble mean and ensemble spread export RUN_GRID2GRID_STEP1="YES" export RUN_GRID2GRID_STEP2="NO" export RUN_GRID2OBS_STEP1="YES" export RUN_GRID2OBS_STEP2="NO" export RUN_PRECIP_STEP1="YES" export RUN_PRECIP_STEP2="NO" export RUN_SATELLITE_STEP1="NO" export RUN_SATELLITE_STEP2="NO" export RUN_FIT2OBS_PLOTS="NO" export RUN_TROPCYC="NO" export RUN_MAPS2D="NO" export RUN_MAPSDA="NO" #################################################### # GENERAL SETTINGS APPLIED TO ALL USE CASES #################################################### ## INPUT DATA SETTINGS #model_list: model names #model_dir_list: directory path to model forecast and analysis files #model_stat_dir_list: directory path to model .stat files #model_file_format_list: file format of model files #model_hpss_dir_list: HPSS directory of data #model_data_run_hpss: get files from HPSS ("YES") if not online #hpss_walltime: how long to run HPSS job to get data in minutes export model_list="gfs" export model_dir_list="/lfs/h2/emc/vpppg/noscrub/emc.vpppg/verification/global/archive/model_data" export model_stat_dir_list="/lfs/h2/emc/vpppg/noscrub/$USER/archive" export model_file_format_list="pgbf{lead?fmt=%2H}.gfs.{init?fmt=%Y%m%d%H}" export model_data_run_hpss="NO" export model_hpss_dir_list="/NCEPPROD/hpssprod/runhistory" export hpss_walltime="10" ## OUTPUT DATA SETTINGS #OUTPUTROOT: base output directory export OUTPUTROOT="/lfs/h2/emc/stmp/$USER/verif_global_standalone" ## DATE SETTINGS #start_date: verification start date, format YYYYMMDD #end_date: verification end date, format YYYYMMDD #spinup_period_start: spinup period start, format YYYYMMDDHH, if none use "NA" #spinup_period_end: spinup period end, format YYYYMMDDHH, if none use "NA" #make_met_data_by: how to treat dates, "VALID" or "INIT" #plot_by: how to plot data, "VALID" or "INIT" export start_date=$(date -d "24 hours ago" '+%Y%m%d') export end_date=$(date -d "24 hours ago" '+%Y%m%d') export spinup_period_start="NA" export spinup_period_end="NA" export make_met_data_by="VALID" export plot_by="VALID" ## WEB SETTINGS #SEND2WEB: whether or not to send maps to webhost #webhost: webhost(rzdm) computer #webhostid: webhost(rzdm) user name #webdir: directory where to send maps on webhost #img_quality: image quality/resolution: "low", "medium", "high" # "low", use if you are just viewing the images (internal use) # "medium", use for internal use with collegues (internal use) # "high", use for journals or professional presentations (external use) export SEND2WEB="NO" export webhost="emcrzdm.ncep.noaa.gov" export webhostid="$USER" export webdir="/home/people/emc/www/htdocs/gmb/${webhostid}/TEST" export img_quality="low" ## METPLUS SETTINGS #MET_version: MET version to use: 9.1 #METplus_version: METplus version to use: 3.1 #MET_verbosity: MET verbosity for logging, 1-5 (most verbose is 5) #METplus_verbosity: DEBUG, INFO, WARN, ERROR (most verbose is DEBUG) #log_MET_output_to_METplus: log MET output to METplus log, yes or no export MET_version="9.1" export METplus_version="3.1" export METplus_verbosity="INFO" export MET_verbosity="2" export log_MET_output_to_METplus="yes" ## DATA DIRECTIVE SETTINGS export SENDARCH="YES" export SENDMETVIEWER="NO" export KEEPDATA="NO" export SENDECF="NO" export SENDCOM="NO" export SENDDBN="NO" export SENDDBN_NTC="NO" #################################################### # SETTINGS FOR SPECIFIC USE CASES #################################################### if [ $RUN_GRID2GRID_STEP1 = YES ]; then #g2g1_type_list: list type of verifications to run for grid-to-grid: anom, pres, sfc #### For each type the followings can be set, where [type] is anom, pres, or sfc ##### g2g1_[type]_truth_name: analysis type to compare models to: self_anl, self_f00, gfs_anl, gfs_f00 ##### gdas_anl, gdas_f00, ecm_f00, common_anl, ##### common_f00, model_mean ##### see GitHub Wiki for more details ##### g2g1_[type]_truth_file_format_list: list of analysis file format(s), more than 1 if g2g1_anl_name is self ##### g2g1_[type]_fyc_list: all forecst cycles to be included in verification: HH ##### g2g1_[type]_vhr_list: all valid hours to be included in verification: HH ##### g2g1_[type]_fhr_min: forecast hour to start verification HH[H] ##### g2g1_[type]_fhr_max: forecast hour to end verification HH[H] ##### g2g1_[type]_grid: NCEP grid to do verification on ##### g2g1_[type]_gather_by: how to group the verification data, VSDB, VALID, INIT #g2g1_mv_database_name: name of the METviewer database to send data to, MUST START WITH "mv" #g2g1_mv_database_group: name of the group the METviewer database belongs to #g2g1_mv_database_desc: description of database, can be blank export g2g1_type_list="anom pres sfc" export g2g1_anom_truth_name="self_anl" export g2g1_anom_truth_file_format_list="pgbanl.gfs.{valid?fmt=%Y%m%d%H}" export g2g1_anom_fcyc_list="00" export g2g1_anom_vhr_list="00" export g2g1_anom_fhr_min="00" export g2g1_anom_fhr_max="384" export g2g1_anom_grid="G002" export g2g1_anom_gather_by="VSDB" export g2g1_pres_truth_name="self_anl" export g2g1_pres_truth_file_format_list="pgbanl.gfs.{valid?fmt=%Y%m%d%H}" export g2g1_pres_fcyc_list="00" export g2g1_pres_vhr_list="00" export g2g1_pres_fhr_min="00" export g2g1_pres_fhr_max="384" export g2g1_pres_grid="G002" export g2g1_pres_gather_by="VSDB" export g2g1_sfc_truth_name="self_f00" export g2g1_sfc_truth_file_format_list="pgbf00.gfs.{valid?fmt=%Y%m%d%H}" export g2g1_sfc_fcyc_list="00" export g2g1_sfc_vhr_list="00" export g2g1_sfc_fhr_min="00" export g2g1_sfc_fhr_max="384" export g2g1_sfc_grid="G002" export g2g1_sfc_gather_by="VSDB" export g2g1_mv_database_name="mv_gfs_grid2grid_metplus_TEST" export g2g1_mv_database_group="NOAA NCEP" export g2g1_mv_database_desc="Grid-to-grid METplus data for ops. GFS" fi if [ $RUN_GRID2GRID_STEP2 = YES ]; then #g2g2_model_plot_name_list: list of models reference name on plots #g2g2_type_list: list type of verifications to run for grid-to-grid: anom, pres, sfc #### For each type the followings can be set, where [type] is anom, pres, or sfc ##### g2g2_[type]_truth_name_list: list of analysis type used for model in step 1: self_anl, self_f00, gfs_anl, gfs_f00 ##### gdas_anl, gdas_f00, ecm_f00, common_anl, ##### common_f00, model_mean ##### g2g2_[type]_gather_by_list: list of how model data was gathered in step 1 ##### g2g2_[type]_fyc_list: all forecst cycles to be included in verification: HH ##### g2g2_[type]_vhr_list: all valid hours to be included in verification: HH ##### g2g2_[type]_fhr_min: forecast hour to start verification HH[H] ##### g2g2_[type]_fhr_max: forecast hour to end verification HH[H] ##### g2g2_[type]_event_eq: do event equalization (True) or not (False) ##### g2g2_[type]_grid: NCEP grid verification was done on #g2g2_make_scorecard: create scorecard (YES) or not (NO) export g2g2_model_plot_name_list="ops_gfs" export g2g2_type_list="anom pres sfc" export g2g2_anom_truth_name_list="self_anl" export g2g2_anom_gather_by_list="VSDB" export g2g2_anom_fcyc_list="00" export g2g2_anom_vhr_list="00" export g2g2_anom_fhr_min="24" export g2g2_anom_fhr_max="240" export g2g2_anom_event_eq="True" export g2g2_anom_grid="G002" export g2g2_pres_truth_name_list="self_anl" export g2g2_pres_gather_by_list="VSDB" export g2g2_pres_fcyc_list="00" export g2g2_pres_vhr_list="00" export g2g2_pres_fhr_min="24" export g2g2_pres_fhr_max="240" export g2g2_pres_event_eq="True" export g2g2_pres_grid="G002" export g2g2_sfc_truth_name_list="self_f00" export g2g2_sfc_gather_by_list="VSDB" export g2g2_sfc_fcyc_list="00" export g2g2_sfc_vhr_list="00" export g2g2_sfc_fhr_min="24" export g2g2_sfc_fhr_max="240" export g2g2_sfc_event_eq="True" export g2g2_sfc_grid="G002" export g2g2_make_scorecard="NO" fi if [ $RUN_GRID2OBS_STEP1 = YES ]; then #g2o1_type_list: list type of verifications to run for grid-to-obs: upper_air, conus_sfc, polar_sfc #### For each type the followings can be set, where [type] is upper_air, conus_sfc, or polar_sfc ##### g2o1_[type]_msg_type_list: observation message type(s) to be used ##### upper_air, conus_sfc: any prepbufr ##### polar_sfc: IABP ##### g2o1_[type]_fyc_list: all forecst cycles to be included in verification: HH ##### g2o1_[type]_vhr_list: all valid hours to be included in verification: HH ##### g2o1_[type]_fhr_min: forecast hour to start verification HH[H] ##### g2o1_[type]_fhr_max: forecast hour to end verification HH[H] ##### g2o1_[type]_grid: NCEP grid to do verification on ##### g2o1_[type]_gather_by: how to group the verification data, VSDB, VALID, INIT #g2o1_prepbufr_data_run_hpss: get files from HPSS ("YES") if not online #g2o1_mv_database_name: name of the METviewer database to send data to, MUST START WITH "mv" #g2o1_mv_database_group: name of the group the METviewer database belongs to #g2o1_mv_database_desc: description of database, can be blank export g2o1_type_list="upper_air conus_sfc" export g2o1_upper_air_msg_type_list="ADPUPA" export g2o1_upper_air_fcyc_list="00" export g2o1_upper_air_vhr_list="00 06 12 18" export g2o1_upper_air_fhr_min="00" export g2o1_upper_air_fhr_max="168" export g2o1_upper_air_grid="G003" export g2o1_upper_air_gather_by="VSDB" export g2o1_conus_sfc_msg_type_list="ONLYSF ADPUPA" export g2o1_conus_sfc_fcyc_list="00" export g2o1_conus_sfc_vhr_list="00 03 06 09 12 15 18 21" export g2o1_conus_sfc_fhr_min="00" export g2o1_conus_sfc_fhr_max="168" export g2o1_conus_sfc_grid="G104" export g2o1_conus_sfc_gather_by="VSDB" export g2o1_polar_sfc_msg_type_list="IABP" export g2o1_polar_sfc_fcyc_list="00" export g2o1_polar_sfc_vhr_list="00 03 06 09 12 15 18 21" export g2o1_polar_sfc_fhr_min="00" export g2o1_polar_sfc_fhr_max="168" export g2o1_polar_sfc_grid="G219" export g2o1_polar_sfc_gather_by="VSDB" export g2o1_prepbufr_data_run_hpss="YES" export g2o1_mv_database_name="mv_gfs_grid2obs_metplus_TEST" export g2o1_mv_database_group="NOAA NCEP" export g2o1_mv_database_desc="Grid-to-obs METplus data for ops. GFS" fi if [ $RUN_GRID2OBS_STEP2 = YES ]; then #g2o2_model_plot_name_list: list of models reference name on plots #g2o2_type_list: list type of verifications to run for grid-to-obs: upper_air, conus_sfc, polar_sfc #### For each type the followings can be set, where [type] is upper_air, conus_sfc, or polar_sfc ##### g2o2_[type]_msg_type_list: observation message type(s) to be used ##### upper_air, conus_sfc: any prepbufr ##### polar_sfc: IABP ##### g2o2_[type]_gather_by_list: list of how model data was gathered in step 1 ##### g2o2_[type]_fyc_list: all forecst cycles to be included in verification: HH ##### g2o2_[type]_vhr_list: all valid hours to be included in verification: HH ##### g2o2_[type]_fhr_min: forecast hour to start verification HH[H] ##### g2o2_[type]_fhr_max: forecast hour to end verification HH[H] ##### g2o2_[type]_event_eq: do event equalization (True) or not (False) ##### g2o2_[type]_grid: NCEP grid verification was done on export g2o2_model_plot_name_list="ops_gfs" export g2o2_type_list="upper_air conus_sfc" export g2o2_upper_air_msg_type_list="ADPUPA" export g2o2_upper_air_gather_by_list="VSDB" export g2o2_upper_air_fcyc_list="00" export g2o2_upper_air_vhr_list="00 06 12 18" export g2o2_upper_air_fhr_min="00" export g2o2_upper_air_fhr_max="168" export g2o2_upper_air_event_eq="True" export g2o2_upper_air_grid="G003" export g2o2_conus_sfc_msg_type_list="ONLYSF ADPUPA" export g2o2_conus_sfc_gather_by_list="VSDB" export g2o2_conus_sfc_fcyc_list="00" export g2o2_conus_sfc_vhr_list="00 06 12 18" export g2o2_conus_sfc_fhr_min="00" export g2o2_conus_sfc_fhr_max="168" export g2o2_conus_sfc_event_eq="True" export g2o2_conus_sfc_grid="G104" export g2o2_polar_sfc_msg_type_list="IABP" export g2o2_polar_sfc_gather_by_list="VSDB" export g2o2_polar_sfc_fcyc_list="00" export g2o2_polar_sfc_vhr_list="00 06 12 18" export g2o2_polar_sfc_fhr_min="00" export g2o2_polar_sfc_fhr_max="168" export g2o2_polar_sfc_event_eq="True" export g2o2_polar_sfc_grid="G223" fi if [ $RUN_PRECIP_STEP1 = YES ]; then #precip1_type_list: precip observation type/name and accumulation length: ccpa_accum24hr #precip1_model_bucket_list: model file accumulation bucket in HH, use "continuous" for accumulating bucket #precip1_model_varname_list: model file precip variable to use: APCP or PRATE #precip1_model_file_format_list: file format of model files [overrides model_file_format_list] #### For each type the followings can be set, where [type] is ccpa_accum24hr ##### precip1_[type]_fyc_list: all forecst cycles to be included in verification: HH ##### precip1_[type]_fhr_min: forecast hour to start verification HH[H] ##### precip1_[type]_fhr_max: forecast hour to end verification HH[H] ##### precip1_[type]_type_list: precip observation type/name, ccpa_accum_24hr ##### precip1_[type]_grid: NCEP grid to do verification on ##### precip1_[type]_gather_by: how to group the verification data, VSDB, VALID, INIT #precip1_obs_data_run_hpss: get files from HPSS ("YES") if not online #precip1_mv_database_name: name of the METviewer database to send data to, MUST START WITH "mv" #precip1_mv_database_group: name of the group the METviewer database belongs to #precip1_mv_database_desc: description of database, can be blank export precip1_type_list="ccpa_accum24hr" export precip1_ccpa_accum24hr_model_bucket_list="06" export precip1_ccpa_accum24hr_model_var_list="APCP" export precip1_ccpa_accum24hr_model_file_format_list="pgbf{lead?fmt=%2H}.gfs.{init?fmt=%Y%m%d%H}" export precip1_ccpa_accum24hr_fcyc_list="00" export precip1_ccpa_accum24hr_fhr_min="00" export precip1_ccpa_accum24hr_fhr_max="180" export precip1_ccpa_accum24hr_grid="G211" export precip1_ccpa_accum24hr_gather_by="VSDB" export precip1_obs_data_run_hpss="YES" export precip1_mv_database_name="mv_gfs_precip_metplus_TEST" export precip1_mv_database_group="NOAA NCEP" export precip1_mv_database_desc="Precip METplus data for ops. GFS" fi if [ $RUN_PRECIP_STEP2 = YES ]; then #precip2_model_plot_name_list: list of models reference name on plots #precip2_type_list: precip observation type/name and accumulation length: ccpa_accum24hr #### For each type the followings can be set, where [type] is ccpa_accum24hr ##### precip2_[type]_gather_by_list: list of how model data was gathered in step 1 ##### precip2_[type]_fcyc_list: all forecst cycles to be included in verification: HH ##### precip2_[type]_fhr_min: forecast hour to start verification HH[H] ##### precip2_[type]_fhr_max: forecast hour to end verification HH[H] ##### precip2_[type]_event_eq: do event equalization (True) or not (False) ##### precip2_[type]_grid: NCEP grid verification was done on export precip2_model_plot_name_list="ops_gfs" export precip2_type_list="ccpa_accum24hr" export precip2_ccpa_accum24hr_gather_by_list="VSDB" export precip2_ccpa_accum24hr_fcyc_list="00" export precip2_ccpa_accum24hr_fhr_min="00" export precip2_ccpa_accum24hr_fhr_max="180" export precip2_ccpa_accum24hr_event_eq="True" export precip2_ccpa_accum24hr_grid="G211" fi if [ $RUN_SATELLITE_STEP1 = YES ]; then #sat1_type_list: list of satellite/satellite analysis to run verification for: ghrsst_ncei_avhrr_anl, ghrsst_ospo_geopolar_anl #### For each type the followings can be set, where [type] is ghrsst_ncei_avhrr_anl or ghrsst_ospo_geopolar_anl ##### sat1_[type]_fyc_list: all forecst cycles to be included in verification: HH ##### sat1_[type]_fhr_min: forecast hour to start verification HH[H] ##### sat1_[type]_fhr_max: forecast hour to end verification HH[H] ##### sat1_[type]_grid: NCEP grid to do verification on ##### sat1_[type]_gather_by: how to group the verification data, VSDB, VALID, INIT ##### sat1_[type]_sea_ice_thresh: threshold for sea ice, anything >= considered ice, anything below no ice #sat1_mv_database_name: name of the METviewer database to send data to, MUST START WITH "mv" #sat1_mv_database_group: name of the group the METviewer database belongs to #sat1_mv_database_desc: description of database, can be blank export sat1_type_list="ghrsst_ncei_avhrr_anl" export sat1_ghrsst_ncei_avhrr_anl_fcyc_list="00" export sat1_ghrsst_ncei_avhrr_anl_fhr_min="00" export sat1_ghrsst_ncei_avhrr_anl_fhr_max="168" export sat1_ghrsst_ncei_avhrr_anl_grid="G219" export sat1_ghrsst_ncei_avhrr_anl_gather_by="VSDB" export sat1_ghrsst_ncei_avhrr_anl_sea_ice_thresh="0.15" export sat1_ghrsst_ospo_geopolar_anl_fcyc_list="00" export sat1_ghrsst_ospo_geopolar_anl_fhr_min="00" export sat1_ghrsst_ospo_geopolar_anl_fhr_max="168" export sat1_ghrsst_ospo_geopolar_anl_grid="G219" export sat1_ghrsst_ospo_geopolar_anl_gather_by="VSDB" export sat1_ghrsst_ospo_geopolar_anl_sea_ice_thresh="0.15" export sat1_mv_database_name="mv_gfs_satellite_metplus_TEST" export sat1_mv_database_group="NOAA NCEP" export sat1_mv_database_desc="Satellite METplus data for ops. GFS" fi if [ $RUN_SATELLITE_STEP2 = YES ]; then #sat2_model_plot_name_list: list of models reference name on plots #sat2_type_list: list of satellite/satellite analysis to run for: ghrsst_ncei_avhrr_anl, ghrsst_ospo_geopolar_anl #### For each type the followings can be set, where [type] is ghrsst_ncei_avhrr_anl or ghrsst_ospo_geopolar_anl ##### sat2_[type]_gather_by_list: list of how model data was gathered in step 1 ##### sat2_[type]_fyc_list: all forecst cycles to be included in verification: HH ##### sat2_[type]_fhr_min: forecast hour to start verification HH[H] ##### sat2_[type]_fhr_max: forecast hour to end verification HH[H] ##### sat2_[type]_sea_ice_thresh: threshold for sea ice, anything >= considered ice, anything below no ice ##### sat2_[type]_event_eq: do event equalization (True) or not (False) ##### sat2_[type]_grid: NCEP grid verification was done on export sat2_model_plot_name_list="ops_gfs" export sat2_type_list="ghrsst_ncei_avhrr_anl" export sat2_ghrsst_ncei_avhrr_anl_gather_by_list="VSDB" export sat2_ghrsst_ncei_avhrr_anl_fcyc_list="00" export sat2_ghrsst_ncei_avhrr_anl_fhr_min="00" export sat2_ghrsst_ncei_avhrr_anl_fhr_max="168" export sat2_ghrsst_ncei_avhrr_anl_sea_ice_thresh="0.15" export sat2_ghrsst_ncei_avhrr_anl_event_eq="True" export sat2_ghrsst_ncei_avhrr_anl_grid="G003" export sat2_ghrsst_ospo_geopolar_anl_gather_by_list="VSDB" export sat2_ghrsst_ospo_geopolar_anl_fcyc_list="00" export sat2_ghrsst_ospo_geopolar_anl_fhr_min="00" export sat2_ghrsst_ospo_geopolar_anl_fhr_max="168" export sat2_ghrsst_ospo_geopolar_anl_sea_ice_thresh="0.15" export sat2_ghrsst_ospo_geopolar_anl_event_eq="True" export sat2_ghrsst_ospo_geopolar_anl_grid="G003" fi if [ $RUN_FIT2OBS_PLOTS = YES ]; then #fit2obs_plots_expnlist: experiment names, only 7 allowed, fnl is operational GFS #fit2obs_plots_expdlist: fcst data directories, can be different #fit2obs_plots_endianlist: endian of fits data: big or little #fit2obs_plots_cycle: forecast cycle to verify, only one cycle allowed #fit2obs_plots_oinc: increment (hours) between observation verify times for timeout plots #fit2obs_plots_finc: increment (hours) between forecast lengths for timeout plots #fit2obs_plots_fmax: max forecast length to show for timeout plots #fit2obs_plots_scrdir: source directory of fit-to-obs scripts export fit2obs_plots_expnlist="fnl" export fit2obs_plots_expdlist="/lfs/h2/emc/vpppg/noscrub/emc.vpppg/verification/global/archive/fit2obs_data" export fit2obs_plots_endianlist="little" export fit2obs_plots_cycle="00" export fit2obs_plots_oinc=24 export fit2obs_plots_finc=12 export fit2obs_plots_fmax=120 export fit2obs_plots_scrdir="/lfs/h2/emc/global/noscrub/Jack.Woollen/plotfits" fi if [ $RUN_TROPCYC = YES ]; then #tropcyc_model_atcf_name_list: list of models ATCF 4 letter identifier in cooresponding tropcyc_model_file_format #tropcyc_model_plot_name_list: list of models reference name on plots #tropcyc_storm_list: list of verifying storms, format BASIN_YEAR_NAME, ex. AL_2019_DORIAN, to verify all name use BASIN_YEAR_ALLNAMED #tropcyc_fcyc_list: all forecst cycles to be included in verification: HH #tropcyc_vhr_list: all valid hours to be included in verification: HH #tropcyc_fhr_min: forecast hour to start verification HH[H] #tropcyc_fhr_max: forecast hour to end verification HH[H] #tropcyc_model_file_format_list: either file format of model archive track files, or set to ADECK to use data from adeck files #tropcyc_use_adeck_for_missing_data: look/use for missing data in ADECK file (YES) or not (NO) #tropcyc_stat_list: stats from MET's tc_stat to plot: see MET's README_TC for examples #tropcyc_init_storm_level_list: list of TC development levels to verify (for initialization times) (column TY, see https://www.nrlmry.navy.mil/atcf_web/docs/database/new/abrdeck.html) #tropcyc_valid_storm_level_list: list of TC development levels to verify (for valid times) (column TY, see https://www.nrlmry.navy.mil/atcf_web/docs/database/new/abrdeck.html) #tropcyc_plot_CI_bars: plot model confidence intervals on plot (YES) or not (NO) export tropcyc_model_atcf_name_list="AVNO" export tropcyc_model_plot_name_list="ops_gfs" export tropcyc_storm_list="AL_2021_ALLNAMED EP_2021_ALLNAMED WP_2021_ALLNAMED" export tropcyc_fcyc_list="00" export tropcyc_vhr_list="00 06 12 18" export tropcyc_fhr_min="00" export tropcyc_fhr_max="168" export tropcyc_model_file_format_list="ADECK" export tropcyc_use_adeck_for_missing_data="NO" export tropcyc_stat_list="TI" export tropcyc_init_storm_level_list="TD TS HU TY ST SD SS" export tropcyc_valid_storm_level_list="TD TS HU TY ST SD SS DB" export tropcyc_plot_CI_bars="YES" fi if [ $RUN_MAPS2D = YES ]; then #maps2d_model_plot_name_list: list of models reference name on plots #maps2d_latlon_area: list of lower latitude, upper latitude, start longitude, end longitude #maps2d_plot_diff: plot difference from first model (YES) or just plot all model values (NO) #maps2d_anl_file_format_list: model's own analysis file format used for if # anl in maps2d_[type]_forecast_to_plot # or maps2d_model2model_forecast_anl_diff YES #maps2d_type_list: list type of verifications to run for maps2d: model2model, model2obs #### For each type the followings can be set, where [type] is model2model or model2obs ##### maps2d_[type]_make_met_data_by: how to treat dates, "VALID" or "INIT" ##### maps2d_[type]_hour_list: all forecast cycles to be included in verification: HH ##### maps2d_[type]_forecast_to_plot: list of model forecast times to plot: ##### for analysis use anl, ##### for a single forecast hour use f (ex. f120), ##### for a day use d (ex. d5) which will include the 4 forecast hours for that day ##### (d5 = f120 f114 f108 and f102) ##### maps2d_regrid_to_grid: NCEP grid to regrid data to #maps2d_model2model_forecast_anl_diff: plot the difference of model forecast from an analysis (YES) or don't (NO) #maps2d_model2obs_use_ceres: use CERES data for cloud and radiation obs. (YES) or use ISCCP, SRB, NVAP, UWisc for cloud and radiation obs. (NO) #maps2d_model2obs_use_monthly_mean: use monthly mean from datasets, if available (YES) or use climatology generated from datasets (NO) export maps2d_model_plot_name_list="ops_gfs" export maps2d_latlon_area="-90 90 0 360" export maps2d_plot_diff="YES" export maps2d_anl_file_format_list="pgbanl.gfs.{valid?fmt=%Y%m%d%H}" export maps2d_type_list="model2model model2obs" export maps2d_model2model_make_met_data_by="INIT" export maps2d_model2model_hour_list="00" export maps2d_model2model_forecast_to_plot_list="anl d1 d5 d10" export maps2d_model2model_regrid_to_grid="G002" export maps2d_model2model_forecast_anl_diff="NO" export maps2d_model2obs_make_met_data_by="INIT" export maps2d_model2obs_hour_list="00" export maps2d_model2obs_forecast_to_plot_list="anl d1 d5 d10" export maps2d_model2obs_regrid_to_grid="G002" export maps2d_model2obs_use_ceres="NO" export maps2d_model2obs_use_monthly_mean="NO" fi if [ $RUN_MAPSDA = YES ]; then #mapsda_model_plot_name_list: list of models reference name on plots #mapsda_latlon_area: list of lower latitude, upper latitude, start longitude, end longitude #mapsda_plot_diff: plot difference from first model (YES) or just plot all model values (NO) #mapsda_type_list: list type of verifications to run for mapsda: gdas, ens #### For each type the followings can be set, where [type] is gdas or ens ##### mapsda_[type]_make_met_data_by: how to treat dates, "VALID" or "INIT" ##### mapsda_[type]_hour_list: all hours to be included in verification: HH ##### mapsda_[type]_regrid_to_grid: NCEP grid to regrid data to ##### mapsda_[type]_guess_hour: forecast hour from last cycle used as first guess #mapsda_gdas_model_file_format_list: file format of model GDAS files #mapsda_gdas_anl_file_format_list: file format of analysis files for GDAS maps #mapsda_ens_model_dir_list: directory where model ens files are located #mapsda_ens_model_file_format_list: file format for ens files #mapsda_ens_model_data_run_hpss: get files from HPSS ("YES") if not online export mapsda_model_plot_name_list="ops_gfs" export mapsda_latlon_area="-90 90 0 360" export mapsda_plot_diff="NO" export mapsda_type_list="gdas ens" export mapsda_gdas_make_met_data_by="VALID" export mapsda_gdas_hour_list="00" export mapsda_gdas_regrid_to_grid="G002" export mapsda_gdas_guess_hour="06" export mapsda_gdas_model_file_format_list="pgbf{lead?fmt=%2H}.gdas.{init?fmt=%Y%m%d%H}" export mapsda_gdas_anl_file_format_list="pgbanl.gdas.{valid?fmt=%Y%m%d%H}" export mapsda_ens_make_met_data_by="INIT" export mapsda_ens_hour_list="00" export mapsda_ens_regrid_to_grid="G002" export mapsda_ens_guess_hour="06" export mapsda_ens_model_dir_list="/lfs/h1/ops/prod/com" export mapsda_ens_model_file_format_list="v16.3/enkfgdas.{init?fmt=%Y%m%d}/{init?fmt=%H}/atmos/gdas.t{init?fmt=%H}z.atmf{lead?fmt=%3H}.ens[mean,spread].nc" export mapsda_ens_model_data_run_hpss="YES" fi echo "END: $(basename ${BASH_SOURCE[0]})"