From e72d6ec106bff0985ea0a6c5a20f32e87e2b75f8 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Fri, 7 Jun 2024 07:17:43 +0000 Subject: [PATCH 01/25] additions for RRFS capability --- devbuild.sh | 13 ++++++++++++ parm/data_locations.yml | 14 +++++++++++++ scripts/exregional_make_ics.sh | 35 +++++++++++++++++++++++++++------ scripts/exregional_make_lbcs.sh | 16 ++++++++++++--- ush/retrieve_data.py | 15 ++++++++++++++ ush/setup.py | 4 ++-- ush/valid_param_vals.yaml | 4 ++-- 7 files changed, 88 insertions(+), 13 deletions(-) diff --git a/devbuild.sh b/devbuild.sh index 014fbdb3b7..7e2bdfc400 100755 --- a/devbuild.sh +++ b/devbuild.sh @@ -265,6 +265,19 @@ if [ "${DEFAULT_BUILD}" = true ]; then BUILD_UPP="on" fi +# Allow the use of RRFS model output files remapped into CONUS 3-km grid as ICS/LBCS, +# before UFS_UTILS integrates use of native/full RRFS files +# Files could be retrieved from +# https://noaa-rrfs-pds.s3.amazonaws.com/rrfs_a/rrfs_a.{yyyymmdd}/{hh}/control/ +# in the format rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 +if [ "${BUILD_UFS_UTILS}" = "on" ]; then + os=$(uname) && SED=sed + test $os == Darwin && ( os=MacOSX && SED=gsed ) + echo "SED is ${SED}" + + CHGRES_CUBE=${SRW_DIR}/sorc/UFS_UTILS/sorc/chgres_cube.fd + ${SED} -i 's/"RAP","HRRR"/"RAP","HRRR","RRFS"/g' ${CHGRES_CUBE}/program_setup.F90 +fi # Choose components to build for air quality modeling (Online-CMAQ) if [ "${APPLICATION}" = "ATMAQ" ]; then if [ "${DEFAULT_BUILD}" = true ]; then diff --git a/parm/data_locations.yml b/parm/data_locations.yml index 7901f4c085..85817c5fdb 100644 --- a/parm/data_locations.yml +++ b/parm/data_locations.yml @@ -236,6 +236,20 @@ RAP: file_names: <<: *rap_file_names +RRFS: + hpss: + protocol: htar + file_names: &rrfs_file_names + anl: + - rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 + fcst: + - rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 + aws: + protocol: download + url: https://noaa-rrfs-pds.s3.amazonaws.com/rrfs_a/rrfs_a.{yyyymmdd}/{hh}/control/ + file_names: + <<: *rrfs_file_names + HRRR: hpss: protocol: htar diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index 8cd49076b0..97fc705810 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -197,6 +197,7 @@ case "${CCPP_PHYS_SUITE}" in "FV3_HRRR" | \ "FV3_RAP" ) if [ "${EXTRN_MDL_NAME_ICS}" = "RAP" ] || \ + [ "${EXTRN_MDL_NAME_ICS}" = "RRFS" ] || \ [ "${EXTRN_MDL_NAME_ICS}" = "HRRR" ]; then varmap_file="GSDphys_var_map.txt" elif [ "${EXTRN_MDL_NAME_ICS}" = "NAM" ] || \ @@ -245,7 +246,7 @@ esac # # fn_grib2: # Name (not including path) of the grib2 file generated by the external -# model. Currently used for NAM, RAP, and HRRR external model data. +# model. Currently used for NAM, RAP, and HRRR/RRFS external model data. # # input_type: # The "type" of input being provided to chgres_cube. This contains a combi- @@ -321,7 +322,7 @@ esac # tracers_input(:), it must also be 3rd in tracers(:). How can this be checked? # # NOTE: Really should use a varmap table for GFS, just like we do for -# RAP/HRRR. +# RAP/HRRR/RRFS. # # A non-prognostic variable that appears in the field_table for GSD physics # is cld_amt. Why is that in the field_table at all (since it is a non- @@ -354,7 +355,7 @@ convert_nst="" # # If the external model is not one that uses the RUC land surface model # (LSM) -- which currently includes all valid external models except the -# HRRR and the RAP -- then we set the number of soil levels to include +# HRRR/RRFS and the RAP -- then we set the number of soil levels to include # in the output NetCDF file that chgres_cube generates (nsoill_out; this # is a variable in the namelist that chgres_cube reads in) to 4. This # is because FV3 can handle this regardless of the LSM that it is using @@ -365,7 +366,7 @@ convert_nst="" # 4 soil layers to the 9 layers that it uses. # # On the other hand, if the external model is one that uses the RUC LSM -# (currently meaning that it is either the HRRR or the RAP), then what +# (currently meaning that it is either the HRRR/RRFS or the RAP), then what # we set nsoill_out to depends on whether the RUC or the Noah/Noah MP # LSM is used in the SDF. If the SDF uses RUC, then both the external # model and FV3 use RUC (which expects 9 soil levels), so we simply set @@ -379,12 +380,13 @@ convert_nst="" # 9 to 4 levels. # # In summary, we can set nsoill_out to 4 unless the external model is -# the HRRR or RAP AND the forecast model is using the RUC LSM. +# the HRRR/RRFS or RAP AND the forecast model is using the RUC LSM. # #----------------------------------------------------------------------- # nsoill_out="4" if [ "${EXTRN_MDL_NAME_ICS}" = "HRRR" -o \ + "${EXTRN_MDL_NAME_ICS}" = "RRFS" -o \ "${EXTRN_MDL_NAME_ICS}" = "RAP" ] && \ [ $(boolify "${SDF_USES_RUC_LSM}") = "TRUE" ]; then nsoill_out="9" @@ -393,7 +395,7 @@ fi #----------------------------------------------------------------------- # # If the external model for ICs is one that does not provide the aerosol -# fields needed by Thompson microphysics (currently only the HRRR and +# fields needed by Thompson microphysics (currently only the HRRR/RRFS and # RAP provide aerosol data) and if the physics suite uses Thompson # microphysics, set the variable thomp_mp_climo_file in the chgres_cube # namelist to the full path of the file containing aerosol climatology @@ -405,6 +407,7 @@ fi # thomp_mp_climo_file="" if [ "${EXTRN_MDL_NAME_ICS}" != "HRRR" -a \ + "${EXTRN_MDL_NAME_ICS}" != "RRFS" -a \ "${EXTRN_MDL_NAME_ICS}" != "RAP" ] && \ [ $(boolify "${SDF_USES_THOMPSON_MP}") = "TRUE" ]; then thomp_mp_climo_file="${THOMPSON_MP_CLIMO_FP}" @@ -521,6 +524,7 @@ case "${EXTRN_MDL_NAME_ICS}" in "HRRR") external_model="HRRR" + fn_grib2="${EXTRN_MDL_FNS[0]}" input_type="grib2" # @@ -538,6 +542,25 @@ case "${EXTRN_MDL_NAME_ICS}" in convert_nst=False ;; +"RRFS") + external_model="RRFS" + fn_grib2="${EXTRN_MDL_FNS[0]}" + input_type="grib2" +# +# Path to the RRFS/HRRRX geogrid file. +# + geogrid_file_input_grid="${FIXgsm}/geo_em.d01.nc_HRRRX" +# Note that vgfrc, shdmin/shdmax (minmax_vgfrc), and lai fields are only available in HRRRX +# files after mid-July 2019, and only so long as the record order didn't change afterward + vgtyp_from_climo=True + sotyp_from_climo=True + vgfrc_from_climo=True + minmax_vgfrc_from_climo=True + lai_from_climo=True + tg3_from_soil=True + convert_nst=False + ;; + "RAP") external_model="RAP" fn_grib2="${EXTRN_MDL_FNS[0]}" diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index 35b4da388a..207d585ab7 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -196,6 +196,7 @@ case "${CCPP_PHYS_SUITE}" in "FV3_HRRR" | \ "FV3_RAP") if [ "${EXTRN_MDL_NAME_LBCS}" = "RAP" ] || \ + [ "${EXTRN_MDL_NAME_LBCS}" = "RRFS" ] || \ [ "${EXTRN_MDL_NAME_LBCS}" = "HRRR" ]; then varmap_file="GSDphys_var_map.txt" elif [ "${EXTRN_MDL_NAME_LBCS}" = "NAM" ] || \ @@ -239,7 +240,7 @@ esac # # fn_grib2: # Name (not including path) of the grib2 file generated by the external -# model. Currently used for NAM, RAP, and HRRR external model data. +# model. Currently used for NAM, RAP, and HRRR/RRFS external model data. # # input_type: # The "type" of input being provided to chgres_cube. This contains a combi- @@ -294,7 +295,7 @@ esac # tracers_input(:), it must also be 3rd in tracers(:). How can this be checked? # # NOTE: Really should use a varmap table for GFS, just like we do for -# RAP/HRRR. +# RAP/HRRR/RRFS. # # A non-prognostic variable that appears in the field_table for GSD physics @@ -318,7 +319,7 @@ tracers="\"\"" #----------------------------------------------------------------------- # # If the external model for LBCs is one that does not provide the aerosol -# fields needed by Thompson microphysics (currently only the HRRR and +# fields needed by Thompson microphysics (currently only the HRRR/RRFS and # RAP provide aerosol data) and if the physics suite uses Thompson # microphysics, set the variable thomp_mp_climo_file in the chgres_cube # namelist to the full path of the file containing aerosol climatology @@ -330,6 +331,7 @@ tracers="\"\"" # thomp_mp_climo_file="" if [ "${EXTRN_MDL_NAME_LBCS}" != "HRRR" -a \ + "${EXTRN_MDL_NAME_LBCS}" != "RRFS" -a \ "${EXTRN_MDL_NAME_LBCS}" != "RAP" ] && \ [ $(boolify "${SDF_USES_THOMPSON_MP}") = "TRUE" ]; then thomp_mp_climo_file="${THOMPSON_MP_CLIMO_FP}" @@ -406,6 +408,11 @@ case "${EXTRN_MDL_NAME_LBCS}" in input_type="grib2" ;; +"RRFS") + external_model="RRFS" + input_type="grib2" + ;; + "NAM") external_model="NAM" input_type="grib2" @@ -502,6 +509,9 @@ for (( ii=0; ii<${num_fhrs}; ii=ii+bcgrpnum10 )); do "HRRR") fn_grib2="${EXTRN_MDL_FNS[$i]}" ;; + "RRFS") + fn_grib2="${EXTRN_MDL_FNS[$i]}" + ;; "NAM") fn_grib2="${EXTRN_MDL_FNS[$i]}" ;; diff --git a/ush/retrieve_data.py b/ush/retrieve_data.py index 5acf9d5ce9..079d80bd75 100755 --- a/ush/retrieve_data.py +++ b/ush/retrieve_data.py @@ -319,6 +319,21 @@ def get_file_templates(cla, known_data_info, data_store, use_cla_tmpl=False): if use_cla_tmpl: file_templates = cla.file_templates if cla.file_templates else file_templates +# nperlin 05/31/2024 diagnostics + msg = "Diagnostic prints in retrieve_data.py" + print(msg) + msg = f"cla is is {cla}!" + print(msg) + msg = f"cla.data_type is {cla.data_type}!" + print(msg) + msg = f"cla.file_fmt is {cla.file_fmt}!" + print(msg) + msg = f"cla.file_set is {cla.file_set}!" + print(msg) + msg = f"use_cla_tmpl is {use_cla_tmpl}!" + print(msg) + msg = f"cla.cycle_date is {cla.cycle_date}!" + print(msg) if isinstance(file_templates, dict): if cla.file_fmt is not None: diff --git a/ush/setup.py b/ush/setup.py index 51d5b2a084..335ce229e1 100644 --- a/ush/setup.py +++ b/ush/setup.py @@ -1447,8 +1447,8 @@ def dict_find(user_dict, substring): # If the model ICs or BCs are not from RAP or HRRR, they will not contain aerosol # climatology data needed by the Thompson scheme, so we need to provide a separate file - if (get_extrn_ics["EXTRN_MDL_NAME_ICS"] not in ["HRRR", "RAP"] or - get_extrn_lbcs["EXTRN_MDL_NAME_LBCS"] not in ["HRRR", "RAP"]): + if (get_extrn_ics["EXTRN_MDL_NAME_ICS"] not in ["HRRR", "RRFS", "RAP"] or + get_extrn_lbcs["EXTRN_MDL_NAME_LBCS"] not in ["HRRR", "RRFS", "RAP"]): fixed_files["THOMPSON_FIX_FILES"].append(workflow_config["THOMPSON_MP_CLIMO_FN"]) # Add thompson-specific fix files to CYCLEDIR_LINKS_TO_FIXam_FILES_MAPPING and diff --git a/ush/valid_param_vals.yaml b/ush/valid_param_vals.yaml index 3530b51ae9..fd21b3e1cf 100644 --- a/ush/valid_param_vals.yaml +++ b/ush/valid_param_vals.yaml @@ -37,8 +37,8 @@ valid_vals_CCPP_PHYS_SUITE: [ "FV3_RAP" ] valid_vals_GFDLgrid_NUM_CELLS: [48, 96, 192, 384, 768, 1152, 3072] -valid_vals_EXTRN_MDL_NAME_ICS: ["GSMGFS", "FV3GFS", "UFS-CASE-STUDY", "GEFS", "GDAS", "RAP", "HRRR", "NAM"] -valid_vals_EXTRN_MDL_NAME_LBCS: ["GSMGFS", "FV3GFS", "UFS-CASE-STUDY", "GEFS", "GDAS", "RAP", "HRRR", "NAM"] +valid_vals_EXTRN_MDL_NAME_ICS: ["GSMGFS", "FV3GFS", "UFS-CASE-STUDY", "GEFS", "GDAS", "RAP", "HRRR", "RRFS", "NAM"] +valid_vals_EXTRN_MDL_NAME_LBCS: ["GSMGFS", "FV3GFS", "UFS-CASE-STUDY", "GEFS", "GDAS", "RAP", "HRRR", "RRFS", "NAM"] valid_vals_USE_USER_STAGED_EXTRN_FILES: [True, False] valid_vals_FV3GFS_FILE_FMT_ICS: ["nemsio", "grib2", "netcdf"] valid_vals_FV3GFS_FILE_FMT_LBCS: ["nemsio", "grib2", "netcdf"] From 23e009ddb69bbfb32d22299835881d5d3d4d5b4d Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 13 Jun 2024 05:31:20 +0000 Subject: [PATCH 02/25] add RRFS expected data source for ICS/LBCS, in parm/data_locations.yml, add a new test for RRFS ICS/LBCS --- parm/data_locations.yml | 4 +- parm/wflow/plot.yaml | 6 +-- ..._ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 46 +++++++++++++++++++ 3 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml diff --git a/parm/data_locations.yml b/parm/data_locations.yml index 85817c5fdb..e65a796739 100644 --- a/parm/data_locations.yml +++ b/parm/data_locations.yml @@ -241,9 +241,9 @@ RRFS: protocol: htar file_names: &rrfs_file_names anl: - - rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 + - rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus.grib2 fcst: - - rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 + - rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus.grib2 aws: protocol: download url: https://noaa-rrfs-pds.s3.amazonaws.com/rrfs_a/rrfs_a.{yyyymmdd}/{hh}/control/ diff --git a/parm/wflow/plot.yaml b/parm/wflow/plot.yaml index 0c98e51711..1cb4e14799 100644 --- a/parm/wflow/plot.yaml +++ b/parm/wflow/plot.yaml @@ -19,10 +19,10 @@ default_task_plot: &default_task nprocs: '{{ parent.nnodes * parent.ppn }}' join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;' native: '{{ platform.SCHED_NATIVE_CMD }}' - nnodes: 1 nodes: '{{ nnodes }}:ppn={{ ppn }}' - partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' + nnodes: 2 ppn: 24 + partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' queue: '&QUEUE_DEFAULT;' walltime: 01:00:00 @@ -52,4 +52,4 @@ metatask_plot_allvars: task: run_post_mem#mem#_f#fhr# taskdep: attrs: - task: run_post_mem#mem#_f#fhr# \ No newline at end of file + task: run_post_mem#mem#_f#fhr# diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml new file mode 100644 index 0000000000..24daa87a3b --- /dev/null +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -0,0 +1,46 @@ +metadata: + description: |- + This test is to ensure that the workflow running in community mode + completes successfully on the RRFS_CONUScompact_25km grid using the HRRR + physics suite with ICs and LBCs derived from the RRFS forecasts mapped onto + 3-km regular grid (rrfs*.conus.grib2). This test uses old v1 sfc_data, + not the v2 fractional grid sfc_data. + Note that this test also sets various resource parameters for several + of the rocoto tasks in order to more efficiently run the code on this + (very large) grid. +user: + RUN_ENVIR: community +workflow: + CCPP_PHYS_SUITE: FV3_RRFS_v1beta + PREDEF_GRID_NAME: RRFS_CONUScompact_25km + DATE_FIRST_CYCL: '2024060517' + DATE_LAST_CYCL: '2024060517' + FCST_LEN_HRS: 3 + PREEXISTING_DIR_METHOD: rename +task_make_orog: + OMP_NUM_THREADS_MAKE_OROG: 24 +task_get_extrn_ics: + EXTRN_MDL_NAME_ICS: RRFS + FV3GFS_FILE_FMT_ICS: grib2 + USE_USER_STAGED_EXTRN_FILES: true +task_get_extrn_lbcs: + EXTRN_MDL_NAME_LBCS: RRFS + LBC_SPEC_INTVL_HRS: 1 + FV3GFS_FILE_FMT_LBCS: grib2 + USE_USER_STAGED_EXTRN_FILES: true +task_plot_allvars: + COMOUT_REF: "" +global: + DO_ENSEMBLE: true + NUM_ENS_MEMBERS: 3 +rocoto: + tasks: + taskgroups: '{{ ["parm/wflow/prep.yaml", "parm/wflow/coldstart.yaml", "parm/wflow/post.yaml", "parm/wflow/plot.yaml"]|include }}' + task_make_orog: + walltime: 01:00:00 + metatask_run_ensemble: + task_make_lbcs_mem#mem#: + walltime: 02:00:00 + task_run_fcst_mem#mem#: + walltime: 02:00:00 + From fbc06d4d6c29b5cd72762906ce9d88b2b9c83c5a Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 20 Jun 2024 13:32:00 -0400 Subject: [PATCH 03/25] Updating documentation for RRFS ICS/LBCS capability --- doc/UsersGuide/BackgroundInfo/Components.rst | 2 +- doc/UsersGuide/BuildingRunningTesting/RunSRW.rst | 5 +++-- doc/UsersGuide/BuildingRunningTesting/WE2Etests.rst | 1 + .../CustomizingTheWorkflow/ConfigWorkflow.rst | 4 ++-- .../CustomizingTheWorkflow/InputOutputFiles.rst | 12 ++++++++---- doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst | 2 +- doc/UsersGuide/Reference/Glossary.rst | 3 ++- 7 files changed, 18 insertions(+), 11 deletions(-) diff --git a/doc/UsersGuide/BackgroundInfo/Components.rst b/doc/UsersGuide/BackgroundInfo/Components.rst index 1ba9349d8d..aaaf401fef 100644 --- a/doc/UsersGuide/BackgroundInfo/Components.rst +++ b/doc/UsersGuide/BackgroundInfo/Components.rst @@ -22,7 +22,7 @@ UFS Preprocessing Utilities (UFS_UTILS) The SRW Application includes a number of pre-processing utilities (UFS_UTILS) that initialize and prepare the model. Since the SRW App provides forecast predictions over a limited area (rather than globally), these utilities generate a regional grid (``regional_esg_grid/make_hgrid``) along with :term:`orography` (``orog``) and surface climatology (``sfc_climo_gen``) files on that grid. Grids include a strip, or "halo," of six cells that surround the regional grid and feed in lateral boundary condition data. Since different grid and orography files require different numbers of :term:`halo` cells, additional utilities handle topography filtering and shave the number of halo points (based on downstream workflow component requirements). The pre-processing software :term:`chgres_cube` is used to convert the raw external model data into initial and lateral boundary condition files in :term:`netCDF` format. These are needed as input to the :term:`FV3` limited area model (:term:`LAM`). Additional information about the UFS pre-processing utilities can be found in the :doc:`UFS_UTILS Technical Documentation ` and in the `UFS_UTILS Scientific Documentation `__. -The SRW Application can be initialized from a range of operational initial condition files. It is possible to initialize the model from the Global Forecast System (:term:`GFS`), North American Mesoscale (:term:`NAM`) Forecast System, Rapid Refresh (:term:`RAP`), and High-Resolution Rapid Refresh (:term:`HRRR`) files in Gridded Binary v2 (:term:`GRIB2`) format. GFS files also come in :term:`NEMSIO` format for past dates. +The SRW Application can be initialized from a range of operational initial condition files. It is possible to initialize the model from the Global Forecast System (:term:`GFS`), North American Mesoscale (:term:`NAM`) Forecast System, Rapid Refresh (:term:`RAP`), High-Resolution Rapid Refresh (:term:`HRRR`), Rapid Refresh Forecast System (:term:`RRFS`) files in Gridded Binary v2 (:term:`GRIB2`) format. GFS files also come in :term:`NEMSIO` format for past dates. .. WARNING:: For GFS data, dates prior to 1 January 2018 may work but are not guaranteed. Public archives of model data can be accessed through the `NOAA Operational Model Archive and Distribution System `__ (NOMADS). Raw external model data may be pre-staged on disk by the user. diff --git a/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst b/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst index d7fd7407a8..8350f4201a 100644 --- a/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst +++ b/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst @@ -547,8 +547,9 @@ The ``data:`` section of the machine file can point to various data sources that nemsio: /Users/username/DATA/UFS/FV3GFS/nemsio grib2: /Users/username/DATA/UFS/FV3GFS/grib2 netcdf: /Users/username/DATA/UFS/FV3GFS/netcdf - RAP: /Users/username/DATA/UFS/RAP/grib2 - HRRR: /Users/username/DATA/UFS/HRRR/grib2 + RAP: /Users/username/DATA/UFS/RAP + HRRR: /Users/username/DATA/UFS/HRRR + RRFS: /Users/username/DATA/UFS/RRFS This can be helpful when conducting multiple experiments with different types of data. diff --git a/doc/UsersGuide/BuildingRunningTesting/WE2Etests.rst b/doc/UsersGuide/BuildingRunningTesting/WE2Etests.rst index 4fca53b575..b3a7bf847b 100644 --- a/doc/UsersGuide/BuildingRunningTesting/WE2Etests.rst +++ b/doc/UsersGuide/BuildingRunningTesting/WE2Etests.rst @@ -78,6 +78,7 @@ For convenience, the WE2E tests are currently grouped into the following categor FV3GFS: RAP: HRRR: + RRFS: Some tests are duplicated among the above categories via symbolic links, both for legacy reasons (when tests for different capabilities were consolidated) and for convenience when a user would like to run all tests for a specific category (e.g., verification tests). diff --git a/doc/UsersGuide/CustomizingTheWorkflow/ConfigWorkflow.rst b/doc/UsersGuide/CustomizingTheWorkflow/ConfigWorkflow.rst index 5161268980..50835a2451 100644 --- a/doc/UsersGuide/CustomizingTheWorkflow/ConfigWorkflow.rst +++ b/doc/UsersGuide/CustomizingTheWorkflow/ConfigWorkflow.rst @@ -912,7 +912,7 @@ Basic Task Parameters For each workflow task, certain parameter values must be passed to the job scheduler (e.g., Slurm), which submits a job for the task. ``EXTRN_MDL_NAME_ICS``: (Default: "FV3GFS") - The name of the external model that will provide fields from which initial condition (IC) files, surface files, and 0-th hour boundary condition files will be generated for input into the forecast model. Valid values: ``"GSMGFS"`` | ``"FV3GFS"`` | ``"GEFS"`` | ``"GDAS"`` | ``"RAP"`` | ``"HRRR"`` | ``"NAM"`` | ``"UFS-CASE-STUDY"`` + The name of the external model that will provide fields from which initial condition (IC) files, surface files, and 0-th hour boundary condition files will be generated for input into the forecast model. Valid values: ``"GSMGFS"`` | ``"FV3GFS"`` | ``"GEFS"`` | ``"GDAS"`` | ``"RAP"`` | ``"HRRR"`` | ``"RRFS"`` | ``"NAM"`` | ``"UFS-CASE-STUDY"`` ``EXTRN_MDL_ICS_OFFSET_HRS``: (Default: 0) Users may wish to start a forecast using forecast data from a previous cycle of an external model. This variable indicates how many hours earlier the external model started than the FV3 forecast configured here. For example, if the forecast should start from a 6-hour forecast of the GFS, then ``EXTRN_MDL_ICS_OFFSET_HRS: "6"``. @@ -966,7 +966,7 @@ Basic Task Parameters For each workflow task, certain parameter values must be passed to the job scheduler (e.g., Slurm), which submits a job for the task. ``EXTRN_MDL_NAME_LBCS``: (Default: "FV3GFS") - The name of the external model that will provide fields from which lateral boundary condition (LBC) files (except for the 0-th hour LBC file) will be generated for input into the forecast model. Valid values: ``"GSMGFS"`` | ``"FV3GFS"`` | ``"GEFS"`` | ``"GDAS"`` | ``"RAP"`` | ``"HRRR"`` | ``"NAM"`` | ``"UFS-CASE-STUDY"`` + The name of the external model that will provide fields from which lateral boundary condition (LBC) files (except for the 0-th hour LBC file) will be generated for input into the forecast model. Valid values: ``"GSMGFS"`` | ``"FV3GFS"`` | ``"GEFS"`` | ``"GDAS"`` | ``"RAP"`` | ``"HRRR"`` | ``"RRFS"`` | ``"NAM"`` | ``"UFS-CASE-STUDY"`` ``LBC_SPEC_INTVL_HRS``: (Default: 6) The interval (in integer hours) at which LBC files will be generated. This is also referred to as the *boundary update interval*. Note that the model selected in ``EXTRN_MDL_NAME_LBCS`` must have data available at a frequency greater than or equal to that implied by ``LBC_SPEC_INTVL_HRS``. For example, if ``LBC_SPEC_INTVL_HRS`` is set to "6", then the model must have data available at least every 6 hours. It is up to the user to ensure that this is the case. diff --git a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst index 40227d7a2b..b32eac0f66 100644 --- a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst +++ b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst @@ -21,7 +21,8 @@ ways, including: * Pulled from the `SRW App Data Bucket `__, * Pulled from the NOAA High Performance Storage System (:term:`HPSS`) during the workflow execution (requires user access), or - * Obtained and staged by the user from a different source. + * Obtained and staged by the user from a different source, + * Pulled from the `NOAA-RRFS AWS S3 bucket `__, a description could be found in `NOAA Rapid Refresh Forecast System (RRFS) `__. The data format for these files can be :term:`GRIB2` or :term:`NEMSIO`. More information on downloading and setting up the external model data can be found in :numref:`Section %s `. Once the data is set up, the end-to-end application will run the system and write output files to disk. @@ -246,7 +247,7 @@ The environment variables ``FIXgsm``, ``FIXorg``, and ``FIXsfc`` indicate the pa Initial Condition/Lateral Boundary Condition File Formats and Source ----------------------------------------------------------------------- -The SRW Application currently supports raw initial and lateral boundary conditions from numerous models (i.e., FV3GFS, GEFS, GDAS, NAM, RAP, HRRR). The data can be provided in three formats: :term:`NEMSIO`, :term:`netCDF`, or :term:`GRIB2`. +The SRW Application currently supports raw initial and lateral boundary conditions from numerous models (i.e., FV3GFS, GEFS, GDAS, NAM, RAP, HRRR, RRFS). The data can be provided in three formats: :term:`NEMSIO`, :term:`netCDF`, or :term:`GRIB2`. To download the model input data for the 12-hour "out-of-the-box" experiment configuration in ``config.community.yaml`` file, run: @@ -273,7 +274,7 @@ The paths to ``EXTRN_MDL_SOURCE_BASEDIR_ICS`` and ``EXTRN_MDL_SOURCE_BASEDIR_LBC USE_USER_STAGED_EXTRN_FILES: true EXTRN_MDL_SOURCE_BASEDIR_LBCS: /path/to/ufs-srweather-app/input_model_data/FV3GFS/grib2/YYYYMMDDHH -The two ``EXTRN_MDL_SOURCE_BASEDIR_*CS`` variables describe where the :term:`IC ` and :term:`LBC ` file directories are located, respectively. For ease of reusing ``config.yaml`` across experiments, it is recommended that users set up the raw :term:`IC/LBC ` file paths to include the model name (e.g., FV3GFS, GEFS, GDAS, NAM, RAP, HRRR), data format (e.g., grib2, nemsio), and date (in ``YYYYMMDDHH`` format). For example: ``/path/to/input_model_data/FV3GFS/grib2/2019061518/``. While there is flexibility to modify these settings, this structure will provide the most reusability for multiple dates when using the SRW Application workflow. +The two ``EXTRN_MDL_SOURCE_BASEDIR_*CS`` variables describe where the :term:`IC ` and :term:`LBC ` file directories are located, respectively. For ease of reusing ``config.yaml`` across experiments, it is recommended that users set up the raw :term:`IC/LBC ` file paths to include the model name (e.g., FV3GFS, GEFS, GDAS, NAM, RAP, HRRR,RRFS), data format for (e.g., grib2, nemsio, netcdf), and date (in ``YYYYMMDDHH`` format). For example: ``/path/to/input_model_data/FV3GFS/grib2/2019061518/``. While there is flexibility to modify these settings, this structure will provide the most reusability for multiple dates when using the SRW Application workflow. When files are pulled from NOAA :term:`HPSS` (rather than downloaded from the data bucket), the naming convention looks something like this: @@ -290,11 +291,12 @@ When files are pulled from NOAA :term:`HPSS` (rather than downloaded from the da * RAP (GRIB2): ``rap.t{cycle}z.wrfprsf{fhr}.grib2`` * HRRR (GRIB2): ``hrrr.t{cycle}z.wrfprsf{fhr}.grib2`` +* RRFS (GRIB2): ``rrfs.t{cycle}z.prslev.f{fhr}.conus.grib2`` where: * ``{cycle}`` corresponds to the 2-digit hour of the day when the forecast cycle starts, and - * ``{fhr}`` corresponds to the 2- or 3-digit nth hour of the forecast (3-digits for FV3GFS/GDAS data and 2 digits for RAP/HRRR data). + * ``{fhr}`` corresponds to the 2- or 3-digit nth hour of the forecast (3-digits for FV3GFS/GDAS/RRFS data and 2 digits for RAP/HRRR data). For example, a forecast using FV3GFS GRIB2 data that starts at 18h00 UTC would have a ``{cycle}`` value of 18, which is the 000th forecast hour. The LBCS file for 21h00 UTC would be named ``gfs.t18z.pgrb2.0p25.f003``. @@ -353,6 +355,8 @@ AWS S3 Data Buckets: * GDAS: https://registry.opendata.aws/noaa-gfs-bdp-pds/ * HRRR: https://registry.opendata.aws/noaa-hrrr-pds/ (necessary fields for initializing available for dates 2015 and newer) * A list of the NOAA Open Data Dissemination (NODD) datasets can be found here: https://www.noaa.gov/nodd/datasets +* RRFS - experimental data is available starting 02/01/2024 for deteministic forecasts out to 60 hours at 00, 06, 12, and 18 UTC, and out to 18 hours for other cycles. Earlier dates, from 05/01/2023 to 01/31/2024, may contain only forecasts at 00, 06, 12, 18 UTC; user needs to verify that data exist for needed dates. + https://noaa-rrfs-pds.s3.amazonaws.com/index.html#rrfs_a/ NCEI Archive: diff --git a/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst b/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst index 1fd163e8c6..fcaccc4364 100644 --- a/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst +++ b/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst @@ -75,7 +75,7 @@ The 3-km CONUS domain is ideal for running the ``FV3_RRFS_v1beta`` physics suite The boundary of the ``RRFS_CONUS_3km`` domain is shown in :numref:`Figure %s ` (in red), and the boundary of the :ref:`write component grid ` sits just inside the computational domain (in blue). This extra grid is required because the post-processing utility (:term:`UPP`) is unable to process data on the native FV3 gnomonic grid (in red). Therefore, model data are interpolated to a Lambert conformal grid (the write component grid) in order for the :term:`UPP` to read in and correctly process the data. .. note:: - While it is possible to initialize the FV3-LAM with coarser external model data when using the ``RRFS_CONUS_3km`` domain, it is generally advised to use external model data (such as HRRR or RAP data) that has a resolution similar to that of the native FV3-LAM (predefined) grid. + While it is possible to initialize the FV3-LAM with coarser external model data when using the ``RRFS_CONUS_3km`` domain, it is generally advised to use external model data (such as HRRR, RRFS or RAP data) that has a resolution similar to that of the native FV3-LAM (predefined) grid. Predefined SUBCONUS Grid Over Indianapolis diff --git a/doc/UsersGuide/Reference/Glossary.rst b/doc/UsersGuide/Reference/Glossary.rst index 90f9c8ab89..50d8658c13 100644 --- a/doc/UsersGuide/Reference/Glossary.rst +++ b/doc/UsersGuide/Reference/Glossary.rst @@ -227,7 +227,8 @@ Glossary A central location in which files (e.g., data, code, documentation) are stored and managed. RRFS - The `Rapid Refresh Forecast System `__ (RRFS) is NOAA's next-generation convection-allowing, rapidly-updated, ensemble-based data assimilation and forecasting system currently scheduled for operational implementation in 2024. It is designed to run forecasts on a 3-km :term:`CONUS` domain. + The `Rapid Refresh Forecast System `__ (RRFS) is NOAA's next-generation convection-allowing, rapidly-updated, ensemble-based data assimilation and forecasting system currently scheduled for operational implementation in 2024. It is designed to run forecasts on a 3-km :term:`CONUS` domain, see also `NOAA Rapid Refresh Forecast System (RRFS) `__. Experimental data for is currently available from the `AWS S3 NOAA-RRFS `__ bucket starting 02/01/2024 for deteministic forecasts out to 60 hours at 00, 06, 12, and 18 UTC, and out to 18 hours for other cycles. Earlier dates, from 05/01/2023 to 01/31/2024, may contain only forecasts at 00, 06, 12, 18 UTC; user needs to verify that data exist for needed dates. + SDF Suite Definition File. An external file containing information about the construction of a physics suite. It describes the schemes that are called, in which order they are called, whether they are subcycled, and whether they are assembled into groups to be called together. From e63f5c34b542e444008816c51d1bc25ce35f97a0 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 20 Jun 2024 17:12:28 +0000 Subject: [PATCH 04/25] adding a new test grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta for RRFS functionality --- tests/WE2E/machine_suites/comprehensive | 1 + tests/WE2E/machine_suites/comprehensive.derecho | 1 + tests/WE2E/machine_suites/comprehensive.noaacloud | 1 + tests/WE2E/machine_suites/comprehensive.orion | 1 + tests/WE2E/machine_suites/coverage.cheyenne | 1 + tests/WE2E/machine_suites/coverage.derecho | 1 + tests/WE2E/machine_suites/coverage.gaea | 1 + tests/WE2E/machine_suites/coverage.hera.gnu.com | 1 + tests/WE2E/machine_suites/coverage.hera.intel.nco | 1 + tests/WE2E/machine_suites/coverage.jet | 1 + tests/WE2E/machine_suites/coverage.orion | 1 + ...25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 15 ++------------- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/WE2E/machine_suites/comprehensive b/tests/WE2E/machine_suites/comprehensive index 8c546918a0..8397e5d0c0 100644 --- a/tests/WE2E/machine_suites/comprehensive +++ b/tests/WE2E/machine_suites/comprehensive @@ -57,6 +57,7 @@ grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_HRRR_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_RRFS_CONUScompact_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta diff --git a/tests/WE2E/machine_suites/comprehensive.derecho b/tests/WE2E/machine_suites/comprehensive.derecho index a28718a10a..5464a053d8 100644 --- a/tests/WE2E/machine_suites/comprehensive.derecho +++ b/tests/WE2E/machine_suites/comprehensive.derecho @@ -48,6 +48,7 @@ grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_HRRR_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_RRFS_CONUScompact_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta diff --git a/tests/WE2E/machine_suites/comprehensive.noaacloud b/tests/WE2E/machine_suites/comprehensive.noaacloud index 6c01bd70a8..c9bb96ae64 100644 --- a/tests/WE2E/machine_suites/comprehensive.noaacloud +++ b/tests/WE2E/machine_suites/comprehensive.noaacloud @@ -37,6 +37,7 @@ grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_HRRR_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_RRFS_CONUScompact_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta diff --git a/tests/WE2E/machine_suites/comprehensive.orion b/tests/WE2E/machine_suites/comprehensive.orion index ce71fe05db..5930843582 100644 --- a/tests/WE2E/machine_suites/comprehensive.orion +++ b/tests/WE2E/machine_suites/comprehensive.orion @@ -48,6 +48,7 @@ grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta grid_RRFS_CONUScompact_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_HRRR_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_RRFS_CONUScompact_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta diff --git a/tests/WE2E/machine_suites/coverage.cheyenne b/tests/WE2E/machine_suites/coverage.cheyenne index 8f3c3ec78c..95cebec1c9 100644 --- a/tests/WE2E/machine_suites/coverage.cheyenne +++ b/tests/WE2E/machine_suites/coverage.cheyenne @@ -3,6 +3,7 @@ grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot grid_RRFS_CONUS_25km_ics_NAM_lbcs_NAM_suite_GFS_v16 grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_HRRR_lbcs_HRRR_suite_HRRR pregen_grid_orog_sfc_climo specify_template_filenames diff --git a/tests/WE2E/machine_suites/coverage.derecho b/tests/WE2E/machine_suites/coverage.derecho index a948c76033..e1488343ea 100644 --- a/tests/WE2E/machine_suites/coverage.derecho +++ b/tests/WE2E/machine_suites/coverage.derecho @@ -3,6 +3,7 @@ grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot grid_RRFS_CONUS_25km_ics_NAM_lbcs_NAM_suite_GFS_v16 grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_HRRR_lbcs_HRRR_suite_HRRR pregen_grid_orog_sfc_climo specify_template_filenames diff --git a/tests/WE2E/machine_suites/coverage.gaea b/tests/WE2E/machine_suites/coverage.gaea index 970fdf4086..237c464c4d 100644 --- a/tests/WE2E/machine_suites/coverage.gaea +++ b/tests/WE2E/machine_suites/coverage.gaea @@ -5,6 +5,7 @@ grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_RAP grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_HRRR grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15_thompson_mynn_lam3km grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_HRRR_suite_HRRR +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_RAP_lbcs_RAP_suite_RRFS_v1beta_plot 2020_CAPE diff --git a/tests/WE2E/machine_suites/coverage.hera.gnu.com b/tests/WE2E/machine_suites/coverage.hera.gnu.com index c2018a6e78..8387f7e625 100644 --- a/tests/WE2E/machine_suites/coverage.hera.gnu.com +++ b/tests/WE2E/machine_suites/coverage.hera.gnu.com @@ -3,6 +3,7 @@ get_from_HPSS_ics_FV3GFS_lbcs_FV3GFS_fmt_nemsio_2019061200 get_from_NOMADS_ics_FV3GFS_lbcs_FV3GFS grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_HRRR grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_HRRR_lbcs_RAP_suite_WoFS_v0 long_fcst MET_verification_only_vx diff --git a/tests/WE2E/machine_suites/coverage.hera.intel.nco b/tests/WE2E/machine_suites/coverage.hera.intel.nco index d5ab0d6fe8..d33ea69dfe 100644 --- a/tests/WE2E/machine_suites/coverage.hera.intel.nco +++ b/tests/WE2E/machine_suites/coverage.hera.intel.nco @@ -9,4 +9,5 @@ grid_RRFS_CONUS_25km_ics_GSMGFS_lbcs_GSMGFS_suite_GFS_v15p2 grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2 grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_HRRR +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta pregen_grid_orog_sfc_climo diff --git a/tests/WE2E/machine_suites/coverage.jet b/tests/WE2E/machine_suites/coverage.jet index 53308090b1..cf4e7eaf15 100644 --- a/tests/WE2E/machine_suites/coverage.jet +++ b/tests/WE2E/machine_suites/coverage.jet @@ -9,3 +9,4 @@ grid_RRFS_AK_3km_ics_FV3GFS_lbcs_FV3GFS_suite_HRRR grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2 grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_RRFS_v1beta +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta diff --git a/tests/WE2E/machine_suites/coverage.orion b/tests/WE2E/machine_suites/coverage.orion index c698648b10..5cb4441437 100644 --- a/tests/WE2E/machine_suites/coverage.orion +++ b/tests/WE2E/machine_suites/coverage.orion @@ -5,6 +5,7 @@ grid_CONUS_3km_GFDLgrid_ics_FV3GFS_lbcs_FV3GFS_suite_RRFS_v1beta grid_RRFS_AK_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot grid_RRFS_CONUS_25km_ics_NAM_lbcs_NAM_suite_RRFS_v1beta grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_HRRR +grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_RRFS_CONUScompact_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_SUBCONUS_Ind_3km_ics_FV3GFS_lbcs_FV3GFS_suite_WoFS_v0 diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index 24daa87a3b..33c55fed8e 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -1,13 +1,10 @@ metadata: description: |- This test is to ensure that the workflow running in community mode - completes successfully on the RRFS_CONUScompact_25km grid using the HRRR + completes successfully on the RRFS_CONUScompact_25km grid using the RRFS_v1beta physics suite with ICs and LBCs derived from the RRFS forecasts mapped onto 3-km regular grid (rrfs*.conus.grib2). This test uses old v1 sfc_data, not the v2 fractional grid sfc_data. - Note that this test also sets various resource parameters for several - of the rocoto tasks in order to more efficiently run the code on this - (very large) grid. user: RUN_ENVIR: community workflow: @@ -15,7 +12,7 @@ workflow: PREDEF_GRID_NAME: RRFS_CONUScompact_25km DATE_FIRST_CYCL: '2024060517' DATE_LAST_CYCL: '2024060517' - FCST_LEN_HRS: 3 + FCST_LEN_HRS: 9 PREEXISTING_DIR_METHOD: rename task_make_orog: OMP_NUM_THREADS_MAKE_OROG: 24 @@ -36,11 +33,3 @@ global: rocoto: tasks: taskgroups: '{{ ["parm/wflow/prep.yaml", "parm/wflow/coldstart.yaml", "parm/wflow/post.yaml", "parm/wflow/plot.yaml"]|include }}' - task_make_orog: - walltime: 01:00:00 - metatask_run_ensemble: - task_make_lbcs_mem#mem#: - walltime: 02:00:00 - task_run_fcst_mem#mem#: - walltime: 02:00:00 - From 37c5863682db8e220a4b31a8f0c5df596015ae18 Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Mon, 24 Jun 2024 14:53:28 -0400 Subject: [PATCH 05/25] Updated description of a new test for RRFS functionality updated /WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml Co-authored-by: Christina Holt <56881914+christinaholtNOAA@users.noreply.github.com> --- ...NUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index 33c55fed8e..7875d1f0ff 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -2,9 +2,8 @@ metadata: description: |- This test is to ensure that the workflow running in community mode completes successfully on the RRFS_CONUScompact_25km grid using the RRFS_v1beta - physics suite with ICs and LBCs derived from the RRFS forecasts mapped onto - 3-km regular grid (rrfs*.conus.grib2). This test uses old v1 sfc_data, - not the v2 fractional grid sfc_data. + physics suite. It uses RRFS forecasts mapped onto 3-km regular grid (rrfs*.conus.grib2 for + ICs and LBCs. This test uses old v1 sfc_data, not the v2 fractional grid sfc_data. user: RUN_ENVIR: community workflow: From 5f4f07c006d2039995ef7ad5cc62bffab6250f87 Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Mon, 24 Jun 2024 14:55:28 -0400 Subject: [PATCH 06/25] Update config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml --- parm/wflow/plot.yaml | 4 ++-- ...ONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/parm/wflow/plot.yaml b/parm/wflow/plot.yaml index 1cb4e14799..f4996c198f 100644 --- a/parm/wflow/plot.yaml +++ b/parm/wflow/plot.yaml @@ -19,10 +19,10 @@ default_task_plot: &default_task nprocs: '{{ parent.nnodes * parent.ppn }}' join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;' native: '{{ platform.SCHED_NATIVE_CMD }}' - nodes: '{{ nnodes }}:ppn={{ ppn }}' nnodes: 2 - ppn: 24 + nodes: '{{ nnodes }}:ppn={{ ppn }}' partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' + ppn: 24 queue: '&QUEUE_DEFAULT;' walltime: 01:00:00 diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index 7875d1f0ff..cd350a4364 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -2,7 +2,7 @@ metadata: description: |- This test is to ensure that the workflow running in community mode completes successfully on the RRFS_CONUScompact_25km grid using the RRFS_v1beta - physics suite. It uses RRFS forecasts mapped onto 3-km regular grid (rrfs*.conus.grib2 for + physics suite. It uses RRFS forecasts mapped onto 3-km regular grid (rrfs*.conus.grib2) for ICs and LBCs. This test uses old v1 sfc_data, not the v2 fractional grid sfc_data. user: RUN_ENVIR: community @@ -13,8 +13,6 @@ workflow: DATE_LAST_CYCL: '2024060517' FCST_LEN_HRS: 9 PREEXISTING_DIR_METHOD: rename -task_make_orog: - OMP_NUM_THREADS_MAKE_OROG: 24 task_get_extrn_ics: EXTRN_MDL_NAME_ICS: RRFS FV3GFS_FILE_FMT_ICS: grib2 From 891e7cff717a28f89c6b5119bb4ced9f86c9cd13 Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Mon, 24 Jun 2024 15:40:59 -0400 Subject: [PATCH 07/25] Update retrieve_data.py removed debugging diagnostics --- ush/retrieve_data.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/ush/retrieve_data.py b/ush/retrieve_data.py index 079d80bd75..5acf9d5ce9 100755 --- a/ush/retrieve_data.py +++ b/ush/retrieve_data.py @@ -319,21 +319,6 @@ def get_file_templates(cla, known_data_info, data_store, use_cla_tmpl=False): if use_cla_tmpl: file_templates = cla.file_templates if cla.file_templates else file_templates -# nperlin 05/31/2024 diagnostics - msg = "Diagnostic prints in retrieve_data.py" - print(msg) - msg = f"cla is is {cla}!" - print(msg) - msg = f"cla.data_type is {cla.data_type}!" - print(msg) - msg = f"cla.file_fmt is {cla.file_fmt}!" - print(msg) - msg = f"cla.file_set is {cla.file_set}!" - print(msg) - msg = f"use_cla_tmpl is {use_cla_tmpl}!" - print(msg) - msg = f"cla.cycle_date is {cla.cycle_date}!" - print(msg) if isinstance(file_templates, dict): if cla.file_fmt is not None: From a0f37ed63952d4d1587fe6c054fee7e8f15cc1f2 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Tue, 25 Jun 2024 14:54:01 +0000 Subject: [PATCH 08/25] reduce ensemble size and forecast period for a new test with RRFS ICS/LBCS --- ...ONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index cd350a4364..8826f7271b 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -11,7 +11,7 @@ workflow: PREDEF_GRID_NAME: RRFS_CONUScompact_25km DATE_FIRST_CYCL: '2024060517' DATE_LAST_CYCL: '2024060517' - FCST_LEN_HRS: 9 + FCST_LEN_HRS: 3 PREEXISTING_DIR_METHOD: rename task_get_extrn_ics: EXTRN_MDL_NAME_ICS: RRFS @@ -26,7 +26,7 @@ task_plot_allvars: COMOUT_REF: "" global: DO_ENSEMBLE: true - NUM_ENS_MEMBERS: 3 + NUM_ENS_MEMBERS: 2 rocoto: tasks: taskgroups: '{{ ["parm/wflow/prep.yaml", "parm/wflow/coldstart.yaml", "parm/wflow/post.yaml", "parm/wflow/plot.yaml"]|include }}' From d07ea9a5fee303b765db216c32cc09e02a0e5a3d Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Tue, 25 Jun 2024 12:45:02 -0400 Subject: [PATCH 09/25] Update doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst Co-authored-by: Michael Lueken <63728921+MichaelLueken@users.noreply.github.com> Update doc/UsersGuide/BackgroundInfo/Components.rst Co-authored-by: Michael Lueken <63728921+MichaelLueken@users.noreply.github.com> --- doc/UsersGuide/BackgroundInfo/Components.rst | 2 +- doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/UsersGuide/BackgroundInfo/Components.rst b/doc/UsersGuide/BackgroundInfo/Components.rst index aaaf401fef..559576725d 100644 --- a/doc/UsersGuide/BackgroundInfo/Components.rst +++ b/doc/UsersGuide/BackgroundInfo/Components.rst @@ -22,7 +22,7 @@ UFS Preprocessing Utilities (UFS_UTILS) The SRW Application includes a number of pre-processing utilities (UFS_UTILS) that initialize and prepare the model. Since the SRW App provides forecast predictions over a limited area (rather than globally), these utilities generate a regional grid (``regional_esg_grid/make_hgrid``) along with :term:`orography` (``orog``) and surface climatology (``sfc_climo_gen``) files on that grid. Grids include a strip, or "halo," of six cells that surround the regional grid and feed in lateral boundary condition data. Since different grid and orography files require different numbers of :term:`halo` cells, additional utilities handle topography filtering and shave the number of halo points (based on downstream workflow component requirements). The pre-processing software :term:`chgres_cube` is used to convert the raw external model data into initial and lateral boundary condition files in :term:`netCDF` format. These are needed as input to the :term:`FV3` limited area model (:term:`LAM`). Additional information about the UFS pre-processing utilities can be found in the :doc:`UFS_UTILS Technical Documentation ` and in the `UFS_UTILS Scientific Documentation `__. -The SRW Application can be initialized from a range of operational initial condition files. It is possible to initialize the model from the Global Forecast System (:term:`GFS`), North American Mesoscale (:term:`NAM`) Forecast System, Rapid Refresh (:term:`RAP`), High-Resolution Rapid Refresh (:term:`HRRR`), Rapid Refresh Forecast System (:term:`RRFS`) files in Gridded Binary v2 (:term:`GRIB2`) format. GFS files also come in :term:`NEMSIO` format for past dates. +The SRW Application can be initialized from a range of operational initial condition files. It is possible to initialize the model from the Global Forecast System (:term:`GFS`), North American Mesoscale (:term:`NAM`) Forecast System, Rapid Refresh (:term:`RAP`), High-Resolution Rapid Refresh (:term:`HRRR`), and Rapid Refresh Forecast System (:term:`RRFS`) files in Gridded Binary v2 (:term:`GRIB2`) format. GFS files also come in :term:`NEMSIO` format for past dates. .. WARNING:: For GFS data, dates prior to 1 January 2018 may work but are not guaranteed. Public archives of model data can be accessed through the `NOAA Operational Model Archive and Distribution System `__ (NOMADS). Raw external model data may be pre-staged on disk by the user. diff --git a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst index b32eac0f66..4ca998cd0a 100644 --- a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst +++ b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst @@ -20,8 +20,8 @@ The external model files needed for initializing an experiment can be obtained i ways, including: * Pulled from the `SRW App Data Bucket `__, - * Pulled from the NOAA High Performance Storage System (:term:`HPSS`) during the workflow execution (requires user access), or - * Obtained and staged by the user from a different source, + * Pulled from the NOAA High Performance Storage System (:term:`HPSS`) during the workflow execution (requires user access), + * Obtained and staged by the user from a different source, or * Pulled from the `NOAA-RRFS AWS S3 bucket `__, a description could be found in `NOAA Rapid Refresh Forecast System (RRFS) `__. The data format for these files can be :term:`GRIB2` or :term:`NEMSIO`. More information on downloading and setting up the external model data can be found in :numref:`Section %s `. Once the data is set up, the end-to-end application will run the system and write output files to disk. @@ -274,7 +274,7 @@ The paths to ``EXTRN_MDL_SOURCE_BASEDIR_ICS`` and ``EXTRN_MDL_SOURCE_BASEDIR_LBC USE_USER_STAGED_EXTRN_FILES: true EXTRN_MDL_SOURCE_BASEDIR_LBCS: /path/to/ufs-srweather-app/input_model_data/FV3GFS/grib2/YYYYMMDDHH -The two ``EXTRN_MDL_SOURCE_BASEDIR_*CS`` variables describe where the :term:`IC ` and :term:`LBC ` file directories are located, respectively. For ease of reusing ``config.yaml`` across experiments, it is recommended that users set up the raw :term:`IC/LBC ` file paths to include the model name (e.g., FV3GFS, GEFS, GDAS, NAM, RAP, HRRR,RRFS), data format for (e.g., grib2, nemsio, netcdf), and date (in ``YYYYMMDDHH`` format). For example: ``/path/to/input_model_data/FV3GFS/grib2/2019061518/``. While there is flexibility to modify these settings, this structure will provide the most reusability for multiple dates when using the SRW Application workflow. +The two ``EXTRN_MDL_SOURCE_BASEDIR_*CS`` variables describe where the :term:`IC ` and :term:`LBC ` file directories are located, respectively. For ease of reusing ``config.yaml`` across experiments, it is recommended that users set up the raw :term:`IC/LBC ` file paths to include the model name (e.g., FV3GFS, GEFS, GDAS, NAM, RAP, HRRR, RRFS), data format (e.g., grib2, nemsio, netcdf), and date (in ``YYYYMMDDHH`` format). For example: ``/path/to/input_model_data/FV3GFS/grib2/2019061518/``. While there is flexibility to modify these settings, this structure will provide the most reusability for multiple dates when using the SRW Application workflow. When files are pulled from NOAA :term:`HPSS` (rather than downloaded from the data bucket), the naming convention looks something like this: From 70fc576541b17460c293bcce7716f5f7da38a87c Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 5 Sep 2024 22:08:27 +0000 Subject: [PATCH 10/25] use RRFS output data as ICS/LBCS by setting external_model=HRRR in exregional_make_ics.sh, exregional_make_lbcs.sh --- devbuild.sh | 13 ------------- scripts/exregional_make_ics.sh | 21 +-------------------- scripts/exregional_make_lbcs.sh | 7 +------ 3 files changed, 2 insertions(+), 39 deletions(-) diff --git a/devbuild.sh b/devbuild.sh index 7e2bdfc400..014fbdb3b7 100755 --- a/devbuild.sh +++ b/devbuild.sh @@ -265,19 +265,6 @@ if [ "${DEFAULT_BUILD}" = true ]; then BUILD_UPP="on" fi -# Allow the use of RRFS model output files remapped into CONUS 3-km grid as ICS/LBCS, -# before UFS_UTILS integrates use of native/full RRFS files -# Files could be retrieved from -# https://noaa-rrfs-pds.s3.amazonaws.com/rrfs_a/rrfs_a.{yyyymmdd}/{hh}/control/ -# in the format rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 -if [ "${BUILD_UFS_UTILS}" = "on" ]; then - os=$(uname) && SED=sed - test $os == Darwin && ( os=MacOSX && SED=gsed ) - echo "SED is ${SED}" - - CHGRES_CUBE=${SRW_DIR}/sorc/UFS_UTILS/sorc/chgres_cube.fd - ${SED} -i 's/"RAP","HRRR"/"RAP","HRRR","RRFS"/g' ${CHGRES_CUBE}/program_setup.F90 -fi # Choose components to build for air quality modeling (Online-CMAQ) if [ "${APPLICATION}" = "ATMAQ" ]; then if [ "${DEFAULT_BUILD}" = true ]; then diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index 97fc705810..debf526798 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -522,7 +522,7 @@ case "${EXTRN_MDL_NAME_ICS}" in tg3_from_soil=False ;; -"HRRR") +"HRRR"|"RRFS") external_model="HRRR" fn_grib2="${EXTRN_MDL_FNS[0]}" @@ -542,25 +542,6 @@ case "${EXTRN_MDL_NAME_ICS}" in convert_nst=False ;; -"RRFS") - external_model="RRFS" - fn_grib2="${EXTRN_MDL_FNS[0]}" - input_type="grib2" -# -# Path to the RRFS/HRRRX geogrid file. -# - geogrid_file_input_grid="${FIXgsm}/geo_em.d01.nc_HRRRX" -# Note that vgfrc, shdmin/shdmax (minmax_vgfrc), and lai fields are only available in HRRRX -# files after mid-July 2019, and only so long as the record order didn't change afterward - vgtyp_from_climo=True - sotyp_from_climo=True - vgfrc_from_climo=True - minmax_vgfrc_from_climo=True - lai_from_climo=True - tg3_from_soil=True - convert_nst=False - ;; - "RAP") external_model="RAP" fn_grib2="${EXTRN_MDL_FNS[0]}" diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index 207d585ab7..acbe97a56b 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -403,16 +403,11 @@ case "${EXTRN_MDL_NAME_LBCS}" in input_type="grib2" ;; -"HRRR") +"HRRR"|"RRFS") external_model="HRRR" input_type="grib2" ;; -"RRFS") - external_model="RRFS" - input_type="grib2" - ;; - "NAM") external_model="NAM" input_type="grib2" From 361a59cdd8867d34d22ba48eb1c627ad6eb6b942 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Fri, 6 Sep 2024 23:13:37 +0000 Subject: [PATCH 11/25] update scripts to process RRFS as ICS/LBCS --- scripts/exregional_make_ics.sh | 1 + ush/retrieve_data.py | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index debf526798..371053aac4 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -542,6 +542,7 @@ case "${EXTRN_MDL_NAME_ICS}" in convert_nst=False ;; + "RAP") external_model="RAP" fn_grib2="${EXTRN_MDL_FNS[0]}" diff --git a/ush/retrieve_data.py b/ush/retrieve_data.py index 5acf9d5ce9..079d80bd75 100755 --- a/ush/retrieve_data.py +++ b/ush/retrieve_data.py @@ -319,6 +319,21 @@ def get_file_templates(cla, known_data_info, data_store, use_cla_tmpl=False): if use_cla_tmpl: file_templates = cla.file_templates if cla.file_templates else file_templates +# nperlin 05/31/2024 diagnostics + msg = "Diagnostic prints in retrieve_data.py" + print(msg) + msg = f"cla is is {cla}!" + print(msg) + msg = f"cla.data_type is {cla.data_type}!" + print(msg) + msg = f"cla.file_fmt is {cla.file_fmt}!" + print(msg) + msg = f"cla.file_set is {cla.file_set}!" + print(msg) + msg = f"use_cla_tmpl is {use_cla_tmpl}!" + print(msg) + msg = f"cla.cycle_date is {cla.cycle_date}!" + print(msg) if isinstance(file_templates, dict): if cla.file_fmt is not None: From 07b8333c3898eecddbadf19651423d032db3c238 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 30 May 2024 15:15:48 +0000 Subject: [PATCH 12/25] Added an option for RRFS external model files as ICS and LBCS --- devbuild.sh | 13 +++++++++++++ scripts/exregional_make_ics.sh | 1 - scripts/exregional_make_lbcs.sh | 5 +++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/devbuild.sh b/devbuild.sh index 014fbdb3b7..7e2bdfc400 100755 --- a/devbuild.sh +++ b/devbuild.sh @@ -265,6 +265,19 @@ if [ "${DEFAULT_BUILD}" = true ]; then BUILD_UPP="on" fi +# Allow the use of RRFS model output files remapped into CONUS 3-km grid as ICS/LBCS, +# before UFS_UTILS integrates use of native/full RRFS files +# Files could be retrieved from +# https://noaa-rrfs-pds.s3.amazonaws.com/rrfs_a/rrfs_a.{yyyymmdd}/{hh}/control/ +# in the format rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 +if [ "${BUILD_UFS_UTILS}" = "on" ]; then + os=$(uname) && SED=sed + test $os == Darwin && ( os=MacOSX && SED=gsed ) + echo "SED is ${SED}" + + CHGRES_CUBE=${SRW_DIR}/sorc/UFS_UTILS/sorc/chgres_cube.fd + ${SED} -i 's/"RAP","HRRR"/"RAP","HRRR","RRFS"/g' ${CHGRES_CUBE}/program_setup.F90 +fi # Choose components to build for air quality modeling (Online-CMAQ) if [ "${APPLICATION}" = "ATMAQ" ]; then if [ "${DEFAULT_BUILD}" = true ]; then diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index 371053aac4..debf526798 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -542,7 +542,6 @@ case "${EXTRN_MDL_NAME_ICS}" in convert_nst=False ;; - "RAP") external_model="RAP" fn_grib2="${EXTRN_MDL_FNS[0]}" diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index acbe97a56b..dc6417562e 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -408,6 +408,11 @@ case "${EXTRN_MDL_NAME_LBCS}" in input_type="grib2" ;; +"RRFS") + external_model="RRFS" + input_type="grib2" + ;; + "NAM") external_model="NAM" input_type="grib2" From cd2b1fbec58ac48c0848c4e18a3c456aecb1d3fd Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 13 Jun 2024 05:31:20 +0000 Subject: [PATCH 13/25] add RRFS expected data source for ICS/LBCS, in parm/data_locations.yml, add a new test for RRFS ICS/LBCS --- parm/wflow/plot.yaml | 4 ++-- ...UScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/parm/wflow/plot.yaml b/parm/wflow/plot.yaml index f4996c198f..1cb4e14799 100644 --- a/parm/wflow/plot.yaml +++ b/parm/wflow/plot.yaml @@ -19,10 +19,10 @@ default_task_plot: &default_task nprocs: '{{ parent.nnodes * parent.ppn }}' join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;' native: '{{ platform.SCHED_NATIVE_CMD }}' - nnodes: 2 nodes: '{{ nnodes }}:ppn={{ ppn }}' - partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' + nnodes: 2 ppn: 24 + partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' queue: '&QUEUE_DEFAULT;' walltime: 01:00:00 diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index 8826f7271b..7a80b5a078 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -6,6 +6,8 @@ metadata: ICs and LBCs. This test uses old v1 sfc_data, not the v2 fractional grid sfc_data. user: RUN_ENVIR: community +platform: + EXTRN_MDL_DATA_STORES: aws workflow: CCPP_PHYS_SUITE: FV3_RRFS_v1beta PREDEF_GRID_NAME: RRFS_CONUScompact_25km @@ -16,12 +18,12 @@ workflow: task_get_extrn_ics: EXTRN_MDL_NAME_ICS: RRFS FV3GFS_FILE_FMT_ICS: grib2 - USE_USER_STAGED_EXTRN_FILES: true + USE_USER_STAGED_EXTRN_FILES: false task_get_extrn_lbcs: EXTRN_MDL_NAME_LBCS: RRFS LBC_SPEC_INTVL_HRS: 1 FV3GFS_FILE_FMT_LBCS: grib2 - USE_USER_STAGED_EXTRN_FILES: true + USE_USER_STAGED_EXTRN_FILES: false task_plot_allvars: COMOUT_REF: "" global: From e41e622458481fb224ba82e432eb8a0587cb14e6 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 20 Jun 2024 17:12:28 +0000 Subject: [PATCH 14/25] adding a new test grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta for RRFS functionality --- parm/wflow/plot.yaml | 4 ++-- ...ONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/parm/wflow/plot.yaml b/parm/wflow/plot.yaml index 1cb4e14799..f4996c198f 100644 --- a/parm/wflow/plot.yaml +++ b/parm/wflow/plot.yaml @@ -19,10 +19,10 @@ default_task_plot: &default_task nprocs: '{{ parent.nnodes * parent.ppn }}' join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;' native: '{{ platform.SCHED_NATIVE_CMD }}' - nodes: '{{ nnodes }}:ppn={{ ppn }}' nnodes: 2 - ppn: 24 + nodes: '{{ nnodes }}:ppn={{ ppn }}' partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' + ppn: 24 queue: '&QUEUE_DEFAULT;' walltime: 01:00:00 diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index 7a80b5a078..962d83b66e 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -13,7 +13,7 @@ workflow: PREDEF_GRID_NAME: RRFS_CONUScompact_25km DATE_FIRST_CYCL: '2024060517' DATE_LAST_CYCL: '2024060517' - FCST_LEN_HRS: 3 + FCST_LEN_HRS: 9 PREEXISTING_DIR_METHOD: rename task_get_extrn_ics: EXTRN_MDL_NAME_ICS: RRFS From 5ab710c52dea2298ea869709f8a3e9bb4987903b Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Mon, 24 Jun 2024 15:40:59 -0400 Subject: [PATCH 15/25] Update retrieve_data.py removed debugging diagnostics --- ush/retrieve_data.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/ush/retrieve_data.py b/ush/retrieve_data.py index 079d80bd75..5acf9d5ce9 100755 --- a/ush/retrieve_data.py +++ b/ush/retrieve_data.py @@ -319,21 +319,6 @@ def get_file_templates(cla, known_data_info, data_store, use_cla_tmpl=False): if use_cla_tmpl: file_templates = cla.file_templates if cla.file_templates else file_templates -# nperlin 05/31/2024 diagnostics - msg = "Diagnostic prints in retrieve_data.py" - print(msg) - msg = f"cla is is {cla}!" - print(msg) - msg = f"cla.data_type is {cla.data_type}!" - print(msg) - msg = f"cla.file_fmt is {cla.file_fmt}!" - print(msg) - msg = f"cla.file_set is {cla.file_set}!" - print(msg) - msg = f"use_cla_tmpl is {use_cla_tmpl}!" - print(msg) - msg = f"cla.cycle_date is {cla.cycle_date}!" - print(msg) if isinstance(file_templates, dict): if cla.file_fmt is not None: From e1fd4d6c52a631c533dcd3e4f5d69423920bf92f Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Tue, 25 Jun 2024 14:54:01 +0000 Subject: [PATCH 16/25] reduce ensemble size and forecast period for a new test with RRFS ICS/LBCS --- ..._CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index 962d83b66e..7a80b5a078 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -13,7 +13,7 @@ workflow: PREDEF_GRID_NAME: RRFS_CONUScompact_25km DATE_FIRST_CYCL: '2024060517' DATE_LAST_CYCL: '2024060517' - FCST_LEN_HRS: 9 + FCST_LEN_HRS: 3 PREEXISTING_DIR_METHOD: rename task_get_extrn_ics: EXTRN_MDL_NAME_ICS: RRFS From 14dbabf053ab27942e92ca2d47f8ec0c9d1a2994 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Thu, 5 Sep 2024 22:35:51 +0000 Subject: [PATCH 17/25] Update doc filedoc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst --- doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst index 4ca998cd0a..afb399dac5 100644 --- a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst +++ b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst @@ -355,7 +355,7 @@ AWS S3 Data Buckets: * GDAS: https://registry.opendata.aws/noaa-gfs-bdp-pds/ * HRRR: https://registry.opendata.aws/noaa-hrrr-pds/ (necessary fields for initializing available for dates 2015 and newer) * A list of the NOAA Open Data Dissemination (NODD) datasets can be found here: https://www.noaa.gov/nodd/datasets -* RRFS - experimental data is available starting 02/01/2024 for deteministic forecasts out to 60 hours at 00, 06, 12, and 18 UTC, and out to 18 hours for other cycles. Earlier dates, from 05/01/2023 to 01/31/2024, may contain only forecasts at 00, 06, 12, 18 UTC; user needs to verify that data exist for needed dates. +* RRFS - experimental data is available starting 02/01/2024 for deteministic forecasts starting hourly. Forecast data are available out to 60 hours for 00, 06, 12, and 18 UTC starting times (cycles), and out to 18 hours for other cycles. Earlier dates, from 05/01/2023 to 01/31/2024, may contain only forecasts at 00, 06, 12, 18 UTC; user needs to verify that data exist for needed dates. https://noaa-rrfs-pds.s3.amazonaws.com/index.html#rrfs_a/ NCEI Archive: From e5664d400ee405fd3b6e45615dafb16e5550282e Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Fri, 6 Sep 2024 15:15:42 +0000 Subject: [PATCH 18/25] corrections to exregional_make_ics.sh, exregional_make_ics.sh --- scripts/exregional_make_lbcs.sh | 5 ----- 1 file changed, 5 deletions(-) diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index dc6417562e..acbe97a56b 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -408,11 +408,6 @@ case "${EXTRN_MDL_NAME_LBCS}" in input_type="grib2" ;; -"RRFS") - external_model="RRFS" - input_type="grib2" - ;; - "NAM") external_model="NAM" input_type="grib2" From fca4e09cf7a6f41fd6c84db0f09c943abd7e13b3 Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Fri, 6 Sep 2024 18:14:35 +0000 Subject: [PATCH 19/25] New test for use of RRFS as ICS/LBCS has been left in coverage.orion test suite, among other coverage tests --- tests/WE2E/machine_suites/coverage.cheyenne | 1 - tests/WE2E/machine_suites/coverage.derecho | 1 - tests/WE2E/machine_suites/coverage.gaea | 1 - tests/WE2E/machine_suites/coverage.hera.gnu.com | 1 - tests/WE2E/machine_suites/coverage.hera.intel.nco | 1 - tests/WE2E/machine_suites/coverage.jet | 1 - 6 files changed, 6 deletions(-) diff --git a/tests/WE2E/machine_suites/coverage.cheyenne b/tests/WE2E/machine_suites/coverage.cheyenne index 95cebec1c9..8f3c3ec78c 100644 --- a/tests/WE2E/machine_suites/coverage.cheyenne +++ b/tests/WE2E/machine_suites/coverage.cheyenne @@ -3,7 +3,6 @@ grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot grid_RRFS_CONUS_25km_ics_NAM_lbcs_NAM_suite_GFS_v16 grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta -grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_HRRR_lbcs_HRRR_suite_HRRR pregen_grid_orog_sfc_climo specify_template_filenames diff --git a/tests/WE2E/machine_suites/coverage.derecho b/tests/WE2E/machine_suites/coverage.derecho index e1488343ea..a948c76033 100644 --- a/tests/WE2E/machine_suites/coverage.derecho +++ b/tests/WE2E/machine_suites/coverage.derecho @@ -3,7 +3,6 @@ grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot grid_RRFS_CONUS_25km_ics_NAM_lbcs_NAM_suite_GFS_v16 grid_RRFS_CONUScompact_13km_ics_HRRR_lbcs_RAP_suite_HRRR grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta -grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_HRRR_lbcs_HRRR_suite_HRRR pregen_grid_orog_sfc_climo specify_template_filenames diff --git a/tests/WE2E/machine_suites/coverage.gaea b/tests/WE2E/machine_suites/coverage.gaea index 237c464c4d..970fdf4086 100644 --- a/tests/WE2E/machine_suites/coverage.gaea +++ b/tests/WE2E/machine_suites/coverage.gaea @@ -5,7 +5,6 @@ grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_RAP grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_HRRR grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15_thompson_mynn_lam3km grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_HRRR_suite_HRRR -grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_RAP_lbcs_RAP_suite_RRFS_v1beta_plot 2020_CAPE diff --git a/tests/WE2E/machine_suites/coverage.hera.gnu.com b/tests/WE2E/machine_suites/coverage.hera.gnu.com index 8387f7e625..c2018a6e78 100644 --- a/tests/WE2E/machine_suites/coverage.hera.gnu.com +++ b/tests/WE2E/machine_suites/coverage.hera.gnu.com @@ -3,7 +3,6 @@ get_from_HPSS_ics_FV3GFS_lbcs_FV3GFS_fmt_nemsio_2019061200 get_from_NOMADS_ics_FV3GFS_lbcs_FV3GFS grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_HRRR grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_RRFS_v1beta -grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta grid_SUBCONUS_Ind_3km_ics_HRRR_lbcs_RAP_suite_WoFS_v0 long_fcst MET_verification_only_vx diff --git a/tests/WE2E/machine_suites/coverage.hera.intel.nco b/tests/WE2E/machine_suites/coverage.hera.intel.nco index d33ea69dfe..d5ab0d6fe8 100644 --- a/tests/WE2E/machine_suites/coverage.hera.intel.nco +++ b/tests/WE2E/machine_suites/coverage.hera.intel.nco @@ -9,5 +9,4 @@ grid_RRFS_CONUS_25km_ics_GSMGFS_lbcs_GSMGFS_suite_GFS_v15p2 grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2 grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16 grid_RRFS_CONUScompact_3km_ics_HRRR_lbcs_RAP_suite_HRRR -grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta pregen_grid_orog_sfc_climo diff --git a/tests/WE2E/machine_suites/coverage.jet b/tests/WE2E/machine_suites/coverage.jet index cf4e7eaf15..53308090b1 100644 --- a/tests/WE2E/machine_suites/coverage.jet +++ b/tests/WE2E/machine_suites/coverage.jet @@ -9,4 +9,3 @@ grid_RRFS_AK_3km_ics_FV3GFS_lbcs_FV3GFS_suite_HRRR grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2 grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_RRFS_v1beta -grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta From d5327776120149a567d3a6a45b2cd09e125aa302 Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Fri, 6 Sep 2024 13:54:56 -0400 Subject: [PATCH 20/25] Update parm/wflow/plot.yaml to have nnodes=1 Co-authored-by: Michael Lueken <63728921+MichaelLueken@users.noreply.github.com> --- parm/wflow/plot.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/wflow/plot.yaml b/parm/wflow/plot.yaml index f4996c198f..df7d1bed73 100644 --- a/parm/wflow/plot.yaml +++ b/parm/wflow/plot.yaml @@ -19,7 +19,7 @@ default_task_plot: &default_task nprocs: '{{ parent.nnodes * parent.ppn }}' join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;' native: '{{ platform.SCHED_NATIVE_CMD }}' - nnodes: 2 + nnodes: 1 nodes: '{{ nnodes }}:ppn={{ ppn }}' partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}' ppn: 24 From b72e6616494ca9de253cb85313981d145039e99a Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Sat, 7 Sep 2024 00:01:59 +0000 Subject: [PATCH 21/25] restore devbuild.sh to commit 83f173c4 from the PR#1100 --- devbuild.sh | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/devbuild.sh b/devbuild.sh index 7e2bdfc400..014fbdb3b7 100755 --- a/devbuild.sh +++ b/devbuild.sh @@ -265,19 +265,6 @@ if [ "${DEFAULT_BUILD}" = true ]; then BUILD_UPP="on" fi -# Allow the use of RRFS model output files remapped into CONUS 3-km grid as ICS/LBCS, -# before UFS_UTILS integrates use of native/full RRFS files -# Files could be retrieved from -# https://noaa-rrfs-pds.s3.amazonaws.com/rrfs_a/rrfs_a.{yyyymmdd}/{hh}/control/ -# in the format rrfs.t{hh}z.prslev.f{fcst_hr:03d}.conus_3km.grib2 -if [ "${BUILD_UFS_UTILS}" = "on" ]; then - os=$(uname) && SED=sed - test $os == Darwin && ( os=MacOSX && SED=gsed ) - echo "SED is ${SED}" - - CHGRES_CUBE=${SRW_DIR}/sorc/UFS_UTILS/sorc/chgres_cube.fd - ${SED} -i 's/"RAP","HRRR"/"RAP","HRRR","RRFS"/g' ${CHGRES_CUBE}/program_setup.F90 -fi # Choose components to build for air quality modeling (Online-CMAQ) if [ "${APPLICATION}" = "ATMAQ" ]; then if [ "${DEFAULT_BUILD}" = true ]; then From bc9d731319ea79028385a6d0cc8affeccf48cd9f Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Fri, 6 Sep 2024 20:14:47 -0400 Subject: [PATCH 22/25] Apply suggestions from code review Updating the documentations files per Gillian Petro's suggestions Co-authored-by: Gillian Petro <96886803+gspetro-NOAA@users.noreply.github.com> --- doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst | 2 +- doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst index afb399dac5..bf24055de4 100644 --- a/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst +++ b/doc/UsersGuide/CustomizingTheWorkflow/InputOutputFiles.rst @@ -22,7 +22,7 @@ ways, including: * Pulled from the `SRW App Data Bucket `__, * Pulled from the NOAA High Performance Storage System (:term:`HPSS`) during the workflow execution (requires user access), * Obtained and staged by the user from a different source, or - * Pulled from the `NOAA-RRFS AWS S3 bucket `__, a description could be found in `NOAA Rapid Refresh Forecast System (RRFS) `__. + * Pulled from the `RRFS data bucket (rrfs_a data) `_. The data format for these files can be :term:`GRIB2` or :term:`NEMSIO`. More information on downloading and setting up the external model data can be found in :numref:`Section %s `. Once the data is set up, the end-to-end application will run the system and write output files to disk. diff --git a/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst b/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst index fcaccc4364..482caf8590 100644 --- a/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst +++ b/doc/UsersGuide/CustomizingTheWorkflow/LAMGrids.rst @@ -75,7 +75,7 @@ The 3-km CONUS domain is ideal for running the ``FV3_RRFS_v1beta`` physics suite The boundary of the ``RRFS_CONUS_3km`` domain is shown in :numref:`Figure %s ` (in red), and the boundary of the :ref:`write component grid ` sits just inside the computational domain (in blue). This extra grid is required because the post-processing utility (:term:`UPP`) is unable to process data on the native FV3 gnomonic grid (in red). Therefore, model data are interpolated to a Lambert conformal grid (the write component grid) in order for the :term:`UPP` to read in and correctly process the data. .. note:: - While it is possible to initialize the FV3-LAM with coarser external model data when using the ``RRFS_CONUS_3km`` domain, it is generally advised to use external model data (such as HRRR, RRFS or RAP data) that has a resolution similar to that of the native FV3-LAM (predefined) grid. + While it is possible to initialize the FV3-LAM with coarser external model data when using the ``RRFS_CONUS_3km`` domain, it is generally advised to use external model data (such as HRRR, RRFS, or RAP data) that has a resolution similar to that of the native FV3-LAM (predefined) grid. Predefined SUBCONUS Grid Over Indianapolis From 8d62da632aeff37b5d536fe61edb446961ea6f47 Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Mon, 9 Sep 2024 17:47:48 -0400 Subject: [PATCH 23/25] Update doc/UsersGuide/Reference/Glossary.rst Updating a description for RRFS data available from the AWS S3 NOAA-RRFS bucket Co-authored-by: Christina Holt <56881914+christinaholtNOAA@users.noreply.github.com> --- doc/UsersGuide/Reference/Glossary.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/UsersGuide/Reference/Glossary.rst b/doc/UsersGuide/Reference/Glossary.rst index 50d8658c13..2612d4fbe8 100644 --- a/doc/UsersGuide/Reference/Glossary.rst +++ b/doc/UsersGuide/Reference/Glossary.rst @@ -227,7 +227,7 @@ Glossary A central location in which files (e.g., data, code, documentation) are stored and managed. RRFS - The `Rapid Refresh Forecast System `__ (RRFS) is NOAA's next-generation convection-allowing, rapidly-updated, ensemble-based data assimilation and forecasting system currently scheduled for operational implementation in 2024. It is designed to run forecasts on a 3-km :term:`CONUS` domain, see also `NOAA Rapid Refresh Forecast System (RRFS) `__. Experimental data for is currently available from the `AWS S3 NOAA-RRFS `__ bucket starting 02/01/2024 for deteministic forecasts out to 60 hours at 00, 06, 12, and 18 UTC, and out to 18 hours for other cycles. Earlier dates, from 05/01/2023 to 01/31/2024, may contain only forecasts at 00, 06, 12, 18 UTC; user needs to verify that data exist for needed dates. + The `Rapid Refresh Forecast System `__ (RRFS) is NOAA's next-generation convection-allowing, rapidly-updated, ensemble-based data assimilation and forecasting system currently scheduled for operational implementation in 2024. It is designed to run forecasts on a 3-km :term:`CONUS` domain, see also `NOAA Rapid Refresh Forecast System (RRFS) `__. Experimental data is currently available from the `AWS S3 NOAA-RRFS `__ bucket for deterministic forecasts out to 60 hours at 00, 06, 12, and 18 UTC. Additionally, hourly forecasts out to 18 hours may be available for more recent RRFS model runs; the user needs to verify that data exists for needed dates. SDF From 37544992a8f427407ad48a2ba29a68c3076fbe9a Mon Sep 17 00:00:00 2001 From: Natalie Perlin Date: Mon, 9 Sep 2024 17:08:55 -0500 Subject: [PATCH 24/25] Changes in documentation on RRFS data availability on AWS S3 NOAA-RRFS bucket; use staged data for the new test with RRFS as ICS/LBCS --- devclean.sh | 2 +- doc/UsersGuide/BuildingRunningTesting/RunSRW.rst | 6 +++--- parm/wflow/plot.yaml | 1 + ...compact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 8 +++----- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/devclean.sh b/devclean.sh index 6cd9bed11f..b26988dd93 100755 --- a/devclean.sh +++ b/devclean.sh @@ -24,7 +24,7 @@ OPTIONS directory rather than "exec". Has no effect if \`-b\` is not specified. -f, --force Remove directories as requested, without asking for user confirmation of their deletion. - -s, -sub-modules + -s, --sub-modules Remove sub-module directories. They need to be checked out again by sourcing "\${SRW_DIR}/manage_externals/checkout_externals" before attempting subsequent builds -v, --verbose Provide more verbose output diff --git a/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst b/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst index 8350f4201a..b9471acd69 100644 --- a/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst +++ b/doc/UsersGuide/BuildingRunningTesting/RunSRW.rst @@ -547,9 +547,9 @@ The ``data:`` section of the machine file can point to various data sources that nemsio: /Users/username/DATA/UFS/FV3GFS/nemsio grib2: /Users/username/DATA/UFS/FV3GFS/grib2 netcdf: /Users/username/DATA/UFS/FV3GFS/netcdf - RAP: /Users/username/DATA/UFS/RAP - HRRR: /Users/username/DATA/UFS/HRRR - RRFS: /Users/username/DATA/UFS/RRFS + RAP: /Users/username/DATA/UFS/RAP/grib2 + HRRR: /Users/username/DATA/UFS/HRRR/grib2 + RRFS: /Users/username/DATA/UFS/RRFS/grib2 This can be helpful when conducting multiple experiments with different types of data. diff --git a/parm/wflow/plot.yaml b/parm/wflow/plot.yaml index df7d1bed73..8448bc3f9e 100644 --- a/parm/wflow/plot.yaml +++ b/parm/wflow/plot.yaml @@ -53,3 +53,4 @@ metatask_plot_allvars: taskdep: attrs: task: run_post_mem#mem#_f#fhr# + diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index 7a80b5a078..d52a329b45 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -6,8 +6,6 @@ metadata: ICs and LBCs. This test uses old v1 sfc_data, not the v2 fractional grid sfc_data. user: RUN_ENVIR: community -platform: - EXTRN_MDL_DATA_STORES: aws workflow: CCPP_PHYS_SUITE: FV3_RRFS_v1beta PREDEF_GRID_NAME: RRFS_CONUScompact_25km @@ -18,16 +16,16 @@ workflow: task_get_extrn_ics: EXTRN_MDL_NAME_ICS: RRFS FV3GFS_FILE_FMT_ICS: grib2 - USE_USER_STAGED_EXTRN_FILES: false + USE_USER_STAGED_EXTRN_FILES: true task_get_extrn_lbcs: EXTRN_MDL_NAME_LBCS: RRFS LBC_SPEC_INTVL_HRS: 1 FV3GFS_FILE_FMT_LBCS: grib2 - USE_USER_STAGED_EXTRN_FILES: false + USE_USER_STAGED_EXTRN_FILES: true task_plot_allvars: COMOUT_REF: "" global: - DO_ENSEMBLE: true + DO_ENSEMBLE: false NUM_ENS_MEMBERS: 2 rocoto: tasks: From d60a540c766fed50b54ce9dd873fb39ee7ccd5dd Mon Sep 17 00:00:00 2001 From: Natalie Perlin <68030316+natalie-perlin@users.noreply.github.com> Date: Tue, 10 Sep 2024 15:16:18 -0400 Subject: [PATCH 25/25] Update config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml Removing settings for "global" including ensemble size, from the new test with RRFS as ICS/LBCS --- ...CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml index d52a329b45..908b79dc43 100644 --- a/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml +++ b/tests/WE2E/test_configs/grids_extrn_mdls_suites_community/config.grid_RRFS_CONUScompact_25km_ics_RRFS_lbcs_RRFS_suite_RRFS_v1beta.yaml @@ -24,9 +24,6 @@ task_get_extrn_lbcs: USE_USER_STAGED_EXTRN_FILES: true task_plot_allvars: COMOUT_REF: "" -global: - DO_ENSEMBLE: false - NUM_ENS_MEMBERS: 2 rocoto: tasks: taskgroups: '{{ ["parm/wflow/prep.yaml", "parm/wflow/coldstart.yaml", "parm/wflow/post.yaml", "parm/wflow/plot.yaml"]|include }}'