Add fetch job and update stage_ic to work with fetched ICs#3141
Conversation
|
I am in the process of testing. |
|
To test my code, I ran create_experiment with the short yaml C48_ATM.yaml, (which created /scratch1/NCEPDEV/global/David.Grumm/G_WF_2988/testroot_1/EXPDIR and COMROOT) by : HPC_ACCOUNT="fv3-cpu" MY_TESTROOT="/scratch1/NCEPDEV/global/David.Grumm/G_WF_2988/testroot_1" RUNTESTS=${MY_TESTROOT} pslot="1306a_2988" ./create_experiment.py --yaml ../ci/cases/pr/C48_ATM.yaml … which completed without error or warning messages. From within that EXPDIR I ran rocotorun: … which completed without error or warning messages. There was also no output to stdout, which I did not expect as I had placed a few diagnostic prints in my code. I verified that I am my current branch. Runniing rocotostat gives me: CYCLE TASK JOBID STATE EXIT STATUS TRIES DURATION ======================================================================== I have 2 questions:
|
|
Rocoto is not a fully automated system. For each invocation of |
DavidHuber-NOAA
left a comment
There was a problem hiding this comment.
Just some whitespace cleanup (most of it mine).
|
I updated the crontab. |
|
Removed extraneous white space from fetch.py and recommitted; still testing. |
…com:DavidGrumm-NOAA/Global_Workflow_2988 into stage_ic_2988
|
I moved the fetch options to be in the run_options dict. |
…dd ci/cases/yamls/gfs_defaults_ci.yaml parm/config/gfs/config.base
…_2988' of github.com:DavidGrumm-NOAA/Global_Workflow_2988 into stage_ic_2988
|
I tried it - a nice, useful feature. However, I may not always want there
to be a new line at the end. So although it seems that I can turn off the
prompt (when saving) asking if I want to append a newline, I may then
forget that that would be the default. I will read up on this some more.
Thanks.
…On Fri, Jan 24, 2025 at 4:19 PM David Huber ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
On workflow/hosts/awspw.yaml
<#3141 (comment)>
:
Try adding this to your .emacs file:
(setq require-final-newline 1)
Then open, edit (add, then delete a character), and save the file. Lastly,
run xxd on one of the files and verify that the last hex byte is 0A. This
indicates that a new line was written at the end of the file.
—
Reply to this email directly, view it on GitHub
<#3141 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BKF4TU63STTAXYG5WL4WB332MKU7LAVCNFSM6AAAAABTCZFW46VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDKNZTGU4TGMZZGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Walter - After reconciling your comments with Dave Huber's, I think I have
made all of the agreed-upon changes from your review.
…On Thu, Jan 23, 2025 at 2:28 PM Walter Kolczynski - NOAA < ***@***.***> wrote:
***@***.**** requested changes on this pull request.
------------------------------
In ci/cases/yamls/gfs_defaults_ci.yaml
<#3141 (comment)>
:
> + FETCHDIR: "/NCEPDEV/emc-global/1year/David.Grumm/test_data"
+ DO_FETCH_HPSS: "YES"
I don't think we want to turn this on in CI tests.
------------------------------
In parm/config/gfs/config.base
<#3141 (comment)>
:
> +# TODO once tarballs are available for CI at other resolutions/start types, etc, remove this if block
+if [[ "${APP}" == "ATM" || "${APP}" == "S2SW" ]] && \
+ [[ "${EXP_WARM_START}" == ".false." && "${CASE}" == "C48" ]]; then
+ export ***@***.***_FETCH_HPSS@" # pull from HPSS ## 123124 DG change to YES, or next
+ export DO_FETCH_LOCAL="NO" # pull from local
+fi
I know this is temporary anyway, but I don't think it should be handled
here at all.
------------------------------
In parm/config/gfs/config.fetch
<#3141 (comment)>
:
> +# Get task specific resources
+source "${EXPDIR}/config.resources" fetch
To be consistent with other config files, sourcing resources should be
first.
------------------------------
In workflow/rocoto/gfs_tasks.py
<#3141 (comment)>
:
> @@ -29,6 +38,27 @@ def stage_ic(self):
'command': f'{self.HOMEgfs}/jobs/rocoto/stage_ic.sh',
'job_name': ***@***.***',
'log': ***@***.***@***@***@***.***/{task_name}.log',
+ 'maxtries': '&MAXTRIES;',
+ 'dependency': dependencies
+ }
+
+ task = rocoto.create_task(task_dict)
+
+ return task
+
+ def fetch(self):
Move this task def above stage_ic so they appear in the logical order.
------------------------------
In parm/fetch/gfs_S2SW_cold_forecast-only.yaml.j2
<#3141 (comment)>
:
> @@ -0,0 +1,37 @@
+{% set cycle_YMDH = current_cycle | to_YMDH %}
+{% set cycle_YMD = current_cycle | to_YMD %}
+{% set cycle_HH = current_cycle | strftime("%H") %}
+{% set p_cycle_YMD = previous_cycle | to_YMD %}
Can we please use 'previous_orprev_instead ofp_` for these varnames?
—
Reply to this email directly, view it on GitHub
<#3141 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BKF4TUZE62VLZ3P5AWYVTKD2ME7FDAVCNFSM6AAAAABTCZFW46VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDKNZQHAYDENBZG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
CI Passed on Hercules in Build# 1 |
DavidHuber-NOAA
left a comment
There was a problem hiding this comment.
Changes look good. Thanks @DavidGrumm-NOAA!!
* develop: Update GSI hash and GSI fix version to resolve bugs (NOAA-EMC#3626) Add missing marine DA files to archiving (NOAA-EMC#3596) Add a low resolution test to mimic GFSv17 cycling as much as possible (NOAA-EMC#3617) Add the setting to use the reject list for station t/q observations in GSI based soil DA (NOAA-EMC#3599) GitLab CI Framework for schedule PR cases and ctests on multi hosts (NOAA-EMC#3603) Avoid parallel restart I/O on WCOSS2 (NOAA-EMC#3615) Enables user toggling of GDASApp g-w ctests (NOAA-EMC#3587) COM variable updates for prep and some external downstream jobs (NOAA-EMC#3608) Remove MOS from system (NOAA-EMC#3612) Updates to enable soil DA (NOAA-EMC#3452) Unexport SHELLOPTS when running htar (NOAA-EMC#3601) Fix check for netcdf wave restart (NOAA-EMC#3594) Call err_chk/err_exit for fatal errors in post JJobs/ex-scripts (NOAA-EMC#3571) Remove support for Jet and S4 (NOAA-EMC#3572) Hotfix in GitLab pipline for Nightly (env MACHINE breaks build on head node) (NOAA-EMC#3578) [hotfix] Missed a path during merging develop (NOAA-EMC#3577) Prepare for ops readiness - part 1 (NOAA-EMC#3557) Update UFS weather-model to 20250328 hash (NOAA-EMC#3528) Fix SFS fcst config (NOAA-EMC#3574) Use err_chk in GDAS j-jobs (NOAA-EMC#3570) Perform compute builds on Gaea head nodes (NOAA-EMC#3560) Add initial capability to produce JEDI-based observation space summary stat files (NOAA-EMC#3471) Spread epos over more nodes on Hera to increase allocated memory (NOAA-EMC#3567) Create separate gists when multiple files are published on GitHub (NOAA-EMC#3551) Use err_chk in GSI J-Jobs and scripts (NOAA-EMC#3549) Add unified jinja obs list to marine DA (NOAA-EMC#3530) Save snow and aerosol analysis increments (and logs and YAMLs) every cycle (NOAA-EMC#3537) Add Dependencies to SFS Cleanup Job (NOAA-EMC#3559) Updates archiving to reflect current naming of marine anl output (NOAA-EMC#3541) Temporarily disable compute builds on C6 (NOAA-EMC#3558) Update gdas.cd hash to resolve msu prod_util failure (NOAA-EMC#3556) COMIN/COMOUT updates for enkf chgres and downstream product jobs (NOAA-EMC#3518) Call err_chk in forecast scripts for fatal errors (NOAA-EMC#3515) Add Rocoto Jobs for the Missing Products of GEFS (NOAA-EMC#3466) Download subset fix data with python script (NOAA-EMC#3400) Check that partition should be set (NOAA-EMC#3543) Rename wave output and refactor some wave scripts to use MPMD, and fix some bugzillas along the way (NOAA-EMC#3517) Add support for dual batch partitions on AWS NOAA-EMC#3483 Update CI build and run directories for GitLab Nightlies on C6 and added GitLab support on Hera (NOAA-EMC#3536) Hotfix path for CI in Jenkins on Gaea C6 to it's world-share path (NOAA-EMC#3532) Create single ocean grib2 product file (NOAA-EMC#3529) Scheduled Nightly CI/CD Pipeline Script in GitLab on Gaea C6 (NOAA-EMC#3493) make sure cold starts are handled correctly when DOIAU=YES (issue NOAA-EMC#3516) (NOAA-EMC#3520) Add check for DO_AERO_FCST before copying fv_tracer files (NOAA-EMC#3485) Use jinja templates instead of `@VARNAME@` in config files (NOAA-EMC#3411) Replace "status" (or comparable) with "err" in preparation for moving to err_chk/err_exit (NOAA-EMC#3507) Error in Java launch script for CI (NOAA-EMC#3465) Delete DATAROOT when running generate_workflows.sh (NOAA-EMC#3504) Fix 3244 garbled change (NOAA-EMC#3492) Enable ensemble archiving via Globus (NOAA-EMC#3479) Update MSU FIX_DIR paths (NOAA-EMC#3488) Updates for AOWCDA and hybatmaerosnowDA cases on Gaea C6 (NOAA-EMC#3487) Update GOCART path for GDAS/GFS/GCAFS implementations (NOAA-EMC#3455) Make RUN Variables Explicit in `config.resources` (NOAA-EMC#3478) Remove unused key from enkfgdas_earc_vrfy (NOAA-EMC#3473) Bug fix to the failing early cycle marine DA ensemble re-centering (NOAA-EMC#3454) Make marine LETKF optional (NOAA-EMC#3462) When sourcing for RUN=enkf*, use CASE_ENS (NOAA-EMC#3475) Updates for Gaea: verif-global tag, tracker tag, Fit2Obs tag, and C768 analysis resources (NOAA-EMC#3463) Update gefswave glo_025 mesh file with new mask (NOAA-EMC#3457) Update MSU glopara paths to new role-global space (NOAA-EMC#3443) Enable CI testing on AWS (NOAA-EMC#3459) Enable Gaea C5 Jenkins CI (NOAA-EMC#3447) Job reference removal from WMO product names (NOAA-EMC#3460) Turn off aerosol prognostic radiative feedback for GDAS NOAA-EMC#2926 (NOAA-EMC#3445) Add DO_GEMPAK check to postsnd subtask (NOAA-EMC#3451) Add a force option to setup_xml to ignore unwritable directories (NOAA-EMC#3448) Remove the eomg job (NOAA-EMC#3331) Migration to role account for Jenkins on Orion (NOAA-EMC#3440) Eliminate `_gfs`, `_gdas`, etc, variables and add necessary if blocks (NOAA-EMC#3420) Update workflow staging for sfcanl tiles and waveinit (NOAA-EMC#3429) Improve messaging to display clear warning when missing snogrb file (NOAA-EMC#3317) JEDI-based ensemble recentering and analysis calculation (NOAA-EMC#3312) Enable HPSS archiving on C5/6 (NOAA-EMC#3437) Check if HOMEDIR STMP and PTMP are writable (NOAA-EMC#3430) Update UFS_Utils and GFS-utils hashes to update Gaea support and ocean/ice post products (NOAA-EMC#3433) Enable C1152 forecasts on gaea C6 (NOAA-EMC#3438) Migration to role account for Jenkins on Hercules (NOAA-EMC#3423) Remove Direct Linking to COM from DATA for `extractvars` Job (NOAA-EMC#3379) Enable HPSS via Globus on Hercules and Orion Remove job name from product files & update GEMPAK module. (NOAA-EMC#3415) `link` instead of `copy` in staging jobs (NOAA-EMC#3410) Migrate CI Jenkins to role account on Hera (NOAA-EMC#3414) Add rocotorc documentation when using scrontab (NOAA-EMC#3417) Update jgdas atmos verfozn and verfrad with COMIN/COMOUT prefix instead of COM (NOAA-EMC#3342) Add configuration for empirically-corrected ozone parameters (NOAA-EMC#3386) Enable global-workflow to run C768C384 GSI on Gaea-C6 (NOAA-EMC#3412) Move logical checks into if blocks (NOAA-EMC#3339) Adding Jenkins CI to GaeaC6 using role account (NOAA-EMC#3389) Enable GDASApp g-w CI cases to run on wcoss2 (NOAA-EMC#3399) CI/CD Test on Gaea C5- And update config.gaea under ci/platform (NOAA-EMC#3280) Enable cycling support for Gaea C6 (NOAA-EMC#3323) Update enkf archive jobs to use COMIN/COMOUT (NOAA-EMC#3393) Copy marine ensemble output observation diags and spread (NOAA-EMC#3407) Ci testing on aws 2 (NOAA-EMC#3408) Disable METplus jobs on Hera (NOAA-EMC#3403) Add the mean EnKF soil increment to the deterministic member (NOAA-EMC#3295) Add mpich/8.1.19 to the WCOSS2 LD_LIBRARY_PATH for GDASApp jobs (NOAA-EMC#3396) Change order of RUNs (NOAA-EMC#3335) CI testing on aws (NOAA-EMC#3391) Rename Gulf of Mexico in bufr station list in GFSv17 (NOAA-EMC#3384) Enabling AWS CI/testing (NOAA-EMC#3383) Update issue templates to use new issue type field (NOAA-EMC#3369) Replace WAVECUR_DID variable with "rtofs" (NOAA-EMC#3337) Allow for C1152 ATM-Aero cycled DA to run on WCOSS2 (NOAA-EMC#3309) Remove Direct Linking to COM from DATA for `wavepostsbs` Job (NOAA-EMC#3303) Update jgdas enkf update job with COMIN or COMOUT prefix instead of COM (NOAA-EMC#3333) Add capability to run diff resolutions for marine anl and background (NOAA-EMC#3238) Update high resolution tests and fix minor wave issues (NOAA-EMC#3289) Add sfs as valid system (NOAA-EMC#3243) Add missing arch_tars dependencies (NOAA-EMC#3319) Fix the empty aerosol DA aerostat tar file issue (NOAA-EMC#3332) Add missing file safeguard for IMS prep in snow analysis tasks (NOAA-EMC#3329) Fix memory unsetting on Gaea (NOAA-EMC#3325) Fix error log parsing in compute build CI (NOAA-EMC#3301) Remove marineanlvrfy task from global-workflow (NOAA-EMC#3314) Add `gfs_wavepostpnt` dependencies to gfs_cleanup (NOAA-EMC#3313) Increase the GDASApp build wallclock (NOAA-EMC#3298) Capture build fail in Jenkins pipeline when no error logs are produced (NOAA-EMC#3297) Add/update config files for Gaea and check existence before sourcing config files in generate_workflows.sh (NOAA-EMC#3286) Fix ocean restarts when cold starting with DOIAU=YES (NOAA-EMC#3278) Splitting up the archive task (NOAA-EMC#3242) CTests extended validation for C48_ATM and staged C48_S2SW for gfs_fcst and gfs_atmos (NOAA-EMC#3256) Add esnowanl to enkfgfs cycle (NOAA-EMC#3283) Add gfs cycles to C48mx500_3DVarAOWCDA (NOAA-EMC#3249) Add fetch job and update stage_ic to work with fetched ICs (NOAA-EMC#3141) Remove WAFS files and references from `develop` (NOAA-EMC#3263) fix intel stack version number on c5 (NOAA-EMC#3258) Update gsi_monitor and ufs_utils hashes to recent hashes for C5/C6 build and run (NOAA-EMC#3252) Enable DA cycling on gaea C5/C6 (NOAA-EMC#3255) Copy post-processed sea ice increment for diagnostics (NOAA-EMC#3235)
Description
Most jobs require the initial conditions to be available on local disk. The existing “stage_ic” task copies/stages these initial condition into the experiment's COM directory. This PR for the “fetch” task extends that functionality to copy from HPSS (on HPSS-accessible machines) into COM.
Resolves #2988
Type of change
Change characteristics
How has this been tested?
Checklist