-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release/rrfsv1.0 #497
Release/rrfsv1.0 #497
Conversation
I'm planning to add/update the ECF scripts tomorrow. Figured this could be submitted in advance as they are not involved in testing. |
Hi Marcel! I have cloned your fork and checked out branch |
@ShelleyMelchior-NOAA My fault: I used lower-case letters rather than upper-case to define EVAL_PERIOD. The fix I just pushed corrects that. Should be good to go |
Ah! OK! I was looking at it compared to develop. My mistake. |
I see corrections to the severe drivers. Do the radar drivers also need this correction? |
Yup, it does. 🤦♂️ |
Great! Things look much better. I'll let you expand the tarballs for review. COMOUT= ❗❗Go ahead and make the typo fix to the ecf scripts, too. |
dev/drivers/scripts/plots/cam/jevs_cam_radar_nbrctc_plots_last31days.sh
Outdated
Show resolved
Hide resolved
@ShelleyMelchior-NOAA The following jobs completed cleanly and output are as expected: The following are almost there, but I needed to bump up the ncpu: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this looks good, great work and conversation by all getting this PR ready. I had some questions, but I don't there anything that will hold up the PR. The comments are more so for my own clarification, as someone new to EVS.
In particular, I was curious about the differences in the firewx MODEL, MODELNAME nomenclature throughout the workflow.
@@ -138,7 +139,7 @@ fi | |||
#################################### | |||
if [ $VERIF_CASE = radar ] || [ $VERIF_CASE = severe ]; then | |||
$HOMEevs/scripts/${STEP}/${COMPONENT}/exevs_${COMPONENT}_${VERIF_CASE}_${STEP}.sh | |||
elif [ $MODELNAME = nam_firewxnest ]; then | |||
elif [ $MODELNAME = nam_firewxnest ] || [ $MODELNAME = rrfs_firewxnest ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The driver scripts and ecf scripts have the MODELNAME changed to firewxnest. Where do the nam_firewxnest and rrfs_firewxnest overwrite this in the jobcard, for example in JEVS_CAM_STATS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, MODELNAME is changed to "firewxnest", but only for the firewxnest plots job. For the two firewxnest stats jobs (nam_firewxnest and rrfs_firewxnest), the MODELNAME is set to "nam_firewxnest" and "rrfs_firewxnest" respectively. That's why in this JEVS_CAM_STATS J-job script, the MODELNAME is able to match with either name when firewx stats jobs are run.
In this PR, the nam_firewxnest plots job was expanded to include rrfs_firewxnest, so the MODELNAME was expanded to just "firewxnest". The nam_firewxnest stats job was not expanded, but an additional "rrfs_firewxnest" stats job was added.
@@ -26,7 +26,7 @@ export RUN_GRID2OBS_PLOTS="NO" | |||
#model_list: model names | |||
#model_stat_dir_list: directory path to model .stat files | |||
#model_file_format_list: file format of model files | |||
export model_list="NAM_FIREWXNEST" | |||
export model_list="NAM_FIREWXNEST, RRFS_FIREWXNEST" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar question as before, can you provide context as to why the MODELNAME is changed in the high level scripts to remove specific models, then added in other areas of the code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here, plots was expanded to include rrfs_firewxnest so that graphics include both nam_firewxnest and rrfs_firewxnest lines. Thus, "MODELNAME" was broadened from "nam_firewxnest" to "firewxnest", and then the list of models to plot was expanded to include rrfs_firewxnest.
@@ -77,7 +77,7 @@ set -x | |||
# Case type settings are used to check if settings are allowed. ** | |||
export VERIF_CASE="grid2obs" | |||
export VERIF_TYPE="conus_sfc" | |||
export MODELS="nam_firewxnest" | |||
export MODELS="nam_firewxnest, rrfs_firewxnest" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Similar question as above, just wondering the context here and the differences between the model strings used at different parts of the EVS workflow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll add here re: different model strings used at different parts of the EVS workflow: I'm not sure that "MODELNAME" is an NCO standard, but I believe it's an EVS standard; each job has a MODELNAME defined in the driver and ecf script. For plots jobs, this is often set to something like "cam" because multiple models are being plotted, whereas for stats this will usually be set to a single model (e.g., "hrrr"). Elsewhere in the code, other model lists like the one linked here exist to specify things like, what to plot, or what stats to look for before plotting.
I will re-run w/ the updated ncpu. |
@ShelleyMelchior-NOAA The final three jobs completed cleanly and output look normal: 👍 No other concerns about this PR from me! |
dev/drivers/scripts/plots/cam/jevs_cam_radar_nbrcnt_plots_last90days.sh
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR looks good and is approved for merge.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nproc was increase to 128 in the job specifications, but not further down on the driver script. In the log file for this job is the mpi/cfp command using only 64? If so we shouldn't request resources we aren't using. This seems to be common across the drivers so please check the others that don't match too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The header info here is outdated.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see the ouages of cpreq here. I thought it one of the EE2 reviews we removed uages of that. Not sure I remember the reason why. Am I remembering wrong? @AliciaBentley-NOAA @PerryShafran-NOAA @ShelleyMelchior-NOAA
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Header info here is outdated.
Lots of changes here, but will summarize here:
These all can be corrected and new PRs submitted if necessary so I will approve this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved but please see my comments here and in the PR conversation and submit new PRs if necessary to address concerns.
Pull Request Testing
This PR concerns changes in the EVS that are needed to run RRFS (det) verification.
NOTE: As it stands, no planned cam-specific EVSv2 changes have been applied to the new or edited scripts in this PR (e.g., added restart capabilities to firewxnest jobs, bugzilla fixes). However, top-level EVSv2 changes are included (e.g., version numbers, imports).
The jobs listed below have been running in the cron for three weeks. Output logs have been checked for the "check" keywords listed in the "(4) Verifying jobs" section below, and hits were investigated and corrected if needed. Output statistics were compared with ops output or rrfs-para output. The currently running jobs are clean.
Since EVS-RRFS will likely be implemented after EVSv2 is implemented, we only need to test the single EVSv2 configuration of each job.
(1) Set up jobs
• symlink the EVS_fix directory locally as "fix"
In all driver scripts...
• ... point all exports of "HOMEevs" to your EVS test directory
• ... change COMIN to my test directory (/lfs/h2/emc/vpppg/noscrub/marcel.caron/test/evs_release_rrfsv1.0/$NET/$evs_ver_2d)
• ... change COMOUT to your test COMOUT directory
• ... change DATAROOT to your test DATA root directory
• ... add the following line to developer settings:
export COMINrrfs=/lfs/h2/emc/ptmp/emc.lam/rrfs/${rrfs_ver}/prod
In stats and plots driver scripts...
• ... set SENDMAIL to "NO" (or adjust MAILTO)
(2) I recommend testing the following jobs:
The following jobs exist in develop, however I don't think they are being run operationally. Nevertheless, they have been updated for RRFS. I'll defer to code managers whether or not they should be tested and included in this PR.
[Total: 3 prep jobs; 12 stats jobs; 12 plots jobs]
(3) Running jobs
Most jobs need to be fed "vhr".
• Apart from the exceptions listed below, all driver scripts can be submitted using
qsub -v vhr=00 $driver
• For jevs_cam_severe_prep, use
qsub -v vhr=07 $driver
• For jevs_cam_rrfs_severe_stats, use
qsub -v vhr=08 $driver
• For jevs_cam_rrfs_grid2obs_stats, use
qsub -v vhr=02 $driver
• For jevs_cam_rrfs_precip_stats, use
qsub -v vhr=21,VDATE=$PDYm3 $driver
where$PDYm3
is set to three days before present• For jevs_cam_rrfs_precip_plots, use
qsub -v vhr=00,VDATE=$PDYm3 $driver
where$PDYm3
is set to three days before presentWhen to submit jobs:
• all prep jobs: on the valid day anytime after the "vhr" hour fed to the job scheduler.
• severe stats jobs: on the valid day anytime after the "vhr" hour fed to the job scheduler.
• all other jobs: anytime.
(4) Verifying jobs
Log files should be checked by the developer for the following keywords:
Additionally, output statistics, plot tar balls, and other major files should be compared to relevant archives (EVS parallel, RRFS routine verification, etc.).
Note: Some jobs encounter a METplus WARNING while computing VL1L2 statistics. Such instances are normal, and the issue is currently being addressed by DTC (dtcenter/MET#2395), by changing the message type from WARNING to a DEBUG.
Do these updates/additions include sufficient testing updates? [Yes]
Please complete this pull request review by See Note.
NOTE: Due to uncertainties in the RRFS and REFS timelines, I'll defer to code managers about the prioritization of this PR.
Pull Request Checklist
Review the source issue metadata (required labels, projects, and milestone).
Complete the PR description above.
Ensure the PR title matches the feature branch name.
Check the following:
Instructions provided on how to run
Developer's name is replaced by ${user} where necessary throughout the code
Check that the ecf file has all the proper definitions of variables
Check that the jobs file has all the proper settings of COMIN and COMOUT and other input variables
Check to see that the output directory structure is followed
Be sure that you are not using MET utilities outside the METplus wrapper structure
After submitting the PR, select Development issue with the original issue number.
After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
Close the linked issue.