diff --git a/workflow/CROW b/workflow/CROW index 6065439cc6..2079a68118 160000 --- a/workflow/CROW +++ b/workflow/CROW @@ -1 +1 @@ -Subproject commit 6065439cc6bbffa61d5551dd8215877e3322d3e0 +Subproject commit 2079a681188ea49ad73f548de093216c828e8750 diff --git a/workflow/cases/aerosol_firex_forecast.yaml b/workflow/cases/aerosol_firex_forecast.yaml index 4a881d2592..ee8e96b8c7 100644 --- a/workflow/cases/aerosol_firex_forecast.yaml +++ b/workflow/cases/aerosol_firex_forecast.yaml @@ -11,10 +11,10 @@ case: settings: SDATE: 2019-07-01t00:00:00 EDATE: 2019-07-15t00:00:00 + STEP_GFS: !timedelta "24:00:00" + STEP_DA: !timedelta "00:00:00" max_job_tries: 1 - gfs_cyc: 1 - cplgocart: .true. print_esmf: .true. nems_temp: 'atm_aer' diff --git a/workflow/cases/aerosol_free_forecast.yaml b/workflow/cases/aerosol_free_forecast.yaml index 28923dd2c7..0c13067cfb 100644 --- a/workflow/cases/aerosol_free_forecast.yaml +++ b/workflow/cases/aerosol_free_forecast.yaml @@ -4,8 +4,11 @@ case: settings: SDATE: 2013-04-01t00:00:00 - EDATE: 2013-04-01t00:00:00 + EDATE: 2013-04-02t00:00:00 + STEP_GFS: !timedelta "24:00:00" + STEP_DA: !timedelta "00:00:00" max_job_tries: 1 + rocoto_cycle_throttle: 1 cplgocart: .true. print_esmf: .true. @@ -35,12 +38,12 @@ case: LEVS: 65 DELTIM: 450 layout: - x: 6 - y: 8 - nth: 1 - WGRP: 1 - WGRP_NTASKS: 24 - WRTIOBUF: "32M" + x: 6 + y: 8 + nth: 1 + WGRP: 1 + WGRP_NTASKS: 24 + WRTIOBUF: "32M" chem_settings: MOD: gsdchem @@ -55,3 +58,6 @@ case: post: downset: 2 GOESF: no + + archiving: + archive_to_hpss: False diff --git a/workflow/cases/atm_free_forecast.yaml b/workflow/cases/atm_free_forecast.yaml index 600e069044..719b6bda0f 100644 --- a/workflow/cases/atm_free_forecast.yaml +++ b/workflow/cases/atm_free_forecast.yaml @@ -6,6 +6,8 @@ case: settings: SDATE: 2013-04-01t00:00:00 EDATE: 2013-04-01t00:00:00 + STEP_GFS: !timedelta "24:00:00" + STEP_DA: !timedelta "00:00:00" cplflx: .false. print_esmf: .true. diff --git a/workflow/cases/coupled_free_forecast.yaml b/workflow/cases/coupled_free_forecast.yaml index 2e31e51a14..f7c6e0e39f 100644 --- a/workflow/cases/coupled_free_forecast.yaml +++ b/workflow/cases/coupled_free_forecast.yaml @@ -5,6 +5,8 @@ case: settings: SDATE: 2013-04-01t00:00:00 EDATE: 2013-04-01t00:00:00 + STEP_GFS: !timedelta "24:00:00" + STEP_DA: !timedelta "00:00:00" onestep: .true. cplmode: nems_frac diff --git a/workflow/cases/coupled_free_forecast_nofrac_wave.yaml b/workflow/cases/coupled_free_forecast_nofrac_wave.yaml index 161708b483..fca4453777 100644 --- a/workflow/cases/coupled_free_forecast_nofrac_wave.yaml +++ b/workflow/cases/coupled_free_forecast_nofrac_wave.yaml @@ -5,6 +5,8 @@ case: settings: SDATE: 2013-04-01t00:00:00 EDATE: 2013-04-01t00:00:00 + STEP_GFS: !timedelta "24:00:00" + STEP_DA: !timedelta "00:00:00" onestep: .true. cplmode: nems_orig diff --git a/workflow/cases/coupled_free_forecast_wave.yaml b/workflow/cases/coupled_free_forecast_wave.yaml index 72b96eee1e..acf39609da 100644 --- a/workflow/cases/coupled_free_forecast_wave.yaml +++ b/workflow/cases/coupled_free_forecast_wave.yaml @@ -5,6 +5,8 @@ case: settings: SDATE: 2013-04-01t00:00:00 EDATE: 2013-04-01t00:00:00 + STEP_GFS: !timedelta "24:00:00" + STEP_DA: !timedelta "00:00:00" onestep: .true. cplmode: nems_frac diff --git a/workflow/cases/dev/Run-From-HPSS-ICs.yaml b/workflow/cases/dev/Run-From-HPSS-ICs.yaml index 9627d778b6..88cb6d0bc6 100644 --- a/workflow/cases/dev/Run-From-HPSS-ICs.yaml +++ b/workflow/cases/dev/Run-From-HPSS-ICs.yaml @@ -57,10 +57,7 @@ case: # files instead. chgres_and_convert_ics: yes - # gfs_cyc: this setting is used in a full data assimilation cycled - # workflow to only run the GFS every N cycles. Keep this at "4" to - # ensure it is run every cycle. - gfs_cyc: 4 + STEP_GFS: !timedelta "06:00:00" places: # workflow_file: which workflow we're running. This specifies the diff --git a/workflow/cases/dev/ecrealtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml b/workflow/cases/dev/ecrealtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml index 0541c3cf45..a46525e4c6 100644 --- a/workflow/cases/dev/ecrealtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml +++ b/workflow/cases/dev/ecrealtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml @@ -136,5 +136,5 @@ case: EDATE: 2018-08-30t18:00:00 chgres_and_convert_ics: No realtime: true - gfs_cyc: 4 + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/dev/four_cycle_mode_prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml b/workflow/cases/dev/four_cycle_mode_prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml index d25582577d..0b010d8c63 100644 --- a/workflow/cases/dev/four_cycle_mode_prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml +++ b/workflow/cases/dev/four_cycle_mode_prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml @@ -141,7 +141,7 @@ case: EDATE: 2018-08-10t18:00:00 chgres_and_convert_ics: No realtime: true - gfs_cyc: 4 + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes schedvar: diff --git a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM-Dell.yaml b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM-Dell.yaml index a3f89871f3..b52f5a67fc 100644 --- a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM-Dell.yaml +++ b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM-Dell.yaml @@ -134,5 +134,5 @@ case: EDATE: 2016-04-18t12:00:00 chgres_and_convert_ics: No realtime: false - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM.yaml b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM.yaml index 3ba368393e..46a5a72e9c 100644 --- a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM.yaml +++ b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM.yaml @@ -172,5 +172,5 @@ case: EDATE: 2016-05-31t18:00:00 chgres_and_convert_ics: No realtime: false - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_fixed.yaml b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_fixed.yaml index 7783972108..5110e6d35d 100644 --- a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_fixed.yaml +++ b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_fixed.yaml @@ -186,5 +186,5 @@ case: EDATE: 2016-02-14t12:00:00 chgres_and_convert_ics: No realtime: false - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_whatever.yaml b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_whatever.yaml index 32964f0caf..baba21188e 100644 --- a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_whatever.yaml +++ b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ENKF@384+80MEM_whatever.yaml @@ -186,5 +186,5 @@ case: EDATE: 2016-02-14t12:00:00 chgres_and_convert_ics: No realtime: false - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ff_fixed.yaml b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ff_fixed.yaml index 59a6780d4e..ff649c4940 100644 --- a/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ff_fixed.yaml +++ b/workflow/cases/dev/fv3q2fy19retro5-GFS@C768_ff_fixed.yaml @@ -95,5 +95,6 @@ case: EDATE: 2016-02-14t12:00:00 chgres_and_convert_ics: No realtime: false - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" + STEP_DA: !timedelta "00:00:00" run_gsi: No diff --git a/workflow/cases/dev/gaea-test.yaml b/workflow/cases/dev/gaea-test.yaml index f59cb6275f..323f51472a 100644 --- a/workflow/cases/dev/gaea-test.yaml +++ b/workflow/cases/dev/gaea-test.yaml @@ -21,5 +21,5 @@ case: SDATE: 2015-11-26t00:00:00 EDATE: 2015-11-26t00:00:00 realtime: false - gfs_cyc: 4 # run gfs four cycles a day + STEP_GFS: !timedelta "06:00:00" run_gsi: No # disable data assimilation diff --git a/workflow/cases/dev/lowrsecf@C384.yaml b/workflow/cases/dev/lowrsecf@C384.yaml index 4ee8f3697f..7beb035b03 100644 --- a/workflow/cases/dev/lowrsecf@C384.yaml +++ b/workflow/cases/dev/lowrsecf@C384.yaml @@ -31,7 +31,7 @@ case: EDATE: 2018-05-31t12:00:00 chgres_and_convert_ics: No REALTIME: true - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: YES post: diff --git a/workflow/cases/dev/merge2dell_baseline.yaml b/workflow/cases/dev/merge2dell_baseline.yaml index 39641f897e..0a82133dbe 100644 --- a/workflow/cases/dev/merge2dell_baseline.yaml +++ b/workflow/cases/dev/merge2dell_baseline.yaml @@ -139,7 +139,7 @@ case: EDATE: 2018-11-26t12:00:00 chgres_and_convert_ics: No realtime: true - gfs_cyc: 4 + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes schedvar: diff --git a/workflow/cases/dev/merge2jet_baseline.yaml b/workflow/cases/dev/merge2jet_baseline.yaml index 4a4ba71afa..1004738f32 100644 --- a/workflow/cases/dev/merge2jet_baseline.yaml +++ b/workflow/cases/dev/merge2jet_baseline.yaml @@ -181,5 +181,5 @@ case: EDATE: 2019-05-02t00:00:00 chgres_and_convert_ics: No realtime: false - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/dev/nco.yaml b/workflow/cases/dev/nco.yaml index 9d1d855acc..8fcb0195fd 100644 --- a/workflow/cases/dev/nco.yaml +++ b/workflow/cases/dev/nco.yaml @@ -136,7 +136,7 @@ case: EDATE: 2018-09-22t06:00:00 chgres_and_convert_ics: No realtime: true - gfs_cyc: 4 + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes schedvar: diff --git a/workflow/cases/dev/parallel@768_ENKF@384+80MEM.yaml b/workflow/cases/dev/parallel@768_ENKF@384+80MEM.yaml index e3eba3ceeb..25e0a76489 100644 --- a/workflow/cases/dev/parallel@768_ENKF@384+80MEM.yaml +++ b/workflow/cases/dev/parallel@768_ENKF@384+80MEM.yaml @@ -34,7 +34,7 @@ case: IC_CDUMP: gdas # Get initial conditions from 1st cycle from GFS or GDAS SDATE: 2018-05-03t00:00:00 EDATE: 2018-05-03t18:00:00 - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes chgres_and_convert_ics: No diff --git a/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml b/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml index 0a170b5df7..6363565a38 100644 --- a/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml +++ b/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM-Dell.yaml @@ -119,5 +119,5 @@ case: EDATE: 2018-09-09t18:00:00 chgres_and_convert_ics: No realtime: true - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM.yaml b/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM.yaml index b10dceb0ef..b304ba3056 100644 --- a/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM.yaml +++ b/workflow/cases/dev/realtime-prfv3rt1_GFS@C768_ENKF@384+80MEM.yaml @@ -42,6 +42,6 @@ case: EDATE: 2018-06-04t12:00:00 chgres_and_convert_ics: No realtime: true - gfs_cyc: 4 # run gfs at 0z, 12z + STEP_GFS: !timedelta "06:00:00" run_gsi: Yes diff --git a/workflow/cases/free_forecast_case.yaml b/workflow/cases/free_forecast_case.yaml index 5f4f24c5bb..1e371bcbcb 100644 --- a/workflow/cases/free_forecast_case.yaml +++ b/workflow/cases/free_forecast_case.yaml @@ -9,10 +9,11 @@ case: settings: SDATE: 2019-05-01t00:00:00 EDATE: 2019-05-01t06:00:00 + STEP_GFS: !timedelta "06:00:00" + STEP_DA: !timedelta "00:00:00" DUMP_SUFFIX: "p" run_gsi: No chgres_and_convert_ics: Yes - gfs_cyc: 4 # run gfs every cycle mom6ic_prepared: .true. diff --git a/workflow/cases/jet_cycled.yaml b/workflow/cases/jet_cycled.yaml index c00e9aefd4..c2a9e375c8 100644 --- a/workflow/cases/jet_cycled.yaml +++ b/workflow/cases/jet_cycled.yaml @@ -16,4 +16,4 @@ case: DUMP_SUFFIX: "" run_gsi: Yes chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/jet_free_forecast.yaml b/workflow/cases/jet_free_forecast.yaml index 80fb80fc8e..7751d03f0d 100644 --- a/workflow/cases/jet_free_forecast.yaml +++ b/workflow/cases/jet_free_forecast.yaml @@ -14,11 +14,12 @@ case: settings: SDATE: 2019-05-01t00:00:00 EDATE: 2019-05-01t00:00:00 + STEP_GFS: !timedelta "06:00:00" + STEP_DA: !timedelta "00:00:00" DUMP_SUFFIX: "p" run_gsi: No chgres_and_convert_ics: Yes - gfs_cyc: 4 # run gfs every cycle suite_overrides: !FirstTrue - when: !calc (doc.platform.name=="JET") diff --git a/workflow/cases/manual_mode.yaml b/workflow/cases/manual_mode.yaml index eb216fefd2..e39284265f 100644 --- a/workflow/cases/manual_mode.yaml +++ b/workflow/cases/manual_mode.yaml @@ -92,7 +92,7 @@ case: DUMP_SUFFIX: "p" run_gsi: Yes chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" downstream: &downstream DO_POST_PROCESSING: NO diff --git a/workflow/cases/prototype6.yaml b/workflow/cases/prototype6.yaml index 3b6c7a639f..922503d661 100644 --- a/workflow/cases/prototype6.yaml +++ b/workflow/cases/prototype6.yaml @@ -5,6 +5,8 @@ case: settings: SDATE: 2013-04-01t00:00:00 EDATE: 2013-04-01t00:00:00 + STEP_GFS: !timedelta "24:00:00" + STEP_DA: !timedelta "00:00:00" onestep: .true. cplmode: nems_frac diff --git a/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C192.yaml b/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C192.yaml index ba69708cdf..b0d955bffa 100644 --- a/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C192.yaml +++ b/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C192.yaml @@ -17,4 +17,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C384.yaml b/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C384.yaml index d8071f420e..f199502ac4 100644 --- a/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C384.yaml +++ b/workflow/cases/public_release_v1/AtmRiv_2016021000_GFS@C384.yaml @@ -17,4 +17,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C192.yaml b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C192.yaml index 7a9b56e8d8..b2a8cbef05 100644 --- a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C192.yaml +++ b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C192.yaml @@ -19,4 +19,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384-override-stuff-in-case-file.yaml b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384-override-stuff-in-case-file.yaml index 6fbebe28f4..0726a92c3c 100644 --- a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384-override-stuff-in-case-file.yaml +++ b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384-override-stuff-in-case-file.yaml @@ -19,7 +19,7 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" suite_overrides: !FirstTrue - when: !calc (doc.platform.name=="JET") diff --git a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384.yaml b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384.yaml index 2787710cef..4f0303d8e2 100644 --- a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384.yaml +++ b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C384.yaml @@ -19,4 +19,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C768.yaml b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C768.yaml index 3146d4a0cd..f745f228d3 100644 --- a/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C768.yaml +++ b/workflow/cases/public_release_v1/Harvey_2017081712_GFS@C768.yaml @@ -19,4 +19,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C192.yaml b/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C192.yaml index e0221886dd..406839e5e1 100644 --- a/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C192.yaml +++ b/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C192.yaml @@ -17,4 +17,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C384.yaml b/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C384.yaml index 224b24c2a8..2afee405c5 100644 --- a/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C384.yaml +++ b/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C384.yaml @@ -17,4 +17,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C768.yaml b/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C768.yaml index 1a7e6da8e3..6f5a0bf0af 100644 --- a/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C768.yaml +++ b/workflow/cases/public_release_v1/March_Noreasters_2018022800_GFS@C768.yaml @@ -17,4 +17,4 @@ case: IC_CDUMP: gfs run_gsi: No chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/tutorial_cycled.yaml b/workflow/cases/tutorial_cycled.yaml index f426f45a83..18084941dc 100644 --- a/workflow/cases/tutorial_cycled.yaml +++ b/workflow/cases/tutorial_cycled.yaml @@ -17,4 +17,4 @@ case: KEEPDATA: Yes run_gsi: Yes chgres_and_convert_ics: No - gfs_cyc: 4 # run gfs every cycle + STEP_GFS: !timedelta "06:00:00" diff --git a/workflow/cases/tutorial_free_forecast.yaml b/workflow/cases/tutorial_free_forecast.yaml index e187acb506..e38d612945 100644 --- a/workflow/cases/tutorial_free_forecast.yaml +++ b/workflow/cases/tutorial_free_forecast.yaml @@ -9,11 +9,12 @@ case: settings: SDATE: 2019-05-01t00:00:00 EDATE: 2019-05-01t06:00:00 + STEP_GFS: !timedelta "06:00:00" + STEP_DA: !timedelta "00:00:00" DUMP_SUFFIX: "p" run_gsi: No chgres_and_convert_ics: Yes - gfs_cyc: 4 # run gfs every cycle suite_overrides: !FirstTrue - when: !calc (doc.platform.name=="JET") diff --git a/workflow/config/base.yaml b/workflow/config/base.yaml index 92c2457857..65bf998f6f 100644 --- a/workflow/config/base.yaml +++ b/workflow/config/base.yaml @@ -191,10 +191,7 @@ config_base: export FHMIN={doc.output_settings.FHMIN_GDAS} export FHMAX={doc.output_settings.FHMAX_GDAS} export FHOUT={doc.output_settings.FHOUT_GDAS} - - # GFS cycle info - export gfs_cyc={doc.settings.gfs_cyc} # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4: all 4 cycles. - + # GFS output and frequency export FHMIN_GFS={doc.output_settings.FHMIN_GFS} export FHMAX_GFS={doc.output_settings.FHMAX_GFS} diff --git a/workflow/config/wave.yaml b/workflow/config/wave.yaml index eeca0651da..732dabedb4 100644 --- a/workflow/config/wave.yaml +++ b/workflow/config/wave.yaml @@ -78,12 +78,8 @@ config_wave: WAVNCYC=4 WAVHCYC=6 FHMAX_WAV_CUR=48 # RTOFS forecasts only out to 8 days - elif [ $gfs_cyc -ne 0 ] - then - FHMAX_WAV_CUR=192 # RTOFS forecasts only out to 8 days - WAVHCYC=`expr 24 / $gfs_cyc` else - WAVHCYC=0 + WAVHCYC={tools.dt_to_HMS(doc.settings.STEP_GFS).split(':')[0]} FHMAX_WAV_CUR=192 # RTOFS forecasts only out to 8 days fi export FHMAX_WAV_CUR WAVHCYC WAVNCYC diff --git a/workflow/defaults/settings.yaml b/workflow/defaults/settings.yaml index f6e52d3742..d954f925d8 100644 --- a/workflow/defaults/settings.yaml +++ b/workflow/defaults/settings.yaml @@ -35,7 +35,6 @@ default_settings: &default_settings ecflow_virtual_clock: no ecflow_hybrid_clock: no - gfs_cyc: 4 nems_temp: 'atm' nems_temp_cold: 'atm' ics_from: opsgfs @@ -78,6 +77,9 @@ default_settings: &default_settings IAUFHRS: 6 IAU_DELTHRS: 6 + STEP_DA: !timedelta "06:00:00" + STEP_GFS: !timedelta "06:00:00" + KEEPDATA: NO DUMP_SUFFIX: "" run_gsi: No diff --git a/workflow/layout/cycled_gfs.yaml b/workflow/layout/cycled_gfs.yaml index 8c39f26769..216060a5e7 100644 --- a/workflow/layout/cycled_gfs.yaml +++ b/workflow/layout/cycled_gfs.yaml @@ -334,7 +334,7 @@ suite: !Cycle ###################################################################### gfs: !Family - Disable: !calc doc.settings.gfs_cyc==0 + Disable: !calc doc.settings.STEP_GFS == doc.zero_dt Complete: !Depend ~ suite.has_cycle('-6:00:00') AlarmName: gfs RUN: 'gfs' @@ -731,7 +731,7 @@ suite: !Cycle jgfs_archive: !Task <<: *service_task_template - Disable: !calc doc.settings.gfs_cyc == 0 + Disable: !calc doc.settings.STEP_GFS == doc.zero_dt Complete: !Depend ~ suite.has_cycle('-6:00:00') AlarmName: gfs Trigger: !Depend up.gfs diff --git a/workflow/layout/free_forecast_gfs.yaml b/workflow/layout/free_forecast_gfs.yaml index 2d8f64da65..a0102240f4 100644 --- a/workflow/layout/free_forecast_gfs.yaml +++ b/workflow/layout/free_forecast_gfs.yaml @@ -12,6 +12,7 @@ suite: !Cycle Disable: !calc >- doc.settings.get("IC_CDUMP","") and not doc.settings.chgres_and_convert_ics or doc.settings.mom6ic_prepared=='.true.' # RUN: 'gfs' + AlarmName: gfs jgfs_emc_getics: !Task <<: *service_task_template RUN: 'gfs' @@ -50,6 +51,7 @@ suite: !Cycle gfs: !Family # AlarmName: gdas ##!!"gdas" mean to run every 6 hrs from sdate to edate!!" RUN: 'gfs' + AlarmName: gfs ecflow_def: "edit RUN 'gfs'" prep: !Family @@ -223,7 +225,7 @@ suite: !Cycle jgfs_archive: !Task <<: *service_task_template - Disable: !calc doc.settings.gfs_cyc == 0 + Disable: !calc doc.settings.STEP_GFS == doc.zero_dt AlarmName: gfs Trigger: !Depend up.gfs resources: !calc partition.resources.run_arch @@ -241,6 +243,7 @@ suite: !Cycle final: !Task <<: *service_task_template Disable: !calc not metasched.type=="rocoto" + AlarmName: gfs resources: !calc partition.resources.run_final rocoto_command: /bin/true model: gfs # useless but required diff --git a/workflow/layout/manual_temp.yaml b/workflow/layout/manual_temp.yaml index 58696fbf71..139a4a54e0 100644 --- a/workflow/layout/manual_temp.yaml +++ b/workflow/layout/manual_temp.yaml @@ -243,7 +243,7 @@ suite: !Cycle ###################################################################### gfs: !Family - Disable: !calc doc.settings.gfs_cyc==0 + Disable: !calc doc.settings.STEP_GFS == doc.zero_dt Complete: !Depend ~ suite.has_cycle('-6:00:00') AlarmName: gfs RUN: 'gfs' @@ -503,7 +503,7 @@ suite: !Cycle jgfs_archive: !Task <<: *service_task_template - Disable: !calc doc.settings.gfs_cyc == 0 + Disable: !calc doc.settings.STEP_GFS == doc.zero_dt Complete: !Depend ~ suite.has_cycle('-6:00:00') AlarmName: gfs Trigger: !Depend up.gfs diff --git a/workflow/layout/nco.yaml b/workflow/layout/nco.yaml index ad9d82cb11..a2a95d52b8 100644 --- a/workflow/layout/nco.yaml +++ b/workflow/layout/nco.yaml @@ -280,7 +280,7 @@ suite: !Cycle ###################################################################### gfs: !Family - Disable: !calc doc.settings.gfs_cyc==0 + Disable: !calc doc.settings.STEP_GFS == doc.zero_dt Complete: !Depend ~ suite.has_cycle('-6:00:00') AlarmName: gfs RUN: 'gfs' diff --git a/workflow/runtime/suite.yaml b/workflow/runtime/suite.yaml index fd521f081d..17f51ba51f 100644 --- a/workflow/runtime/suite.yaml +++ b/workflow/runtime/suite.yaml @@ -2,6 +2,9 @@ # suites in the workflow/ directory. Most of these variables are # specific to the cycled workflow which is not in this release. +day_dt: !timedelta "24:00:00" +zero_dt: !timedelta "00:00:00" + # gfs_clock_1 - run GFS only at 0 UTC daily gfs_clock_1: !Clock start: !calc tools.day_of(suite.Clock.start+suite.Clock.step) @@ -13,12 +16,12 @@ gfs_clock_2: !Clock step: !timedelta "12:00:00" # gfs_clock_4 - run GFS every cycle -gfs_clock_4: !Clock - start: !FirstTrue - - when: !calc doc.places.workflow_file == "layout/free_forecast_gfs.yaml" - do: !calc suite.Clock.start - - otherwise: !calc suite.Clock.start+suite.Clock.step - step: !timedelta "06:00:00" +# gfs_clock_4: !Clock +# start: !FirstTrue +# - when: !calc doc.settings.STEP_DA == doc.zero_dt +# do: !calc suite.Clock.start +# - otherwise: !calc suite.Clock.start+suite.Clock.step +# step: !timedelta "06:00:00" # cycled_suite_alarms - this is used to define which cycles various # jobs run in. In the workflow suite definition, jobs may have an @@ -39,20 +42,26 @@ cycled_suite_alarms: &cycled_suite_alarms # gfs - cycles for which the gfs is run gfs: !FirstTrue - - when: !calc doc.settings.gfs_cyc == 0 + # No free forecast + - when: !calc doc.settings.STEP_GFS == doc.zero_dt do: !Clock # required but ignored because gfs is disabled start: !calc suite.Clock.start end: !calc suite.Clock.end step: !calc suite.Clock.step - - when: !calc doc.settings.gfs_cyc == 1 - do: !calc suite.Clock.for_alarm(doc.gfs_clock_1) - - when: !calc doc.settings.gfs_cyc == 2 - do: !calc suite.Clock.for_alarm(doc.gfs_clock_2) - - when: !calc doc.settings.gfs_cyc == 4 - do: !calc suite.Clock.for_alarm(doc.gfs_clock_4) - - otherwise: !error Unknown gfs clock settings {doc.settings.gfs_cyc} + - otherwise: !Clock + start: !FirstTrue + - when: !calc doc.settings.STEP_DA == doc.zero_dt + # No DA + do: !calc suite.Clock.start + # Run one DA-only cycle before starting GFS + - otherwise: !calc suite.Clock.start+suite.Clock.step + end: !calc suite.Clock.end + step: !calc doc.settings.STEP_GFS - gfs_00_12: !calc suite.Clock.for_alarm(doc.gfs_clock_2) + gfs_00_12: !FirstTrue + - when: !calc doc.settings.STEP_GFS >= doc.day_dt + do: !calc suite.Clock.for_alarm(doc.gfs_clock_1) + - otherwise: !calc suite.Clock.for_alarm(doc.gfs_clock_2) # suite_defaults - this is inherited by the actual suite definitions @@ -60,10 +69,14 @@ cycled_suite_alarms: &cycled_suite_alarms suite_defaults: &suite_defaults # Clock - the list of cycles to run Clock: !Clock - # NEED TO FIX FOR LESS FREQUENT GFS start: !calc doc.settings.SDATE end: !calc doc.settings.EDATE - step: !timedelta "6:00:00" + step: !FirstTrue + - when: !calc doc.settings.STEP_DA == doc.zero_dt + # No DA, use GFS step + do: !calc doc.settings.STEP_GFS + # Use DA step, which might be shorter than GFS step + - otherwise: !calc doc.settings.STEP_DA Overrides: allowed: [ 'queue', 'partition', 'resources', 'rocoto_command', 'rocoto_log_path', diff --git a/workflow/schema/settings.yaml b/workflow/schema/settings.yaml index 7606d59234..ec2cf23096 100644 --- a/workflow/schema/settings.yaml +++ b/workflow/schema/settings.yaml @@ -1,15 +1,4 @@ settings_schema: !Template &settings_schema - gfs_cyc: - type: int - allowed: [ 0, 1, 2, 4 ] - description: | - When to run GFS forecast. Data assimilation is run for every - cycle regardless of these values - * 0: no GFS cycle - * 1: 00Z only - * 2: 00Z and 12Z only - * 4: all 4 cycles (0, 6, 12, 18 Z) - dev_safeguards: type: bool description: "Add backup triggers in workflow to handle scheduling delays, such as the forecast finishing any posts start. Only turn this off for NCO operational deliveries." @@ -99,6 +88,18 @@ settings_schema: !Template &settings_schema EDATE: type: datetime description: Last cycle to run GDAS. + + STEP_DA: + type: timedelta + optional: true + description: | + Cadence to run DA. + + STEP_GFS: + type: timedelta + optional: true + description: | + Cadence to run GFS. ics_from: type: string