From 30c24e2304b0093c7ff47ef04aac0128afa82d83 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Thu, 9 Sep 2021 14:57:47 +0000 Subject: [PATCH 01/78] Update repository name for EMC_post component to UPP - the "EMC_post" repository was renamed to "UPP" on September 6th 2021 - update repository url in checkout script and Externals.cfg Refs: #433 --- Externals.cfg | 4 ++-- sorc/checkout.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Externals.cfg b/Externals.cfg index 8c72da2a2b..b46adddea9 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -21,11 +21,11 @@ repo_url = https://github.com/NOAA-EMC/GLDAS.git protocol = git required = True -[EMC_post] +[UPP] #No externals setting = .gitmodules will be invoked for CMakeModules and comupp/src/lib/crtm2 submodules hash = ff42e0227d6100285d4179a2572b700fd5a959cb local_path = sorc/gfs_post.fd -repo_url = https://github.com/NOAA-EMC/EMC_post.git +repo_url = https://github.com/NOAA-EMC/UPP.git protocol = git required = True diff --git a/sorc/checkout.sh b/sorc/checkout.sh index 94168728f9..10350f9e67 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -69,10 +69,10 @@ else echo 'Skip. Directory ufs_utils.fd already exists.' fi -echo EMC_post checkout ... +echo UPP checkout ... if [[ ! -d gfs_post.fd ]] ; then rm -f ${topdir}/checkout-gfs_post.log - git clone https://github.com/NOAA-EMC/EMC_post.git gfs_post.fd >> ${topdir}/checkout-gfs_post.log 2>&1 + git clone https://github.com/NOAA-EMC/UPP.git gfs_post.fd >> ${topdir}/checkout-gfs_post.log 2>&1 cd gfs_post.fd git checkout ff42e0227d6100285d4179a2572b700fd5a959cb git submodule update --init CMakeModules From bdb409a22c9f2f24367cca0546812f16a14c8e20 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 7 Apr 2022 20:16:46 +0000 Subject: [PATCH 02/78] Add WCOSS2 operational GFS defs files - commit GFSv16.2 WCOSS2 operational GFS defs files as of April 7th 2022 - final changes to defs files will be merged later Refs: #399 --- ecflow/ecf/defs/gfs_00.def | 2589 ++++++++++++++++++++++++++++++++++++ 1 file changed, 2589 insertions(+) create mode 100644 ecflow/ecf/defs/gfs_00.def diff --git a/ecflow/ecf/defs/gfs_00.def b/ecflow/ecf/defs/gfs_00.def new file mode 100644 index 0000000000..b564c6e260 --- /dev/null +++ b/ecflow/ecf/defs/gfs_00.def @@ -0,0 +1,2589 @@ + family v16.2 + family gfs + edit RUN 'gfs' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gfs' + family atmos + family obsproc + family dump + task jgfs_atmos_tropcy_qc_reloc + trigger :TIME >= 0241 and :TIME < 0841 + event 1 jtwc_bull_email + endfamily + family prep + task jgfs_atmos_emcsfc_sfc_prep + trigger /prod/primary/00/obsproc/v1.0/gfs/atmos/dump/jobsproc_gfs_atmos_dump:release_sfcprep + endfamily + endfamily + family analysis + task jgfs_atmos_analysis + trigger /prod/primary/00/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete and ../obsproc/prep/jgfs_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgfs_atmos_analysis_calc + trigger ./jgfs_atmos_analysis == complete + endfamily + family post + task jgfs_atmos_post_manager + trigger ../analysis/jgfs_atmos_analysis == complete + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + event 12 release_post010 + event 13 release_post011 + event 14 release_post012 + event 15 release_post013 + event 16 release_post014 + event 17 release_post015 + event 18 release_post016 + event 19 release_post017 + event 20 release_post018 + event 21 release_post019 + event 22 release_post020 + event 23 release_post021 + event 24 release_post022 + event 25 release_post023 + event 26 release_post024 + event 27 release_post025 + event 28 release_post026 + event 29 release_post027 + event 30 release_post028 + event 31 release_post029 + event 32 release_post030 + event 33 release_post031 + event 34 release_post032 + event 35 release_post033 + event 36 release_post034 + event 37 release_post035 + event 38 release_post036 + event 39 release_post037 + event 40 release_post038 + event 41 release_post039 + event 42 release_post040 + event 43 release_post041 + event 44 release_post042 + event 45 release_post043 + event 46 release_post044 + event 47 release_post045 + event 48 release_post046 + event 49 release_post047 + event 50 release_post048 + event 51 release_post049 + event 52 release_post050 + event 53 release_post051 + event 54 release_post052 + event 55 release_post053 + event 56 release_post054 + event 57 release_post055 + event 58 release_post056 + event 59 release_post057 + event 60 release_post058 + event 61 release_post059 + event 62 release_post060 + event 63 release_post061 + event 64 release_post062 + event 65 release_post063 + event 66 release_post064 + event 67 release_post065 + event 68 release_post066 + event 69 release_post067 + event 70 release_post068 + event 71 release_post069 + event 72 release_post070 + event 73 release_post071 + event 74 release_post072 + event 75 release_post073 + event 76 release_post074 + event 77 release_post075 + event 78 release_post076 + event 79 release_post077 + event 80 release_post078 + event 81 release_post079 + event 82 release_post080 + event 83 release_post081 + event 84 release_post082 + event 85 release_post083 + event 86 release_post084 + event 87 release_post085 + event 88 release_post086 + event 89 release_post087 + event 90 release_post088 + event 91 release_post089 + event 92 release_post090 + event 93 release_post091 + event 94 release_post092 + event 95 release_post093 + event 96 release_post094 + event 97 release_post095 + event 98 release_post096 + event 99 release_post097 + event 100 release_post098 + event 101 release_post099 + event 102 release_post100 + event 103 release_post101 + event 104 release_post102 + event 105 release_post103 + event 106 release_post104 + event 107 release_post105 + event 108 release_post106 + event 109 release_post107 + event 110 release_post108 + event 111 release_post109 + event 112 release_post110 + event 113 release_post111 + event 114 release_post112 + event 115 release_post113 + event 116 release_post114 + event 117 release_post115 + event 118 release_post116 + event 119 release_post117 + event 120 release_post118 + event 121 release_post119 + event 122 release_post120 + event 123 release_post123 + event 124 release_post126 + event 125 release_post129 + event 126 release_post132 + event 127 release_post135 + event 128 release_post138 + event 129 release_post141 + event 130 release_post144 + event 131 release_post147 + event 132 release_post150 + event 133 release_post153 + event 134 release_post156 + event 135 release_post159 + event 136 release_post162 + event 137 release_post165 + event 138 release_post168 + event 139 release_post171 + event 140 release_post174 + event 141 release_post177 + event 142 release_post180 + event 143 release_post183 + event 144 release_post186 + event 145 release_post189 + event 146 release_post192 + event 147 release_post195 + event 148 release_post198 + event 149 release_post201 + event 150 release_post204 + event 151 release_post207 + event 152 release_post210 + event 153 release_post213 + event 154 release_post216 + event 155 release_post219 + event 156 release_post222 + event 157 release_post225 + event 158 release_post228 + event 159 release_post231 + event 160 release_post234 + event 161 release_post237 + event 162 release_post240 + event 163 release_post243 + event 164 release_post246 + event 165 release_post249 + event 166 release_post252 + event 167 release_post255 + event 168 release_post258 + event 169 release_post261 + event 170 release_post264 + event 171 release_post267 + event 172 release_post270 + event 173 release_post273 + event 174 release_post276 + event 175 release_post279 + event 176 release_post282 + event 177 release_post285 + event 178 release_post288 + event 179 release_post291 + event 180 release_post294 + event 181 release_post297 + event 182 release_post300 + event 183 release_post303 + event 184 release_post306 + event 185 release_post309 + event 186 release_post312 + event 187 release_post315 + event 188 release_post318 + event 189 release_post321 + event 190 release_post324 + event 191 release_post327 + event 192 release_post330 + event 193 release_post333 + event 194 release_post336 + event 195 release_post339 + event 196 release_post342 + event 197 release_post345 + event 198 release_post348 + event 199 release_post351 + event 200 release_post354 + event 201 release_post357 + event 202 release_post360 + event 203 release_post363 + event 204 release_post366 + event 205 release_post369 + event 206 release_post372 + event 207 release_post375 + event 208 release_post378 + event 209 release_post381 + event 210 release_post384 + task jgfs_atmos_post_anl + trigger ./jgfs_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgfs_atmos_post_f000 + trigger ./jgfs_atmos_post_manager:release_post000 + edit FHRGRP '001' + edit FHRLST 'f000' + edit FHR 'f000' + edit HR '000' + task jgfs_atmos_post_f001 + trigger ./jgfs_atmos_post_manager:release_post001 + edit FHRGRP '002' + edit FHRLST 'f001' + edit FHR 'f001' + edit HR '001' + task jgfs_atmos_post_f002 + trigger ./jgfs_atmos_post_manager:release_post002 + edit FHRGRP '003' + edit FHRLST 'f002' + edit FHR 'f002' + edit HR '002' + task jgfs_atmos_post_f003 + trigger ./jgfs_atmos_post_manager:release_post003 + edit FHRGRP '004' + edit FHRLST 'f003' + edit FHR 'f003' + edit HR '003' + task jgfs_atmos_post_f004 + trigger ./jgfs_atmos_post_manager:release_post004 + edit FHRGRP '005' + edit FHRLST 'f004' + edit FHR 'f004' + edit HR '004' + task jgfs_atmos_post_f005 + trigger ./jgfs_atmos_post_manager:release_post005 + edit FHRGRP '006' + edit FHRLST 'f005' + edit FHR 'f005' + edit HR '005' + task jgfs_atmos_post_f006 + trigger ./jgfs_atmos_post_manager:release_post006 + edit FHRGRP '007' + edit FHRLST 'f006' + edit FHR 'f006' + edit HR '006' + task jgfs_atmos_post_f007 + trigger ./jgfs_atmos_post_manager:release_post007 + edit FHRGRP '008' + edit FHRLST 'f007' + edit FHR 'f007' + edit HR '007' + task jgfs_atmos_post_f008 + trigger ./jgfs_atmos_post_manager:release_post008 + edit FHRGRP '009' + edit FHRLST 'f008' + edit FHR 'f008' + edit HR '008' + task jgfs_atmos_post_f009 + trigger ./jgfs_atmos_post_manager:release_post009 + edit FHRGRP '010' + edit FHRLST 'f009' + edit FHR 'f009' + edit HR '009' + task jgfs_atmos_post_f010 + trigger ./jgfs_atmos_post_manager:release_post010 + edit FHRGRP '011' + edit FHRLST 'f010' + edit FHR 'f010' + edit HR '010' + task jgfs_atmos_post_f011 + trigger ./jgfs_atmos_post_manager:release_post011 + edit FHRGRP '012' + edit FHRLST 'f011' + edit FHR 'f011' + edit HR '011' + task jgfs_atmos_post_f012 + trigger ./jgfs_atmos_post_manager:release_post012 + edit FHRGRP '013' + edit FHRLST 'f012' + edit FHR 'f012' + edit HR '012' + task jgfs_atmos_post_f013 + trigger ./jgfs_atmos_post_manager:release_post013 + edit FHRGRP '014' + edit FHRLST 'f013' + edit FHR 'f013' + edit HR '013' + task jgfs_atmos_post_f014 + trigger ./jgfs_atmos_post_manager:release_post014 + edit FHRGRP '015' + edit FHRLST 'f014' + edit FHR 'f014' + edit HR '014' + task jgfs_atmos_post_f015 + trigger ./jgfs_atmos_post_manager:release_post015 + edit FHRGRP '016' + edit FHRLST 'f015' + edit FHR 'f015' + edit HR '015' + task jgfs_atmos_post_f016 + trigger ./jgfs_atmos_post_manager:release_post016 + edit FHRGRP '017' + edit FHRLST 'f016' + edit FHR 'f016' + edit HR '016' + task jgfs_atmos_post_f017 + trigger ./jgfs_atmos_post_manager:release_post017 + edit FHRGRP '018' + edit FHRLST 'f017' + edit FHR 'f017' + edit HR '017' + task jgfs_atmos_post_f018 + trigger ./jgfs_atmos_post_manager:release_post018 + edit FHRGRP '019' + edit FHRLST 'f018' + edit FHR 'f018' + edit HR '018' + task jgfs_atmos_post_f019 + trigger ./jgfs_atmos_post_manager:release_post019 + edit FHRGRP '020' + edit FHRLST 'f019' + edit FHR 'f019' + edit HR '019' + task jgfs_atmos_post_f020 + trigger ./jgfs_atmos_post_manager:release_post020 + edit FHRGRP '021' + edit FHRLST 'f020' + edit FHR 'f020' + edit HR '020' + task jgfs_atmos_post_f021 + trigger ./jgfs_atmos_post_manager:release_post021 + edit FHRGRP '022' + edit FHRLST 'f021' + edit FHR 'f021' + edit HR '021' + task jgfs_atmos_post_f022 + trigger ./jgfs_atmos_post_manager:release_post022 + edit FHRGRP '023' + edit FHRLST 'f022' + edit FHR 'f022' + edit HR '022' + task jgfs_atmos_post_f023 + trigger ./jgfs_atmos_post_manager:release_post023 + edit FHRGRP '024' + edit FHRLST 'f023' + edit FHR 'f023' + edit HR '023' + task jgfs_atmos_post_f024 + trigger ./jgfs_atmos_post_manager:release_post024 + edit FHRGRP '025' + edit FHRLST 'f024' + edit FHR 'f024' + edit HR '024' + task jgfs_atmos_post_f025 + trigger ./jgfs_atmos_post_manager:release_post025 + edit FHRGRP '026' + edit FHRLST 'f025' + edit FHR 'f025' + edit HR '025' + task jgfs_atmos_post_f026 + trigger ./jgfs_atmos_post_manager:release_post026 + edit FHRGRP '027' + edit FHRLST 'f026' + edit FHR 'f026' + edit HR '026' + task jgfs_atmos_post_f027 + trigger ./jgfs_atmos_post_manager:release_post027 + edit FHRGRP '028' + edit FHRLST 'f027' + edit FHR 'f027' + edit HR '027' + task jgfs_atmos_post_f028 + trigger ./jgfs_atmos_post_manager:release_post028 + edit FHRGRP '029' + edit FHRLST 'f028' + edit FHR 'f028' + edit HR '028' + task jgfs_atmos_post_f029 + trigger ./jgfs_atmos_post_manager:release_post029 + edit FHRGRP '030' + edit FHRLST 'f029' + edit FHR 'f029' + edit HR '029' + task jgfs_atmos_post_f030 + trigger ./jgfs_atmos_post_manager:release_post030 + edit FHRGRP '031' + edit FHRLST 'f030' + edit FHR 'f030' + edit HR '030' + task jgfs_atmos_post_f031 + trigger ./jgfs_atmos_post_manager:release_post031 + edit FHRGRP '032' + edit FHRLST 'f031' + edit FHR 'f031' + edit HR '031' + task jgfs_atmos_post_f032 + trigger ./jgfs_atmos_post_manager:release_post032 + edit FHRGRP '033' + edit FHRLST 'f032' + edit FHR 'f032' + edit HR '032' + task jgfs_atmos_post_f033 + trigger ./jgfs_atmos_post_manager:release_post033 + edit FHRGRP '034' + edit FHRLST 'f033' + edit FHR 'f033' + edit HR '033' + task jgfs_atmos_post_f034 + trigger ./jgfs_atmos_post_manager:release_post034 + edit FHRGRP '035' + edit FHRLST 'f034' + edit FHR 'f034' + edit HR '034' + task jgfs_atmos_post_f035 + trigger ./jgfs_atmos_post_manager:release_post035 + edit FHRGRP '036' + edit FHRLST 'f035' + edit FHR 'f035' + edit HR '035' + task jgfs_atmos_post_f036 + trigger ./jgfs_atmos_post_manager:release_post036 + edit FHRGRP '037' + edit FHRLST 'f036' + edit FHR 'f036' + edit HR '036' + task jgfs_atmos_post_f037 + trigger ./jgfs_atmos_post_manager:release_post037 + edit FHRGRP '038' + edit FHRLST 'f037' + edit FHR 'f037' + edit HR '037' + task jgfs_atmos_post_f038 + trigger ./jgfs_atmos_post_manager:release_post038 + edit FHRGRP '039' + edit FHRLST 'f038' + edit FHR 'f038' + edit HR '038' + task jgfs_atmos_post_f039 + trigger ./jgfs_atmos_post_manager:release_post039 + edit FHRGRP '040' + edit FHRLST 'f039' + edit FHR 'f039' + edit HR '039' + task jgfs_atmos_post_f040 + trigger ./jgfs_atmos_post_manager:release_post040 + edit FHRGRP '041' + edit FHRLST 'f040' + edit FHR 'f040' + edit HR '040' + task jgfs_atmos_post_f041 + trigger ./jgfs_atmos_post_manager:release_post041 + edit FHRGRP '042' + edit FHRLST 'f041' + edit FHR 'f041' + edit HR '041' + task jgfs_atmos_post_f042 + trigger ./jgfs_atmos_post_manager:release_post042 + edit FHRGRP '043' + edit FHRLST 'f042' + edit FHR 'f042' + edit HR '042' + task jgfs_atmos_post_f043 + trigger ./jgfs_atmos_post_manager:release_post043 + edit FHRGRP '044' + edit FHRLST 'f043' + edit FHR 'f043' + edit HR '043' + task jgfs_atmos_post_f044 + trigger ./jgfs_atmos_post_manager:release_post044 + edit FHRGRP '045' + edit FHRLST 'f044' + edit FHR 'f044' + edit HR '044' + task jgfs_atmos_post_f045 + trigger ./jgfs_atmos_post_manager:release_post045 + edit FHRGRP '046' + edit FHRLST 'f045' + edit FHR 'f045' + edit HR '045' + task jgfs_atmos_post_f046 + trigger ./jgfs_atmos_post_manager:release_post046 + edit FHRGRP '047' + edit FHRLST 'f046' + edit FHR 'f046' + edit HR '046' + task jgfs_atmos_post_f047 + trigger ./jgfs_atmos_post_manager:release_post047 + edit FHRGRP '048' + edit FHRLST 'f047' + edit FHR 'f047' + edit HR '047' + task jgfs_atmos_post_f048 + trigger ./jgfs_atmos_post_manager:release_post048 + edit FHRGRP '049' + edit FHRLST 'f048' + edit FHR 'f048' + edit HR '048' + task jgfs_atmos_post_f049 + trigger ./jgfs_atmos_post_manager:release_post049 + edit FHRGRP '050' + edit FHRLST 'f049' + edit FHR 'f049' + edit HR '049' + task jgfs_atmos_post_f050 + trigger ./jgfs_atmos_post_manager:release_post050 + edit FHRGRP '051' + edit FHRLST 'f050' + edit FHR 'f050' + edit HR '050' + task jgfs_atmos_post_f051 + trigger ./jgfs_atmos_post_manager:release_post051 + edit FHRGRP '052' + edit FHRLST 'f051' + edit FHR 'f051' + edit HR '051' + task jgfs_atmos_post_f052 + trigger ./jgfs_atmos_post_manager:release_post052 + edit FHRGRP '053' + edit FHRLST 'f052' + edit FHR 'f052' + edit HR '052' + task jgfs_atmos_post_f053 + trigger ./jgfs_atmos_post_manager:release_post053 + edit FHRGRP '054' + edit FHRLST 'f053' + edit FHR 'f053' + edit HR '053' + task jgfs_atmos_post_f054 + trigger ./jgfs_atmos_post_manager:release_post054 + edit FHRGRP '055' + edit FHRLST 'f054' + edit FHR 'f054' + edit HR '054' + task jgfs_atmos_post_f055 + trigger ./jgfs_atmos_post_manager:release_post055 + edit FHRGRP '056' + edit FHRLST 'f055' + edit FHR 'f055' + edit HR '055' + task jgfs_atmos_post_f056 + trigger ./jgfs_atmos_post_manager:release_post056 + edit FHRGRP '057' + edit FHRLST 'f056' + edit FHR 'f056' + edit HR '056' + task jgfs_atmos_post_f057 + trigger ./jgfs_atmos_post_manager:release_post057 + edit FHRGRP '058' + edit FHRLST 'f057' + edit FHR 'f057' + edit HR '057' + task jgfs_atmos_post_f058 + trigger ./jgfs_atmos_post_manager:release_post058 + edit FHRGRP '059' + edit FHRLST 'f058' + edit FHR 'f058' + edit HR '058' + task jgfs_atmos_post_f059 + trigger ./jgfs_atmos_post_manager:release_post059 + edit FHRGRP '060' + edit FHRLST 'f059' + edit FHR 'f059' + edit HR '059' + task jgfs_atmos_post_f060 + trigger ./jgfs_atmos_post_manager:release_post060 + edit FHRGRP '061' + edit FHRLST 'f060' + edit FHR 'f060' + edit HR '060' + task jgfs_atmos_post_f061 + trigger ./jgfs_atmos_post_manager:release_post061 + edit FHRGRP '062' + edit FHRLST 'f061' + edit FHR 'f061' + edit HR '061' + task jgfs_atmos_post_f062 + trigger ./jgfs_atmos_post_manager:release_post062 + edit FHRGRP '063' + edit FHRLST 'f062' + edit FHR 'f062' + edit HR '062' + task jgfs_atmos_post_f063 + trigger ./jgfs_atmos_post_manager:release_post063 + edit FHRGRP '064' + edit FHRLST 'f063' + edit FHR 'f063' + edit HR '063' + task jgfs_atmos_post_f064 + trigger ./jgfs_atmos_post_manager:release_post064 + edit FHRGRP '065' + edit FHRLST 'f064' + edit FHR 'f064' + edit HR '064' + task jgfs_atmos_post_f065 + trigger ./jgfs_atmos_post_manager:release_post065 + edit FHRGRP '066' + edit FHRLST 'f065' + edit FHR 'f065' + edit HR '065' + task jgfs_atmos_post_f066 + trigger ./jgfs_atmos_post_manager:release_post066 + edit FHRGRP '067' + edit FHRLST 'f066' + edit FHR 'f066' + edit HR '066' + task jgfs_atmos_post_f067 + trigger ./jgfs_atmos_post_manager:release_post067 + edit FHRGRP '068' + edit FHRLST 'f067' + edit FHR 'f067' + edit HR '067' + task jgfs_atmos_post_f068 + trigger ./jgfs_atmos_post_manager:release_post068 + edit FHRGRP '069' + edit FHRLST 'f068' + edit FHR 'f068' + edit HR '068' + task jgfs_atmos_post_f069 + trigger ./jgfs_atmos_post_manager:release_post069 + edit FHRGRP '070' + edit FHRLST 'f069' + edit FHR 'f069' + edit HR '069' + task jgfs_atmos_post_f070 + trigger ./jgfs_atmos_post_manager:release_post070 + edit FHRGRP '071' + edit FHRLST 'f070' + edit FHR 'f070' + edit HR '070' + task jgfs_atmos_post_f071 + trigger ./jgfs_atmos_post_manager:release_post071 + edit FHRGRP '072' + edit FHRLST 'f071' + edit FHR 'f071' + edit HR '071' + task jgfs_atmos_post_f072 + trigger ./jgfs_atmos_post_manager:release_post072 + edit FHRGRP '073' + edit FHRLST 'f072' + edit FHR 'f072' + edit HR '072' + task jgfs_atmos_post_f073 + trigger ./jgfs_atmos_post_manager:release_post073 + edit FHRGRP '074' + edit FHRLST 'f073' + edit FHR 'f073' + edit HR '073' + task jgfs_atmos_post_f074 + trigger ./jgfs_atmos_post_manager:release_post074 + edit FHRGRP '075' + edit FHRLST 'f074' + edit FHR 'f074' + edit HR '074' + task jgfs_atmos_post_f075 + trigger ./jgfs_atmos_post_manager:release_post075 + edit FHRGRP '076' + edit FHRLST 'f075' + edit FHR 'f075' + edit HR '075' + task jgfs_atmos_post_f076 + trigger ./jgfs_atmos_post_manager:release_post076 + edit FHRGRP '077' + edit FHRLST 'f076' + edit FHR 'f076' + edit HR '076' + task jgfs_atmos_post_f077 + trigger ./jgfs_atmos_post_manager:release_post077 + edit FHRGRP '078' + edit FHRLST 'f077' + edit FHR 'f077' + edit HR '077' + task jgfs_atmos_post_f078 + trigger ./jgfs_atmos_post_manager:release_post078 + edit FHRGRP '079' + edit FHRLST 'f078' + edit FHR 'f078' + edit HR '078' + task jgfs_atmos_post_f079 + trigger ./jgfs_atmos_post_manager:release_post079 + edit FHRGRP '080' + edit FHRLST 'f079' + edit FHR 'f079' + edit HR '079' + task jgfs_atmos_post_f080 + trigger ./jgfs_atmos_post_manager:release_post080 + edit FHRGRP '081' + edit FHRLST 'f080' + edit FHR 'f080' + edit HR '080' + task jgfs_atmos_post_f081 + trigger ./jgfs_atmos_post_manager:release_post081 + edit FHRGRP '082' + edit FHRLST 'f081' + edit FHR 'f081' + edit HR '081' + task jgfs_atmos_post_f082 + trigger ./jgfs_atmos_post_manager:release_post082 + edit FHRGRP '083' + edit FHRLST 'f082' + edit FHR 'f082' + edit HR '082' + task jgfs_atmos_post_f083 + trigger ./jgfs_atmos_post_manager:release_post083 + edit FHRGRP '084' + edit FHRLST 'f083' + edit FHR 'f083' + edit HR '083' + task jgfs_atmos_post_f084 + trigger ./jgfs_atmos_post_manager:release_post084 + edit FHRGRP '085' + edit FHRLST 'f084' + edit FHR 'f084' + edit HR '084' + task jgfs_atmos_post_f085 + trigger ./jgfs_atmos_post_manager:release_post085 + edit FHRGRP '086' + edit FHRLST 'f085' + edit FHR 'f085' + edit HR '085' + task jgfs_atmos_post_f086 + trigger ./jgfs_atmos_post_manager:release_post086 + edit FHRGRP '087' + edit FHRLST 'f086' + edit FHR 'f086' + edit HR '086' + task jgfs_atmos_post_f087 + trigger ./jgfs_atmos_post_manager:release_post087 + edit FHRGRP '088' + edit FHRLST 'f087' + edit FHR 'f087' + edit HR '087' + task jgfs_atmos_post_f088 + trigger ./jgfs_atmos_post_manager:release_post088 + edit FHRGRP '089' + edit FHRLST 'f088' + edit FHR 'f088' + edit HR '088' + task jgfs_atmos_post_f089 + trigger ./jgfs_atmos_post_manager:release_post089 + edit FHRGRP '090' + edit FHRLST 'f089' + edit FHR 'f089' + edit HR '089' + task jgfs_atmos_post_f090 + trigger ./jgfs_atmos_post_manager:release_post090 + edit FHRGRP '091' + edit FHRLST 'f090' + edit FHR 'f090' + edit HR '090' + task jgfs_atmos_post_f091 + trigger ./jgfs_atmos_post_manager:release_post091 + edit FHRGRP '092' + edit FHRLST 'f091' + edit FHR 'f091' + edit HR '091' + task jgfs_atmos_post_f092 + trigger ./jgfs_atmos_post_manager:release_post092 + edit FHRGRP '093' + edit FHRLST 'f092' + edit FHR 'f092' + edit HR '092' + task jgfs_atmos_post_f093 + trigger ./jgfs_atmos_post_manager:release_post093 + edit FHRGRP '094' + edit FHRLST 'f093' + edit FHR 'f093' + edit HR '093' + task jgfs_atmos_post_f094 + trigger ./jgfs_atmos_post_manager:release_post094 + edit FHRGRP '095' + edit FHRLST 'f094' + edit FHR 'f094' + edit HR '094' + task jgfs_atmos_post_f095 + trigger ./jgfs_atmos_post_manager:release_post095 + edit FHRGRP '096' + edit FHRLST 'f095' + edit FHR 'f095' + edit HR '095' + task jgfs_atmos_post_f096 + trigger ./jgfs_atmos_post_manager:release_post096 + edit FHRGRP '097' + edit FHRLST 'f096' + edit FHR 'f096' + edit HR '096' + task jgfs_atmos_post_f097 + trigger ./jgfs_atmos_post_manager:release_post097 + edit FHRGRP '098' + edit FHRLST 'f097' + edit FHR 'f097' + edit HR '097' + task jgfs_atmos_post_f098 + trigger ./jgfs_atmos_post_manager:release_post098 + edit FHRGRP '099' + edit FHRLST 'f098' + edit FHR 'f098' + edit HR '098' + task jgfs_atmos_post_f099 + trigger ./jgfs_atmos_post_manager:release_post099 + edit FHRGRP '100' + edit FHRLST 'f099' + edit FHR 'f099' + edit HR '099' + task jgfs_atmos_post_f100 + trigger ./jgfs_atmos_post_manager:release_post100 + edit FHRGRP '101' + edit FHRLST 'f100' + edit FHR 'f100' + edit HR '100' + task jgfs_atmos_post_f101 + trigger ./jgfs_atmos_post_manager:release_post101 + edit FHRGRP '102' + edit FHRLST 'f101' + edit FHR 'f101' + edit HR '101' + task jgfs_atmos_post_f102 + trigger ./jgfs_atmos_post_manager:release_post102 + edit FHRGRP '103' + edit FHRLST 'f102' + edit FHR 'f102' + edit HR '102' + task jgfs_atmos_post_f103 + trigger ./jgfs_atmos_post_manager:release_post103 + edit FHRGRP '104' + edit FHRLST 'f103' + edit FHR 'f103' + edit HR '103' + task jgfs_atmos_post_f104 + trigger ./jgfs_atmos_post_manager:release_post104 + edit FHRGRP '105' + edit FHRLST 'f104' + edit FHR 'f104' + edit HR '104' + task jgfs_atmos_post_f105 + trigger ./jgfs_atmos_post_manager:release_post105 + edit FHRGRP '106' + edit FHRLST 'f105' + edit FHR 'f105' + edit HR '105' + task jgfs_atmos_post_f106 + trigger ./jgfs_atmos_post_manager:release_post106 + edit FHRGRP '107' + edit FHRLST 'f106' + edit FHR 'f106' + edit HR '106' + task jgfs_atmos_post_f107 + trigger ./jgfs_atmos_post_manager:release_post107 + edit FHRGRP '108' + edit FHRLST 'f107' + edit FHR 'f107' + edit HR '107' + task jgfs_atmos_post_f108 + trigger ./jgfs_atmos_post_manager:release_post108 + edit FHRGRP '109' + edit FHRLST 'f108' + edit FHR 'f108' + edit HR '108' + task jgfs_atmos_post_f109 + trigger ./jgfs_atmos_post_manager:release_post109 + edit FHRGRP '110' + edit FHRLST 'f109' + edit FHR 'f109' + edit HR '109' + task jgfs_atmos_post_f110 + trigger ./jgfs_atmos_post_manager:release_post110 + edit FHRGRP '111' + edit FHRLST 'f110' + edit FHR 'f110' + edit HR '110' + task jgfs_atmos_post_f111 + trigger ./jgfs_atmos_post_manager:release_post111 + edit FHRGRP '112' + edit FHRLST 'f111' + edit FHR 'f111' + edit HR '111' + task jgfs_atmos_post_f112 + trigger ./jgfs_atmos_post_manager:release_post112 + edit FHRGRP '113' + edit FHRLST 'f112' + edit FHR 'f112' + edit HR '112' + task jgfs_atmos_post_f113 + trigger ./jgfs_atmos_post_manager:release_post113 + edit FHRGRP '114' + edit FHRLST 'f113' + edit FHR 'f113' + edit HR '113' + task jgfs_atmos_post_f114 + trigger ./jgfs_atmos_post_manager:release_post114 + edit FHRGRP '115' + edit FHRLST 'f114' + edit FHR 'f114' + edit HR '114' + task jgfs_atmos_post_f115 + trigger ./jgfs_atmos_post_manager:release_post115 + edit FHRGRP '116' + edit FHRLST 'f115' + edit FHR 'f115' + edit HR '115' + task jgfs_atmos_post_f116 + trigger ./jgfs_atmos_post_manager:release_post116 + edit FHRGRP '117' + edit FHRLST 'f116' + edit FHR 'f116' + edit HR '116' + task jgfs_atmos_post_f117 + trigger ./jgfs_atmos_post_manager:release_post117 + edit FHRGRP '118' + edit FHRLST 'f117' + edit FHR 'f117' + edit HR '117' + task jgfs_atmos_post_f118 + trigger ./jgfs_atmos_post_manager:release_post118 + edit FHRGRP '119' + edit FHRLST 'f118' + edit FHR 'f118' + edit HR '118' + task jgfs_atmos_post_f119 + trigger ./jgfs_atmos_post_manager:release_post119 + edit FHRGRP '120' + edit FHRLST 'f119' + edit FHR 'f119' + edit HR '119' + task jgfs_atmos_post_f120 + trigger ./jgfs_atmos_post_manager:release_post120 + edit FHRGRP '121' + edit FHRLST 'f120' + edit FHR 'f120' + edit HR '120' + task jgfs_atmos_post_f123 + trigger ./jgfs_atmos_post_manager:release_post123 + edit FHRGRP '122' + edit FHRLST 'f123' + edit FHR 'f123' + edit HR '123' + task jgfs_atmos_post_f126 + trigger ./jgfs_atmos_post_manager:release_post126 + edit FHRGRP '123' + edit FHRLST 'f126' + edit FHR 'f126' + edit HR '126' + task jgfs_atmos_post_f129 + trigger ./jgfs_atmos_post_manager:release_post129 + edit FHRGRP '124' + edit FHRLST 'f129' + edit FHR 'f129' + edit HR '129' + task jgfs_atmos_post_f132 + trigger ./jgfs_atmos_post_manager:release_post132 + edit FHRGRP '125' + edit FHRLST 'f132' + edit FHR 'f132' + edit HR '132' + task jgfs_atmos_post_f135 + trigger ./jgfs_atmos_post_manager:release_post135 + edit FHRGRP '126' + edit FHRLST 'f135' + edit FHR 'f135' + edit HR '135' + task jgfs_atmos_post_f138 + trigger ./jgfs_atmos_post_manager:release_post138 + edit FHRGRP '127' + edit FHRLST 'f138' + edit FHR 'f138' + edit HR '138' + task jgfs_atmos_post_f141 + trigger ./jgfs_atmos_post_manager:release_post141 + edit FHRGRP '128' + edit FHRLST 'f141' + edit FHR 'f141' + edit HR '141' + task jgfs_atmos_post_f144 + trigger ./jgfs_atmos_post_manager:release_post144 + edit FHRGRP '129' + edit FHRLST 'f144' + edit FHR 'f144' + edit HR '144' + task jgfs_atmos_post_f147 + trigger ./jgfs_atmos_post_manager:release_post147 + edit FHRGRP '130' + edit FHRLST 'f147' + edit FHR 'f147' + edit HR '147' + task jgfs_atmos_post_f150 + trigger ./jgfs_atmos_post_manager:release_post150 + edit FHRGRP '131' + edit FHRLST 'f150' + edit FHR 'f150' + edit HR '150' + task jgfs_atmos_post_f153 + trigger ./jgfs_atmos_post_manager:release_post153 + edit FHRGRP '132' + edit FHRLST 'f153' + edit FHR 'f153' + edit HR '153' + task jgfs_atmos_post_f156 + trigger ./jgfs_atmos_post_manager:release_post156 + edit FHRGRP '133' + edit FHRLST 'f156' + edit FHR 'f156' + edit HR '156' + task jgfs_atmos_post_f159 + trigger ./jgfs_atmos_post_manager:release_post159 + edit FHRGRP '134' + edit FHRLST 'f159' + edit FHR 'f159' + edit HR '159' + task jgfs_atmos_post_f162 + trigger ./jgfs_atmos_post_manager:release_post162 + edit FHRGRP '135' + edit FHRLST 'f162' + edit FHR 'f162' + edit HR '162' + task jgfs_atmos_post_f165 + trigger ./jgfs_atmos_post_manager:release_post165 + edit FHRGRP '136' + edit FHRLST 'f165' + edit FHR 'f165' + edit HR '165' + task jgfs_atmos_post_f168 + trigger ./jgfs_atmos_post_manager:release_post168 + edit FHRGRP '137' + edit FHRLST 'f168' + edit FHR 'f168' + edit HR '168' + task jgfs_atmos_post_f171 + trigger ./jgfs_atmos_post_manager:release_post171 + edit FHRGRP '138' + edit FHRLST 'f171' + edit FHR 'f171' + edit HR '171' + task jgfs_atmos_post_f174 + trigger ./jgfs_atmos_post_manager:release_post174 + edit FHRGRP '139' + edit FHRLST 'f174' + edit FHR 'f174' + edit HR '174' + task jgfs_atmos_post_f177 + trigger ./jgfs_atmos_post_manager:release_post177 + edit FHRGRP '140' + edit FHRLST 'f177' + edit FHR 'f177' + edit HR '177' + task jgfs_atmos_post_f180 + trigger ./jgfs_atmos_post_manager:release_post180 + edit FHRGRP '141' + edit FHRLST 'f180' + edit FHR 'f180' + edit HR '180' + task jgfs_atmos_post_f183 + trigger ./jgfs_atmos_post_manager:release_post183 + edit FHRGRP '142' + edit FHRLST 'f183' + edit FHR 'f183' + edit HR '183' + task jgfs_atmos_post_f186 + trigger ./jgfs_atmos_post_manager:release_post186 + edit FHRGRP '143' + edit FHRLST 'f186' + edit FHR 'f186' + edit HR '186' + task jgfs_atmos_post_f189 + trigger ./jgfs_atmos_post_manager:release_post189 + edit FHRGRP '144' + edit FHRLST 'f189' + edit FHR 'f189' + edit HR '189' + task jgfs_atmos_post_f192 + trigger ./jgfs_atmos_post_manager:release_post192 + edit FHRGRP '145' + edit FHRLST 'f192' + edit FHR 'f192' + edit HR '192' + task jgfs_atmos_post_f195 + trigger ./jgfs_atmos_post_manager:release_post195 + edit FHRGRP '146' + edit FHRLST 'f195' + edit FHR 'f195' + edit HR '195' + task jgfs_atmos_post_f198 + trigger ./jgfs_atmos_post_manager:release_post198 + edit FHRGRP '147' + edit FHRLST 'f198' + edit FHR 'f198' + edit HR '198' + task jgfs_atmos_post_f201 + trigger ./jgfs_atmos_post_manager:release_post201 + edit FHRGRP '148' + edit FHRLST 'f201' + edit FHR 'f201' + edit HR '201' + task jgfs_atmos_post_f204 + trigger ./jgfs_atmos_post_manager:release_post204 + edit FHRGRP '149' + edit FHRLST 'f204' + edit FHR 'f204' + edit HR '204' + task jgfs_atmos_post_f207 + trigger ./jgfs_atmos_post_manager:release_post207 + edit FHRGRP '150' + edit FHRLST 'f207' + edit FHR 'f207' + edit HR '207' + task jgfs_atmos_post_f210 + trigger ./jgfs_atmos_post_manager:release_post210 + edit FHRGRP '151' + edit FHRLST 'f210' + edit FHR 'f210' + edit HR '210' + task jgfs_atmos_post_f213 + trigger ./jgfs_atmos_post_manager:release_post213 + edit FHRGRP '152' + edit FHRLST 'f213' + edit FHR 'f213' + edit HR '213' + task jgfs_atmos_post_f216 + trigger ./jgfs_atmos_post_manager:release_post216 + edit FHRGRP '153' + edit FHRLST 'f216' + edit FHR 'f216' + edit HR '216' + task jgfs_atmos_post_f219 + trigger ./jgfs_atmos_post_manager:release_post219 + edit FHRGRP '154' + edit FHRLST 'f219' + edit FHR 'f219' + edit HR '219' + task jgfs_atmos_post_f222 + trigger ./jgfs_atmos_post_manager:release_post222 + edit FHRGRP '155' + edit FHRLST 'f222' + edit FHR 'f222' + edit HR '222' + task jgfs_atmos_post_f225 + trigger ./jgfs_atmos_post_manager:release_post225 + edit FHRGRP '156' + edit FHRLST 'f225' + edit FHR 'f225' + edit HR '225' + task jgfs_atmos_post_f228 + trigger ./jgfs_atmos_post_manager:release_post228 + edit FHRGRP '157' + edit FHRLST 'f228' + edit FHR 'f228' + edit HR '228' + task jgfs_atmos_post_f231 + trigger ./jgfs_atmos_post_manager:release_post231 + edit FHRGRP '158' + edit FHRLST 'f231' + edit FHR 'f231' + edit HR '231' + task jgfs_atmos_post_f234 + trigger ./jgfs_atmos_post_manager:release_post234 + edit FHRGRP '159' + edit FHRLST 'f234' + edit FHR 'f234' + edit HR '234' + task jgfs_atmos_post_f237 + trigger ./jgfs_atmos_post_manager:release_post237 + edit FHRGRP '160' + edit FHRLST 'f237' + edit FHR 'f237' + edit HR '237' + task jgfs_atmos_post_f240 + trigger ./jgfs_atmos_post_manager:release_post240 + edit FHRGRP '161' + edit FHRLST 'f240' + edit FHR 'f240' + edit HR '240' + task jgfs_atmos_post_f243 + trigger ./jgfs_atmos_post_manager:release_post243 + edit FHRGRP '162' + edit FHRLST 'f243' + edit FHR 'f243' + edit HR '243' + task jgfs_atmos_post_f246 + trigger ./jgfs_atmos_post_manager:release_post246 + edit FHRGRP '163' + edit FHRLST 'f246' + edit FHR 'f246' + edit HR '246' + task jgfs_atmos_post_f249 + trigger ./jgfs_atmos_post_manager:release_post249 + edit FHRGRP '164' + edit FHRLST 'f249' + edit FHR 'f249' + edit HR '249' + task jgfs_atmos_post_f252 + trigger ./jgfs_atmos_post_manager:release_post252 + edit FHRGRP '165' + edit FHRLST 'f252' + edit FHR 'f252' + edit HR '252' + task jgfs_atmos_post_f255 + trigger ./jgfs_atmos_post_manager:release_post255 + edit FHRGRP '166' + edit FHRLST 'f255' + edit FHR 'f255' + edit HR '255' + task jgfs_atmos_post_f258 + trigger ./jgfs_atmos_post_manager:release_post258 + edit FHRGRP '167' + edit FHRLST 'f258' + edit FHR 'f258' + edit HR '258' + task jgfs_atmos_post_f261 + trigger ./jgfs_atmos_post_manager:release_post261 + edit FHRGRP '168' + edit FHRLST 'f261' + edit FHR 'f261' + edit HR '261' + task jgfs_atmos_post_f264 + trigger ./jgfs_atmos_post_manager:release_post264 + edit FHRGRP '169' + edit FHRLST 'f264' + edit FHR 'f264' + edit HR '264' + task jgfs_atmos_post_f267 + trigger ./jgfs_atmos_post_manager:release_post267 + edit FHRGRP '170' + edit FHRLST 'f267' + edit FHR 'f267' + edit HR '267' + task jgfs_atmos_post_f270 + trigger ./jgfs_atmos_post_manager:release_post270 + edit FHRGRP '171' + edit FHRLST 'f270' + edit FHR 'f270' + edit HR '270' + task jgfs_atmos_post_f273 + trigger ./jgfs_atmos_post_manager:release_post273 + edit FHRGRP '172' + edit FHRLST 'f273' + edit FHR 'f273' + edit HR '273' + task jgfs_atmos_post_f276 + trigger ./jgfs_atmos_post_manager:release_post276 + edit FHRGRP '173' + edit FHRLST 'f276' + edit FHR 'f276' + edit HR '276' + task jgfs_atmos_post_f279 + trigger ./jgfs_atmos_post_manager:release_post279 + edit FHRGRP '174' + edit FHRLST 'f279' + edit FHR 'f279' + edit HR '279' + task jgfs_atmos_post_f282 + trigger ./jgfs_atmos_post_manager:release_post282 + edit FHRGRP '175' + edit FHRLST 'f282' + edit FHR 'f282' + edit HR '282' + task jgfs_atmos_post_f285 + trigger ./jgfs_atmos_post_manager:release_post285 + edit FHRGRP '176' + edit FHRLST 'f285' + edit FHR 'f285' + edit HR '285' + task jgfs_atmos_post_f288 + trigger ./jgfs_atmos_post_manager:release_post288 + edit FHRGRP '177' + edit FHRLST 'f288' + edit FHR 'f288' + edit HR '288' + task jgfs_atmos_post_f291 + trigger ./jgfs_atmos_post_manager:release_post291 + edit FHRGRP '178' + edit FHRLST 'f291' + edit FHR 'f291' + edit HR '291' + task jgfs_atmos_post_f294 + trigger ./jgfs_atmos_post_manager:release_post294 + edit FHRGRP '179' + edit FHRLST 'f294' + edit FHR 'f294' + edit HR '294' + task jgfs_atmos_post_f297 + trigger ./jgfs_atmos_post_manager:release_post297 + edit FHRGRP '180' + edit FHRLST 'f297' + edit FHR 'f297' + edit HR '297' + task jgfs_atmos_post_f300 + trigger ./jgfs_atmos_post_manager:release_post300 + edit FHRGRP '181' + edit FHRLST 'f300' + edit FHR 'f300' + edit HR '300' + task jgfs_atmos_post_f303 + trigger ./jgfs_atmos_post_manager:release_post303 + edit FHRGRP '182' + edit FHRLST 'f303' + edit FHR 'f303' + edit HR '303' + task jgfs_atmos_post_f306 + trigger ./jgfs_atmos_post_manager:release_post306 + edit FHRGRP '183' + edit FHRLST 'f306' + edit FHR 'f306' + edit HR '306' + task jgfs_atmos_post_f309 + trigger ./jgfs_atmos_post_manager:release_post309 + edit FHRGRP '184' + edit FHRLST 'f309' + edit FHR 'f309' + edit HR '309' + task jgfs_atmos_post_f312 + trigger ./jgfs_atmos_post_manager:release_post312 + edit FHRGRP '185' + edit FHRLST 'f312' + edit FHR 'f312' + edit HR '312' + task jgfs_atmos_post_f315 + trigger ./jgfs_atmos_post_manager:release_post315 + edit FHRGRP '186' + edit FHRLST 'f315' + edit FHR 'f315' + edit HR '315' + task jgfs_atmos_post_f318 + trigger ./jgfs_atmos_post_manager:release_post318 + edit FHRGRP '187' + edit FHRLST 'f318' + edit FHR 'f318' + edit HR '318' + task jgfs_atmos_post_f321 + trigger ./jgfs_atmos_post_manager:release_post321 + edit FHRGRP '188' + edit FHRLST 'f321' + edit FHR 'f321' + edit HR '321' + task jgfs_atmos_post_f324 + trigger ./jgfs_atmos_post_manager:release_post324 + edit FHRGRP '189' + edit FHRLST 'f324' + edit FHR 'f324' + edit HR '324' + task jgfs_atmos_post_f327 + trigger ./jgfs_atmos_post_manager:release_post327 + edit FHRGRP '190' + edit FHRLST 'f327' + edit FHR 'f327' + edit HR '327' + task jgfs_atmos_post_f330 + trigger ./jgfs_atmos_post_manager:release_post330 + edit FHRGRP '191' + edit FHRLST 'f330' + edit FHR 'f330' + edit HR '330' + task jgfs_atmos_post_f333 + trigger ./jgfs_atmos_post_manager:release_post333 + edit FHRGRP '192' + edit FHRLST 'f333' + edit FHR 'f333' + edit HR '333' + task jgfs_atmos_post_f336 + trigger ./jgfs_atmos_post_manager:release_post336 + edit FHRGRP '193' + edit FHRLST 'f336' + edit FHR 'f336' + edit HR '336' + task jgfs_atmos_post_f339 + trigger ./jgfs_atmos_post_manager:release_post339 + edit FHRGRP '194' + edit FHRLST 'f339' + edit FHR 'f339' + edit HR '339' + task jgfs_atmos_post_f342 + trigger ./jgfs_atmos_post_manager:release_post342 + edit FHRGRP '195' + edit FHRLST 'f342' + edit FHR 'f342' + edit HR '342' + task jgfs_atmos_post_f345 + trigger ./jgfs_atmos_post_manager:release_post345 + edit FHRGRP '196' + edit FHRLST 'f345' + edit FHR 'f345' + edit HR '345' + task jgfs_atmos_post_f348 + trigger ./jgfs_atmos_post_manager:release_post348 + edit FHRGRP '197' + edit FHRLST 'f348' + edit FHR 'f348' + edit HR '348' + task jgfs_atmos_post_f351 + trigger ./jgfs_atmos_post_manager:release_post351 + edit FHRGRP '198' + edit FHRLST 'f351' + edit FHR 'f351' + edit HR '351' + task jgfs_atmos_post_f354 + trigger ./jgfs_atmos_post_manager:release_post354 + edit FHRGRP '199' + edit FHRLST 'f354' + edit FHR 'f354' + edit HR '354' + task jgfs_atmos_post_f357 + trigger ./jgfs_atmos_post_manager:release_post357 + edit FHRGRP '200' + edit FHRLST 'f357' + edit FHR 'f357' + edit HR '357' + task jgfs_atmos_post_f360 + trigger ./jgfs_atmos_post_manager:release_post360 + edit FHRGRP '201' + edit FHRLST 'f360' + edit FHR 'f360' + edit HR '360' + task jgfs_atmos_post_f363 + trigger ./jgfs_atmos_post_manager:release_post363 + edit FHRGRP '202' + edit FHRLST 'f363' + edit FHR 'f363' + edit HR '363' + task jgfs_atmos_post_f366 + trigger ./jgfs_atmos_post_manager:release_post366 + edit FHRGRP '203' + edit FHRLST 'f366' + edit FHR 'f366' + edit HR '366' + task jgfs_atmos_post_f369 + trigger ./jgfs_atmos_post_manager:release_post369 + edit FHRGRP '204' + edit FHRLST 'f369' + edit FHR 'f369' + edit HR '369' + task jgfs_atmos_post_f372 + trigger ./jgfs_atmos_post_manager:release_post372 + edit FHRGRP '205' + edit FHRLST 'f372' + edit FHR 'f372' + edit HR '372' + task jgfs_atmos_post_f375 + trigger ./jgfs_atmos_post_manager:release_post375 + edit FHRGRP '206' + edit FHRLST 'f375' + edit FHR 'f375' + edit HR '375' + task jgfs_atmos_post_f378 + trigger ./jgfs_atmos_post_manager:release_post378 + edit FHRGRP '207' + edit FHRLST 'f378' + edit FHR 'f378' + edit HR '378' + task jgfs_atmos_post_f381 + trigger ./jgfs_atmos_post_manager:release_post381 + edit FHRGRP '208' + edit FHRLST 'f381' + edit FHR 'f381' + edit HR '381' + task jgfs_atmos_post_f384 + trigger ./jgfs_atmos_post_manager:release_post384 + edit FHRGRP '209' + edit FHRLST 'f384' + edit FHR 'f384' + edit HR '384' + endfamily + family post_processing + task jgfs_atmos_wafs_gcip + trigger ( :TIME >= 0440 and :TIME < 1040 ) and ../post/jgfs_atmos_post_f003 == complete + family grib_wafs + task jgfs_atmos_wafs_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete and ../../post/jgfs_atmos_post_f120 == complete and ../grib2_wafs/jgfs_atmos_wafs_grib2 == complete + edit FCSTHR '00' + task jgfs_atmos_wafs_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete and ./jgfs_atmos_wafs_f000 == complete + edit FCSTHR '06' + task jgfs_atmos_wafs_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete and ./jgfs_atmos_wafs_f006 == complete + edit FCSTHR '12' + task jgfs_atmos_wafs_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete and ./jgfs_atmos_wafs_f012 == complete + edit FCSTHR '18' + task jgfs_atmos_wafs_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete and ./jgfs_atmos_wafs_f018 == complete + edit FCSTHR '24' + task jgfs_atmos_wafs_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete and ./jgfs_atmos_wafs_f024 == complete + edit FCSTHR '30' + task jgfs_atmos_wafs_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete and ./jgfs_atmos_wafs_f030 == complete + edit FCSTHR '36' + task jgfs_atmos_wafs_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete and ./jgfs_atmos_wafs_f036 == complete + edit FCSTHR '42' + task jgfs_atmos_wafs_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete and ./jgfs_atmos_wafs_f042 == complete + edit FCSTHR '48' + task jgfs_atmos_wafs_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete and ./jgfs_atmos_wafs_f048 == complete + edit FCSTHR '54' + task jgfs_atmos_wafs_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete and ./jgfs_atmos_wafs_f054 == complete + edit FCSTHR '60' + task jgfs_atmos_wafs_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete and ./jgfs_atmos_wafs_f060 == complete + edit FCSTHR '66' + task jgfs_atmos_wafs_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete and ./jgfs_atmos_wafs_f066 == complete + edit FCSTHR '72' + task jgfs_atmos_wafs_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete and ./jgfs_atmos_wafs_f072 == complete + edit FCSTHR '78' + task jgfs_atmos_wafs_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete and ./jgfs_atmos_wafs_f078 == complete + edit FCSTHR '84' + task jgfs_atmos_wafs_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete and ./jgfs_atmos_wafs_f084 == complete + edit FCSTHR '90' + task jgfs_atmos_wafs_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete and ./jgfs_atmos_wafs_f090 == complete + edit FCSTHR '96' + task jgfs_atmos_wafs_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete and ./jgfs_atmos_wafs_f096 == complete + edit FCSTHR '102' + task jgfs_atmos_wafs_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete and ./jgfs_atmos_wafs_f102 == complete + edit FCSTHR '108' + task jgfs_atmos_wafs_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete and ./jgfs_atmos_wafs_f108 == complete + edit FCSTHR '114' + task jgfs_atmos_wafs_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete and ./jgfs_atmos_wafs_f114 == complete + edit FCSTHR '120' + endfamily + family grib2_wafs + task jgfs_atmos_wafs_grib2 + trigger ../../post/jgfs_atmos_post_f000 == complete + task jgfs_atmos_wafs_grib2_0p25 + trigger ../../post/jgfs_atmos_post_f036 == complete + task jgfs_atmos_wafs_blending + trigger ( :TIME >= 0433 and :TIME < 1033) and ./jgfs_atmos_wafs_grib2 == complete + task jgfs_atmos_wafs_blending_0p25 + trigger ( :TIME >= 0425 and :TIME < 1025) and ./jgfs_atmos_wafs_grib2_0p25 == complete + endfamily + family bufr_sounding + task jgfs_atmos_postsnd + trigger ../../post/jgfs_atmos_post_manager:release_post000 + endfamily + family bulletins + task jgfs_atmos_fbwind + trigger ../../post/jgfs_atmos_post_f006 == complete and ../../post/jgfs_atmos_post_f012 == complete and ../../post/jgfs_atmos_post_f024 == complete + endfamily + family awips_20km_1p0 + task jgfs_atmos_awips_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f003 + trigger ../../post/jgfs_atmos_post_f003 == complete + edit FHRGRP '003' + edit FHRLST 'f003' + edit FCSTHR '003' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f009 + trigger ../../post/jgfs_atmos_post_f009 == complete + edit FHRGRP '009' + edit FHRLST 'f009' + edit FCSTHR '009' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f015 + trigger ../../post/jgfs_atmos_post_f015 == complete + edit FHRGRP '015' + edit FHRLST 'f015' + edit FCSTHR '015' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f021 + trigger ../../post/jgfs_atmos_post_f021 == complete + edit FHRGRP '021' + edit FHRLST 'f021' + edit FCSTHR '021' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f027 + trigger ../../post/jgfs_atmos_post_f027 == complete + edit FHRGRP '027' + edit FHRLST 'f027' + edit FCSTHR '027' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f033 + trigger ../../post/jgfs_atmos_post_f033 == complete + edit FHRGRP '033' + edit FHRLST 'f033' + edit FCSTHR '033' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f039 + trigger ../../post/jgfs_atmos_post_f039 == complete + edit FHRGRP '039' + edit FHRLST 'f039' + edit FCSTHR '039' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f045 + trigger ../../post/jgfs_atmos_post_f045 == complete + edit FHRGRP '045' + edit FHRLST 'f045' + edit FCSTHR '045' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f051 + trigger ../../post/jgfs_atmos_post_f051 == complete + edit FHRGRP '051' + edit FHRLST 'f051' + edit FCSTHR '051' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f057 + trigger ../../post/jgfs_atmos_post_f057 == complete + edit FHRGRP '057' + edit FHRLST 'f057' + edit FCSTHR '057' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f063 + trigger ../../post/jgfs_atmos_post_f063 == complete + edit FHRGRP '063' + edit FHRLST 'f063' + edit FCSTHR '063' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f069 + trigger ../../post/jgfs_atmos_post_f069 == complete + edit FHRGRP '069' + edit FHRLST 'f069' + edit FCSTHR '069' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f075 + trigger ../../post/jgfs_atmos_post_f075 == complete + edit FHRGRP '075' + edit FHRLST 'f075' + edit FCSTHR '075' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f081 + trigger ../../post/jgfs_atmos_post_f081 == complete + edit FHRGRP '081' + edit FHRLST 'f081' + edit FCSTHR '081' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + family awips_g2 + task jgfs_atmos_awips_g2_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + endfamily + family gempak + task jgfs_atmos_gempak + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_meta + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_ncdc_upapgif + trigger ./jgfs_atmos_gempak == active or ./jgfs_atmos_gempak == complete + task jgfs_atmos_npoess_pgrb2_0p5deg + trigger ../post/jgfs_atmos_post_anl eq active or ../post/jgfs_atmos_post_anl == complete + task jgfs_atmos_pgrb2_spec_gempak + trigger ./jgfs_atmos_npoess_pgrb2_0p5deg == complete + endfamily + family verf + task jgfs_atmos_vminmon + trigger ../analysis/jgfs_atmos_analysis == complete + endfamily + endfamily + family wave + family init + task jgfs_wave_init + trigger /prod/primary/00/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete + endfamily + family prep + task jgfs_wave_prep + trigger ../init/jgfs_wave_init == complete + endfamily + family post + task jgfs_wave_postsbs + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post000 + task jgfs_wave_postpnt + trigger ../../jgfs_forecast == complete + task jgfs_wave_post_bndpnt + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_post_bndpntbll + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_prdgen_gridded + trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete + task jgfs_wave_prdgen_bulls + trigger ./jgfs_wave_postpnt == complete and ./jgfs_wave_postsbs == complete + endfamily + family gempak + task jgfs_wave_gempak + trigger ../post/jgfs_wave_postsbs == active or ../post/jgfs_wave_postsbs == complete + endfamily + endfamily + task jgfs_forecast + trigger ./atmos/analysis/jgfs_atmos_analysis:release_fcst and ./wave/prep/jgfs_wave_prep == complete + endfamily + family gdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gdas' + family atmos + family obsproc + family dump + task jgdas_atmos_tropcy_qc_reloc + trigger :TIME >= 0545 and :TIME < 1145 + endfamily + family prep + task jgdas_atmos_emcsfc_sfc_prep + trigger /prod/primary/00/obsproc/v1.0/gdas/atmos/dump/jobsproc_gdas_atmos_dump:release_sfcprep + endfamily + endfamily + family init + task jgdas_atmos_gldas + trigger ../analysis/jgdas_atmos_analysis == complete + endfamily + family analysis + task jgdas_atmos_analysis + trigger /prod/primary/00/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and ../obsproc/prep/jgdas_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgdas_atmos_analysis_calc + trigger ./jgdas_atmos_analysis == complete + task jgdas_atmos_analysis_diag + trigger ./jgdas_atmos_analysis == complete + endfamily + family post + task jgdas_atmos_post_manager + trigger ../../jgdas_forecast == active + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + task jgdas_atmos_post_anl + trigger ./jgdas_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgdas_atmos_post_f000 + trigger ./jgdas_atmos_post_manager:release_post000 + edit FHR 'f000' + edit HR '000' + edit FHRGRP '001' + edit FHRLST 'f000' + task jgdas_atmos_post_f001 + trigger ./jgdas_atmos_post_manager:release_post001 + edit FHR 'f001' + edit HR '001' + edit FHRGRP '002' + edit FHRLST 'f001' + task jgdas_atmos_post_f002 + trigger ./jgdas_atmos_post_manager:release_post002 + edit FHR 'f002' + edit HR '002' + edit FHRGRP '003' + edit FHRLST 'f002' + task jgdas_atmos_post_f003 + trigger ./jgdas_atmos_post_manager:release_post003 + edit FHR 'f003' + edit HR '003' + edit FHRGRP '004' + edit FHRLST 'f003' + task jgdas_atmos_post_f004 + trigger ./jgdas_atmos_post_manager:release_post004 + edit FHR 'f004' + edit HR '004' + edit FHRGRP '005' + edit FHRLST 'f004' + task jgdas_atmos_post_f005 + trigger ./jgdas_atmos_post_manager:release_post005 + edit FHR 'f005' + edit HR '005' + edit FHRGRP '006' + edit FHRLST 'f005' + task jgdas_atmos_post_f006 + trigger ./jgdas_atmos_post_manager:release_post006 + edit FHR 'f006' + edit HR '006' + edit FHRGRP '007' + edit FHRLST 'f006' + task jgdas_atmos_post_f007 + trigger ./jgdas_atmos_post_manager:release_post007 + edit FHR 'f007' + edit HR '007' + edit FHRGRP '008' + edit FHRLST 'f007' + task jgdas_atmos_post_f008 + trigger ./jgdas_atmos_post_manager:release_post008 + edit FHR 'f008' + edit HR '008' + edit FHRGRP '009' + edit FHRLST 'f008' + task jgdas_atmos_post_f009 + trigger ./jgdas_atmos_post_manager:release_post009 + edit FHR 'f009' + edit HR '009' + edit FHRGRP '010' + edit FHRLST 'f009' + endfamily + family post_processing + task jgdas_atmos_chgres_forenkf + trigger ../../jgdas_forecast == complete and ../../../enkfgdas/forecast == complete + endfamily + family gempak + task jgdas_atmos_gempak + trigger ../../jgdas_forecast == complete + task jgdas_atmos_gempak_meta_ncdc + trigger ./jgdas_atmos_gempak == complete + endfamily + family verf + task jgdas_atmos_vminmon + trigger ../analysis/jgdas_atmos_analysis == complete + task jgdas_atmos_verfrad + trigger ../analysis/jgdas_atmos_analysis_diag == complete + task jgdas_atmos_verfozn + trigger ../analysis/jgdas_atmos_analysis_diag == complete + endfamily + endfamily + family wave + family init + task jgdas_wave_init + trigger /prod/primary/00/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete + endfamily + family prep + task jgdas_wave_prep + trigger ../init/jgdas_wave_init == complete + endfamily + family post + task jgdas_wave_postsbs + trigger ../../atmos/post/jgdas_atmos_post_manager:release_post000 + task jgdas_wave_postpnt + trigger ../../jgdas_forecast == complete + endfamily + endfamily + task jgdas_forecast + trigger ./atmos/analysis/jgdas_atmos_analysis:release_fcst and ./wave/prep/jgdas_wave_prep == complete and ./atmos/init/jgdas_atmos_gldas == complete + endfamily + family enkfgdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas' + family analysis + family create + task jenkfgdas_select_obs + trigger /prod/primary/00/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and /prod/primary/18/gfs/v16.2/enkfgdas/post == complete + task jenkfgdas_diag + trigger ./jenkfgdas_select_obs == complete + task jenkfgdas_update + trigger ./jenkfgdas_diag == complete + endfamily + family recenter + family ecen + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete and /prod/primary/18/gfs/v16.2/gdas/atmos/post_processing/jgdas_atmos_chgres_forenkf == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/analysis/recenter/ecen' + family grp1 + edit FHRGRP '003' + task jenkfgdas_ecen + endfamily + family grp2 + edit FHRGRP '006' + task jenkfgdas_ecen + endfamily + family grp3 + edit FHRGRP '009' + task jenkfgdas_ecen + endfamily + endfamily + task jenkfgdas_sfc + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete + endfamily + endfamily + family forecast + trigger ./analysis/recenter/ecen == complete and ./analysis/recenter/jenkfgdas_sfc == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/forecast' + family grp1 + edit ENSGRP '01' + task jenkfgdas_fcst + endfamily + family grp2 + edit ENSGRP '02' + task jenkfgdas_fcst + endfamily + family grp3 + edit ENSGRP '03' + task jenkfgdas_fcst + endfamily + family grp4 + edit ENSGRP '04' + task jenkfgdas_fcst + endfamily + family grp5 + edit ENSGRP '05' + task jenkfgdas_fcst + endfamily + family grp6 + edit ENSGRP '06' + task jenkfgdas_fcst + endfamily + family grp7 + edit ENSGRP '07' + task jenkfgdas_fcst + endfamily + family grp8 + edit ENSGRP '08' + task jenkfgdas_fcst + endfamily + family grp9 + edit ENSGRP '09' + task jenkfgdas_fcst + endfamily + family grp10 + edit ENSGRP '10' + task jenkfgdas_fcst + endfamily + family grp11 + edit ENSGRP '11' + task jenkfgdas_fcst + endfamily + family grp12 + edit ENSGRP '12' + task jenkfgdas_fcst + endfamily + family grp13 + edit ENSGRP '13' + task jenkfgdas_fcst + endfamily + family grp14 + edit ENSGRP '14' + task jenkfgdas_fcst + endfamily + family grp15 + edit ENSGRP '15' + task jenkfgdas_fcst + endfamily + family grp16 + edit ENSGRP '16' + task jenkfgdas_fcst + endfamily + family grp17 + edit ENSGRP '17' + task jenkfgdas_fcst + endfamily + family grp18 + edit ENSGRP '18' + task jenkfgdas_fcst + endfamily + family grp19 + edit ENSGRP '19' + task jenkfgdas_fcst + endfamily + family grp20 + edit ENSGRP '20' + task jenkfgdas_fcst + endfamily + family grp21 + edit ENSGRP '21' + task jenkfgdas_fcst + endfamily + family grp22 + edit ENSGRP '22' + task jenkfgdas_fcst + endfamily + family grp23 + edit ENSGRP '23' + task jenkfgdas_fcst + endfamily + family grp24 + edit ENSGRP '24' + task jenkfgdas_fcst + endfamily + family grp25 + edit ENSGRP '25' + task jenkfgdas_fcst + endfamily + family grp26 + edit ENSGRP '26' + task jenkfgdas_fcst + endfamily + family grp27 + edit ENSGRP '27' + task jenkfgdas_fcst + endfamily + family grp28 + edit ENSGRP '28' + task jenkfgdas_fcst + endfamily + family grp29 + edit ENSGRP '29' + task jenkfgdas_fcst + endfamily + family grp30 + edit ENSGRP '30' + task jenkfgdas_fcst + endfamily + family grp31 + edit ENSGRP '31' + task jenkfgdas_fcst + endfamily + family grp32 + edit ENSGRP '32' + task jenkfgdas_fcst + endfamily + family grp33 + edit ENSGRP '33' + task jenkfgdas_fcst + endfamily + family grp34 + edit ENSGRP '34' + task jenkfgdas_fcst + endfamily + family grp35 + edit ENSGRP '35' + task jenkfgdas_fcst + endfamily + family grp36 + edit ENSGRP '36' + task jenkfgdas_fcst + endfamily + family grp37 + edit ENSGRP '37' + task jenkfgdas_fcst + endfamily + family grp38 + edit ENSGRP '38' + task jenkfgdas_fcst + endfamily + family grp39 + edit ENSGRP '39' + task jenkfgdas_fcst + endfamily + family grp40 + edit ENSGRP '40' + task jenkfgdas_fcst + endfamily + endfamily + family post + trigger ./forecast == complete + task jenkfgdas_post_f003 + edit FHMIN_EPOS '003' + edit FHMAX_EPOS '003' + edit FHOUT_EPOS '003' + task jenkfgdas_post_f004 + edit FHMIN_EPOS '004' + edit FHMAX_EPOS '004' + edit FHOUT_EPOS '004' + task jenkfgdas_post_f005 + edit FHMIN_EPOS '005' + edit FHMAX_EPOS '005' + edit FHOUT_EPOS '005' + task jenkfgdas_post_f006 + edit FHMIN_EPOS '006' + edit FHMAX_EPOS '006' + edit FHOUT_EPOS '006' + task jenkfgdas_post_f007 + edit FHMIN_EPOS '007' + edit FHMAX_EPOS '007' + edit FHOUT_EPOS '007' + task jenkfgdas_post_f008 + edit FHMIN_EPOS '008' + edit FHMAX_EPOS '008' + edit FHOUT_EPOS '008' + task jenkfgdas_post_f009 + edit FHMIN_EPOS '009' + edit FHMAX_EPOS '009' + edit FHOUT_EPOS '009' + endfamily + endfamily + endfamily + From 2c29fcc3a31e206ef552dc56742b204f4fdf6ae5 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 7 Apr 2022 20:19:26 +0000 Subject: [PATCH 03/78] Add 06, 12, and 18 WCOSS2 operational GFS defs Refs: #399 --- ecflow/ecf/defs/gfs_06.def | 2589 +++++++++++++++++++++++++++++++++++ ecflow/ecf/defs/gfs_12.def | 2590 ++++++++++++++++++++++++++++++++++++ ecflow/ecf/defs/gfs_18.def | 2589 +++++++++++++++++++++++++++++++++++ 3 files changed, 7768 insertions(+) create mode 100644 ecflow/ecf/defs/gfs_06.def create mode 100644 ecflow/ecf/defs/gfs_12.def create mode 100644 ecflow/ecf/defs/gfs_18.def diff --git a/ecflow/ecf/defs/gfs_06.def b/ecflow/ecf/defs/gfs_06.def new file mode 100644 index 0000000000..29b896d769 --- /dev/null +++ b/ecflow/ecf/defs/gfs_06.def @@ -0,0 +1,2589 @@ + family v16.2 + family gfs + edit RUN 'gfs' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gfs' + family atmos + family obsproc + family dump + task jgfs_atmos_tropcy_qc_reloc + trigger :TIME >= 0841 and :TIME < 1441 + event 1 jtwc_bull_email + endfamily + family prep + task jgfs_atmos_emcsfc_sfc_prep + trigger /prod/primary/06/obsproc/v1.0/gfs/atmos/dump/jobsproc_gfs_atmos_dump:release_sfcprep + endfamily + endfamily + family analysis + task jgfs_atmos_analysis + trigger /prod/primary/06/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete and ../obsproc/prep/jgfs_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgfs_atmos_analysis_calc + trigger ./jgfs_atmos_analysis == complete + endfamily + family post + task jgfs_atmos_post_manager + trigger ../analysis/jgfs_atmos_analysis == complete + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + event 12 release_post010 + event 13 release_post011 + event 14 release_post012 + event 15 release_post013 + event 16 release_post014 + event 17 release_post015 + event 18 release_post016 + event 19 release_post017 + event 20 release_post018 + event 21 release_post019 + event 22 release_post020 + event 23 release_post021 + event 24 release_post022 + event 25 release_post023 + event 26 release_post024 + event 27 release_post025 + event 28 release_post026 + event 29 release_post027 + event 30 release_post028 + event 31 release_post029 + event 32 release_post030 + event 33 release_post031 + event 34 release_post032 + event 35 release_post033 + event 36 release_post034 + event 37 release_post035 + event 38 release_post036 + event 39 release_post037 + event 40 release_post038 + event 41 release_post039 + event 42 release_post040 + event 43 release_post041 + event 44 release_post042 + event 45 release_post043 + event 46 release_post044 + event 47 release_post045 + event 48 release_post046 + event 49 release_post047 + event 50 release_post048 + event 51 release_post049 + event 52 release_post050 + event 53 release_post051 + event 54 release_post052 + event 55 release_post053 + event 56 release_post054 + event 57 release_post055 + event 58 release_post056 + event 59 release_post057 + event 60 release_post058 + event 61 release_post059 + event 62 release_post060 + event 63 release_post061 + event 64 release_post062 + event 65 release_post063 + event 66 release_post064 + event 67 release_post065 + event 68 release_post066 + event 69 release_post067 + event 70 release_post068 + event 71 release_post069 + event 72 release_post070 + event 73 release_post071 + event 74 release_post072 + event 75 release_post073 + event 76 release_post074 + event 77 release_post075 + event 78 release_post076 + event 79 release_post077 + event 80 release_post078 + event 81 release_post079 + event 82 release_post080 + event 83 release_post081 + event 84 release_post082 + event 85 release_post083 + event 86 release_post084 + event 87 release_post085 + event 88 release_post086 + event 89 release_post087 + event 90 release_post088 + event 91 release_post089 + event 92 release_post090 + event 93 release_post091 + event 94 release_post092 + event 95 release_post093 + event 96 release_post094 + event 97 release_post095 + event 98 release_post096 + event 99 release_post097 + event 100 release_post098 + event 101 release_post099 + event 102 release_post100 + event 103 release_post101 + event 104 release_post102 + event 105 release_post103 + event 106 release_post104 + event 107 release_post105 + event 108 release_post106 + event 109 release_post107 + event 110 release_post108 + event 111 release_post109 + event 112 release_post110 + event 113 release_post111 + event 114 release_post112 + event 115 release_post113 + event 116 release_post114 + event 117 release_post115 + event 118 release_post116 + event 119 release_post117 + event 120 release_post118 + event 121 release_post119 + event 122 release_post120 + event 123 release_post123 + event 124 release_post126 + event 125 release_post129 + event 126 release_post132 + event 127 release_post135 + event 128 release_post138 + event 129 release_post141 + event 130 release_post144 + event 131 release_post147 + event 132 release_post150 + event 133 release_post153 + event 134 release_post156 + event 135 release_post159 + event 136 release_post162 + event 137 release_post165 + event 138 release_post168 + event 139 release_post171 + event 140 release_post174 + event 141 release_post177 + event 142 release_post180 + event 143 release_post183 + event 144 release_post186 + event 145 release_post189 + event 146 release_post192 + event 147 release_post195 + event 148 release_post198 + event 149 release_post201 + event 150 release_post204 + event 151 release_post207 + event 152 release_post210 + event 153 release_post213 + event 154 release_post216 + event 155 release_post219 + event 156 release_post222 + event 157 release_post225 + event 158 release_post228 + event 159 release_post231 + event 160 release_post234 + event 161 release_post237 + event 162 release_post240 + event 163 release_post243 + event 164 release_post246 + event 165 release_post249 + event 166 release_post252 + event 167 release_post255 + event 168 release_post258 + event 169 release_post261 + event 170 release_post264 + event 171 release_post267 + event 172 release_post270 + event 173 release_post273 + event 174 release_post276 + event 175 release_post279 + event 176 release_post282 + event 177 release_post285 + event 178 release_post288 + event 179 release_post291 + event 180 release_post294 + event 181 release_post297 + event 182 release_post300 + event 183 release_post303 + event 184 release_post306 + event 185 release_post309 + event 186 release_post312 + event 187 release_post315 + event 188 release_post318 + event 189 release_post321 + event 190 release_post324 + event 191 release_post327 + event 192 release_post330 + event 193 release_post333 + event 194 release_post336 + event 195 release_post339 + event 196 release_post342 + event 197 release_post345 + event 198 release_post348 + event 199 release_post351 + event 200 release_post354 + event 201 release_post357 + event 202 release_post360 + event 203 release_post363 + event 204 release_post366 + event 205 release_post369 + event 206 release_post372 + event 207 release_post375 + event 208 release_post378 + event 209 release_post381 + event 210 release_post384 + task jgfs_atmos_post_anl + trigger ./jgfs_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgfs_atmos_post_f000 + trigger ./jgfs_atmos_post_manager:release_post000 + edit FHRGRP '001' + edit FHRLST 'f000' + edit FHR 'f000' + edit HR '000' + task jgfs_atmos_post_f001 + trigger ./jgfs_atmos_post_manager:release_post001 + edit FHRGRP '002' + edit FHRLST 'f001' + edit FHR 'f001' + edit HR '001' + task jgfs_atmos_post_f002 + trigger ./jgfs_atmos_post_manager:release_post002 + edit FHRGRP '003' + edit FHRLST 'f002' + edit FHR 'f002' + edit HR '002' + task jgfs_atmos_post_f003 + trigger ./jgfs_atmos_post_manager:release_post003 + edit FHRGRP '004' + edit FHRLST 'f003' + edit FHR 'f003' + edit HR '003' + task jgfs_atmos_post_f004 + trigger ./jgfs_atmos_post_manager:release_post004 + edit FHRGRP '005' + edit FHRLST 'f004' + edit FHR 'f004' + edit HR '004' + task jgfs_atmos_post_f005 + trigger ./jgfs_atmos_post_manager:release_post005 + edit FHRGRP '006' + edit FHRLST 'f005' + edit FHR 'f005' + edit HR '005' + task jgfs_atmos_post_f006 + trigger ./jgfs_atmos_post_manager:release_post006 + edit FHRGRP '007' + edit FHRLST 'f006' + edit FHR 'f006' + edit HR '006' + task jgfs_atmos_post_f007 + trigger ./jgfs_atmos_post_manager:release_post007 + edit FHRGRP '008' + edit FHRLST 'f007' + edit FHR 'f007' + edit HR '007' + task jgfs_atmos_post_f008 + trigger ./jgfs_atmos_post_manager:release_post008 + edit FHRGRP '009' + edit FHRLST 'f008' + edit FHR 'f008' + edit HR '008' + task jgfs_atmos_post_f009 + trigger ./jgfs_atmos_post_manager:release_post009 + edit FHRGRP '010' + edit FHRLST 'f009' + edit FHR 'f009' + edit HR '009' + task jgfs_atmos_post_f010 + trigger ./jgfs_atmos_post_manager:release_post010 + edit FHRGRP '011' + edit FHRLST 'f010' + edit FHR 'f010' + edit HR '010' + task jgfs_atmos_post_f011 + trigger ./jgfs_atmos_post_manager:release_post011 + edit FHRGRP '012' + edit FHRLST 'f011' + edit FHR 'f011' + edit HR '011' + task jgfs_atmos_post_f012 + trigger ./jgfs_atmos_post_manager:release_post012 + edit FHRGRP '013' + edit FHRLST 'f012' + edit FHR 'f012' + edit HR '012' + task jgfs_atmos_post_f013 + trigger ./jgfs_atmos_post_manager:release_post013 + edit FHRGRP '014' + edit FHRLST 'f013' + edit FHR 'f013' + edit HR '013' + task jgfs_atmos_post_f014 + trigger ./jgfs_atmos_post_manager:release_post014 + edit FHRGRP '015' + edit FHRLST 'f014' + edit FHR 'f014' + edit HR '014' + task jgfs_atmos_post_f015 + trigger ./jgfs_atmos_post_manager:release_post015 + edit FHRGRP '016' + edit FHRLST 'f015' + edit FHR 'f015' + edit HR '015' + task jgfs_atmos_post_f016 + trigger ./jgfs_atmos_post_manager:release_post016 + edit FHRGRP '017' + edit FHRLST 'f016' + edit FHR 'f016' + edit HR '016' + task jgfs_atmos_post_f017 + trigger ./jgfs_atmos_post_manager:release_post017 + edit FHRGRP '018' + edit FHRLST 'f017' + edit FHR 'f017' + edit HR '017' + task jgfs_atmos_post_f018 + trigger ./jgfs_atmos_post_manager:release_post018 + edit FHRGRP '019' + edit FHRLST 'f018' + edit FHR 'f018' + edit HR '018' + task jgfs_atmos_post_f019 + trigger ./jgfs_atmos_post_manager:release_post019 + edit FHRGRP '020' + edit FHRLST 'f019' + edit FHR 'f019' + edit HR '019' + task jgfs_atmos_post_f020 + trigger ./jgfs_atmos_post_manager:release_post020 + edit FHRGRP '021' + edit FHRLST 'f020' + edit FHR 'f020' + edit HR '020' + task jgfs_atmos_post_f021 + trigger ./jgfs_atmos_post_manager:release_post021 + edit FHRGRP '022' + edit FHRLST 'f021' + edit FHR 'f021' + edit HR '021' + task jgfs_atmos_post_f022 + trigger ./jgfs_atmos_post_manager:release_post022 + edit FHRGRP '023' + edit FHRLST 'f022' + edit FHR 'f022' + edit HR '022' + task jgfs_atmos_post_f023 + trigger ./jgfs_atmos_post_manager:release_post023 + edit FHRGRP '024' + edit FHRLST 'f023' + edit FHR 'f023' + edit HR '023' + task jgfs_atmos_post_f024 + trigger ./jgfs_atmos_post_manager:release_post024 + edit FHRGRP '025' + edit FHRLST 'f024' + edit FHR 'f024' + edit HR '024' + task jgfs_atmos_post_f025 + trigger ./jgfs_atmos_post_manager:release_post025 + edit FHRGRP '026' + edit FHRLST 'f025' + edit FHR 'f025' + edit HR '025' + task jgfs_atmos_post_f026 + trigger ./jgfs_atmos_post_manager:release_post026 + edit FHRGRP '027' + edit FHRLST 'f026' + edit FHR 'f026' + edit HR '026' + task jgfs_atmos_post_f027 + trigger ./jgfs_atmos_post_manager:release_post027 + edit FHRGRP '028' + edit FHRLST 'f027' + edit FHR 'f027' + edit HR '027' + task jgfs_atmos_post_f028 + trigger ./jgfs_atmos_post_manager:release_post028 + edit FHRGRP '029' + edit FHRLST 'f028' + edit FHR 'f028' + edit HR '028' + task jgfs_atmos_post_f029 + trigger ./jgfs_atmos_post_manager:release_post029 + edit FHRGRP '030' + edit FHRLST 'f029' + edit FHR 'f029' + edit HR '029' + task jgfs_atmos_post_f030 + trigger ./jgfs_atmos_post_manager:release_post030 + edit FHRGRP '031' + edit FHRLST 'f030' + edit FHR 'f030' + edit HR '030' + task jgfs_atmos_post_f031 + trigger ./jgfs_atmos_post_manager:release_post031 + edit FHRGRP '032' + edit FHRLST 'f031' + edit FHR 'f031' + edit HR '031' + task jgfs_atmos_post_f032 + trigger ./jgfs_atmos_post_manager:release_post032 + edit FHRGRP '033' + edit FHRLST 'f032' + edit FHR 'f032' + edit HR '032' + task jgfs_atmos_post_f033 + trigger ./jgfs_atmos_post_manager:release_post033 + edit FHRGRP '034' + edit FHRLST 'f033' + edit FHR 'f033' + edit HR '033' + task jgfs_atmos_post_f034 + trigger ./jgfs_atmos_post_manager:release_post034 + edit FHRGRP '035' + edit FHRLST 'f034' + edit FHR 'f034' + edit HR '034' + task jgfs_atmos_post_f035 + trigger ./jgfs_atmos_post_manager:release_post035 + edit FHRGRP '036' + edit FHRLST 'f035' + edit FHR 'f035' + edit HR '035' + task jgfs_atmos_post_f036 + trigger ./jgfs_atmos_post_manager:release_post036 + edit FHRGRP '037' + edit FHRLST 'f036' + edit FHR 'f036' + edit HR '036' + task jgfs_atmos_post_f037 + trigger ./jgfs_atmos_post_manager:release_post037 + edit FHRGRP '038' + edit FHRLST 'f037' + edit FHR 'f037' + edit HR '037' + task jgfs_atmos_post_f038 + trigger ./jgfs_atmos_post_manager:release_post038 + edit FHRGRP '039' + edit FHRLST 'f038' + edit FHR 'f038' + edit HR '038' + task jgfs_atmos_post_f039 + trigger ./jgfs_atmos_post_manager:release_post039 + edit FHRGRP '040' + edit FHRLST 'f039' + edit FHR 'f039' + edit HR '039' + task jgfs_atmos_post_f040 + trigger ./jgfs_atmos_post_manager:release_post040 + edit FHRGRP '041' + edit FHRLST 'f040' + edit FHR 'f040' + edit HR '040' + task jgfs_atmos_post_f041 + trigger ./jgfs_atmos_post_manager:release_post041 + edit FHRGRP '042' + edit FHRLST 'f041' + edit FHR 'f041' + edit HR '041' + task jgfs_atmos_post_f042 + trigger ./jgfs_atmos_post_manager:release_post042 + edit FHRGRP '043' + edit FHRLST 'f042' + edit FHR 'f042' + edit HR '042' + task jgfs_atmos_post_f043 + trigger ./jgfs_atmos_post_manager:release_post043 + edit FHRGRP '044' + edit FHRLST 'f043' + edit FHR 'f043' + edit HR '043' + task jgfs_atmos_post_f044 + trigger ./jgfs_atmos_post_manager:release_post044 + edit FHRGRP '045' + edit FHRLST 'f044' + edit FHR 'f044' + edit HR '044' + task jgfs_atmos_post_f045 + trigger ./jgfs_atmos_post_manager:release_post045 + edit FHRGRP '046' + edit FHRLST 'f045' + edit FHR 'f045' + edit HR '045' + task jgfs_atmos_post_f046 + trigger ./jgfs_atmos_post_manager:release_post046 + edit FHRGRP '047' + edit FHRLST 'f046' + edit FHR 'f046' + edit HR '046' + task jgfs_atmos_post_f047 + trigger ./jgfs_atmos_post_manager:release_post047 + edit FHRGRP '048' + edit FHRLST 'f047' + edit FHR 'f047' + edit HR '047' + task jgfs_atmos_post_f048 + trigger ./jgfs_atmos_post_manager:release_post048 + edit FHRGRP '049' + edit FHRLST 'f048' + edit FHR 'f048' + edit HR '048' + task jgfs_atmos_post_f049 + trigger ./jgfs_atmos_post_manager:release_post049 + edit FHRGRP '050' + edit FHRLST 'f049' + edit FHR 'f049' + edit HR '049' + task jgfs_atmos_post_f050 + trigger ./jgfs_atmos_post_manager:release_post050 + edit FHRGRP '051' + edit FHRLST 'f050' + edit FHR 'f050' + edit HR '050' + task jgfs_atmos_post_f051 + trigger ./jgfs_atmos_post_manager:release_post051 + edit FHRGRP '052' + edit FHRLST 'f051' + edit FHR 'f051' + edit HR '051' + task jgfs_atmos_post_f052 + trigger ./jgfs_atmos_post_manager:release_post052 + edit FHRGRP '053' + edit FHRLST 'f052' + edit FHR 'f052' + edit HR '052' + task jgfs_atmos_post_f053 + trigger ./jgfs_atmos_post_manager:release_post053 + edit FHRGRP '054' + edit FHRLST 'f053' + edit FHR 'f053' + edit HR '053' + task jgfs_atmos_post_f054 + trigger ./jgfs_atmos_post_manager:release_post054 + edit FHRGRP '055' + edit FHRLST 'f054' + edit FHR 'f054' + edit HR '054' + task jgfs_atmos_post_f055 + trigger ./jgfs_atmos_post_manager:release_post055 + edit FHRGRP '056' + edit FHRLST 'f055' + edit FHR 'f055' + edit HR '055' + task jgfs_atmos_post_f056 + trigger ./jgfs_atmos_post_manager:release_post056 + edit FHRGRP '057' + edit FHRLST 'f056' + edit FHR 'f056' + edit HR '056' + task jgfs_atmos_post_f057 + trigger ./jgfs_atmos_post_manager:release_post057 + edit FHRGRP '058' + edit FHRLST 'f057' + edit FHR 'f057' + edit HR '057' + task jgfs_atmos_post_f058 + trigger ./jgfs_atmos_post_manager:release_post058 + edit FHRGRP '059' + edit FHRLST 'f058' + edit FHR 'f058' + edit HR '058' + task jgfs_atmos_post_f059 + trigger ./jgfs_atmos_post_manager:release_post059 + edit FHRGRP '060' + edit FHRLST 'f059' + edit FHR 'f059' + edit HR '059' + task jgfs_atmos_post_f060 + trigger ./jgfs_atmos_post_manager:release_post060 + edit FHRGRP '061' + edit FHRLST 'f060' + edit FHR 'f060' + edit HR '060' + task jgfs_atmos_post_f061 + trigger ./jgfs_atmos_post_manager:release_post061 + edit FHRGRP '062' + edit FHRLST 'f061' + edit FHR 'f061' + edit HR '061' + task jgfs_atmos_post_f062 + trigger ./jgfs_atmos_post_manager:release_post062 + edit FHRGRP '063' + edit FHRLST 'f062' + edit FHR 'f062' + edit HR '062' + task jgfs_atmos_post_f063 + trigger ./jgfs_atmos_post_manager:release_post063 + edit FHRGRP '064' + edit FHRLST 'f063' + edit FHR 'f063' + edit HR '063' + task jgfs_atmos_post_f064 + trigger ./jgfs_atmos_post_manager:release_post064 + edit FHRGRP '065' + edit FHRLST 'f064' + edit FHR 'f064' + edit HR '064' + task jgfs_atmos_post_f065 + trigger ./jgfs_atmos_post_manager:release_post065 + edit FHRGRP '066' + edit FHRLST 'f065' + edit FHR 'f065' + edit HR '065' + task jgfs_atmos_post_f066 + trigger ./jgfs_atmos_post_manager:release_post066 + edit FHRGRP '067' + edit FHRLST 'f066' + edit FHR 'f066' + edit HR '066' + task jgfs_atmos_post_f067 + trigger ./jgfs_atmos_post_manager:release_post067 + edit FHRGRP '068' + edit FHRLST 'f067' + edit FHR 'f067' + edit HR '067' + task jgfs_atmos_post_f068 + trigger ./jgfs_atmos_post_manager:release_post068 + edit FHRGRP '069' + edit FHRLST 'f068' + edit FHR 'f068' + edit HR '068' + task jgfs_atmos_post_f069 + trigger ./jgfs_atmos_post_manager:release_post069 + edit FHRGRP '070' + edit FHRLST 'f069' + edit FHR 'f069' + edit HR '069' + task jgfs_atmos_post_f070 + trigger ./jgfs_atmos_post_manager:release_post070 + edit FHRGRP '071' + edit FHRLST 'f070' + edit FHR 'f070' + edit HR '070' + task jgfs_atmos_post_f071 + trigger ./jgfs_atmos_post_manager:release_post071 + edit FHRGRP '072' + edit FHRLST 'f071' + edit FHR 'f071' + edit HR '071' + task jgfs_atmos_post_f072 + trigger ./jgfs_atmos_post_manager:release_post072 + edit FHRGRP '073' + edit FHRLST 'f072' + edit FHR 'f072' + edit HR '072' + task jgfs_atmos_post_f073 + trigger ./jgfs_atmos_post_manager:release_post073 + edit FHRGRP '074' + edit FHRLST 'f073' + edit FHR 'f073' + edit HR '073' + task jgfs_atmos_post_f074 + trigger ./jgfs_atmos_post_manager:release_post074 + edit FHRGRP '075' + edit FHRLST 'f074' + edit FHR 'f074' + edit HR '074' + task jgfs_atmos_post_f075 + trigger ./jgfs_atmos_post_manager:release_post075 + edit FHRGRP '076' + edit FHRLST 'f075' + edit FHR 'f075' + edit HR '075' + task jgfs_atmos_post_f076 + trigger ./jgfs_atmos_post_manager:release_post076 + edit FHRGRP '077' + edit FHRLST 'f076' + edit FHR 'f076' + edit HR '076' + task jgfs_atmos_post_f077 + trigger ./jgfs_atmos_post_manager:release_post077 + edit FHRGRP '078' + edit FHRLST 'f077' + edit FHR 'f077' + edit HR '077' + task jgfs_atmos_post_f078 + trigger ./jgfs_atmos_post_manager:release_post078 + edit FHRGRP '079' + edit FHRLST 'f078' + edit FHR 'f078' + edit HR '078' + task jgfs_atmos_post_f079 + trigger ./jgfs_atmos_post_manager:release_post079 + edit FHRGRP '080' + edit FHRLST 'f079' + edit FHR 'f079' + edit HR '079' + task jgfs_atmos_post_f080 + trigger ./jgfs_atmos_post_manager:release_post080 + edit FHRGRP '081' + edit FHRLST 'f080' + edit FHR 'f080' + edit HR '080' + task jgfs_atmos_post_f081 + trigger ./jgfs_atmos_post_manager:release_post081 + edit FHRGRP '082' + edit FHRLST 'f081' + edit FHR 'f081' + edit HR '081' + task jgfs_atmos_post_f082 + trigger ./jgfs_atmos_post_manager:release_post082 + edit FHRGRP '083' + edit FHRLST 'f082' + edit FHR 'f082' + edit HR '082' + task jgfs_atmos_post_f083 + trigger ./jgfs_atmos_post_manager:release_post083 + edit FHRGRP '084' + edit FHRLST 'f083' + edit FHR 'f083' + edit HR '083' + task jgfs_atmos_post_f084 + trigger ./jgfs_atmos_post_manager:release_post084 + edit FHRGRP '085' + edit FHRLST 'f084' + edit FHR 'f084' + edit HR '084' + task jgfs_atmos_post_f085 + trigger ./jgfs_atmos_post_manager:release_post085 + edit FHRGRP '086' + edit FHRLST 'f085' + edit FHR 'f085' + edit HR '085' + task jgfs_atmos_post_f086 + trigger ./jgfs_atmos_post_manager:release_post086 + edit FHRGRP '087' + edit FHRLST 'f086' + edit FHR 'f086' + edit HR '086' + task jgfs_atmos_post_f087 + trigger ./jgfs_atmos_post_manager:release_post087 + edit FHRGRP '088' + edit FHRLST 'f087' + edit FHR 'f087' + edit HR '087' + task jgfs_atmos_post_f088 + trigger ./jgfs_atmos_post_manager:release_post088 + edit FHRGRP '089' + edit FHRLST 'f088' + edit FHR 'f088' + edit HR '088' + task jgfs_atmos_post_f089 + trigger ./jgfs_atmos_post_manager:release_post089 + edit FHRGRP '090' + edit FHRLST 'f089' + edit FHR 'f089' + edit HR '089' + task jgfs_atmos_post_f090 + trigger ./jgfs_atmos_post_manager:release_post090 + edit FHRGRP '091' + edit FHRLST 'f090' + edit FHR 'f090' + edit HR '090' + task jgfs_atmos_post_f091 + trigger ./jgfs_atmos_post_manager:release_post091 + edit FHRGRP '092' + edit FHRLST 'f091' + edit FHR 'f091' + edit HR '091' + task jgfs_atmos_post_f092 + trigger ./jgfs_atmos_post_manager:release_post092 + edit FHRGRP '093' + edit FHRLST 'f092' + edit FHR 'f092' + edit HR '092' + task jgfs_atmos_post_f093 + trigger ./jgfs_atmos_post_manager:release_post093 + edit FHRGRP '094' + edit FHRLST 'f093' + edit FHR 'f093' + edit HR '093' + task jgfs_atmos_post_f094 + trigger ./jgfs_atmos_post_manager:release_post094 + edit FHRGRP '095' + edit FHRLST 'f094' + edit FHR 'f094' + edit HR '094' + task jgfs_atmos_post_f095 + trigger ./jgfs_atmos_post_manager:release_post095 + edit FHRGRP '096' + edit FHRLST 'f095' + edit FHR 'f095' + edit HR '095' + task jgfs_atmos_post_f096 + trigger ./jgfs_atmos_post_manager:release_post096 + edit FHRGRP '097' + edit FHRLST 'f096' + edit FHR 'f096' + edit HR '096' + task jgfs_atmos_post_f097 + trigger ./jgfs_atmos_post_manager:release_post097 + edit FHRGRP '098' + edit FHRLST 'f097' + edit FHR 'f097' + edit HR '097' + task jgfs_atmos_post_f098 + trigger ./jgfs_atmos_post_manager:release_post098 + edit FHRGRP '099' + edit FHRLST 'f098' + edit FHR 'f098' + edit HR '098' + task jgfs_atmos_post_f099 + trigger ./jgfs_atmos_post_manager:release_post099 + edit FHRGRP '100' + edit FHRLST 'f099' + edit FHR 'f099' + edit HR '099' + task jgfs_atmos_post_f100 + trigger ./jgfs_atmos_post_manager:release_post100 + edit FHRGRP '101' + edit FHRLST 'f100' + edit FHR 'f100' + edit HR '100' + task jgfs_atmos_post_f101 + trigger ./jgfs_atmos_post_manager:release_post101 + edit FHRGRP '102' + edit FHRLST 'f101' + edit FHR 'f101' + edit HR '101' + task jgfs_atmos_post_f102 + trigger ./jgfs_atmos_post_manager:release_post102 + edit FHRGRP '103' + edit FHRLST 'f102' + edit FHR 'f102' + edit HR '102' + task jgfs_atmos_post_f103 + trigger ./jgfs_atmos_post_manager:release_post103 + edit FHRGRP '104' + edit FHRLST 'f103' + edit FHR 'f103' + edit HR '103' + task jgfs_atmos_post_f104 + trigger ./jgfs_atmos_post_manager:release_post104 + edit FHRGRP '105' + edit FHRLST 'f104' + edit FHR 'f104' + edit HR '104' + task jgfs_atmos_post_f105 + trigger ./jgfs_atmos_post_manager:release_post105 + edit FHRGRP '106' + edit FHRLST 'f105' + edit FHR 'f105' + edit HR '105' + task jgfs_atmos_post_f106 + trigger ./jgfs_atmos_post_manager:release_post106 + edit FHRGRP '107' + edit FHRLST 'f106' + edit FHR 'f106' + edit HR '106' + task jgfs_atmos_post_f107 + trigger ./jgfs_atmos_post_manager:release_post107 + edit FHRGRP '108' + edit FHRLST 'f107' + edit FHR 'f107' + edit HR '107' + task jgfs_atmos_post_f108 + trigger ./jgfs_atmos_post_manager:release_post108 + edit FHRGRP '109' + edit FHRLST 'f108' + edit FHR 'f108' + edit HR '108' + task jgfs_atmos_post_f109 + trigger ./jgfs_atmos_post_manager:release_post109 + edit FHRGRP '110' + edit FHRLST 'f109' + edit FHR 'f109' + edit HR '109' + task jgfs_atmos_post_f110 + trigger ./jgfs_atmos_post_manager:release_post110 + edit FHRGRP '111' + edit FHRLST 'f110' + edit FHR 'f110' + edit HR '110' + task jgfs_atmos_post_f111 + trigger ./jgfs_atmos_post_manager:release_post111 + edit FHRGRP '112' + edit FHRLST 'f111' + edit FHR 'f111' + edit HR '111' + task jgfs_atmos_post_f112 + trigger ./jgfs_atmos_post_manager:release_post112 + edit FHRGRP '113' + edit FHRLST 'f112' + edit FHR 'f112' + edit HR '112' + task jgfs_atmos_post_f113 + trigger ./jgfs_atmos_post_manager:release_post113 + edit FHRGRP '114' + edit FHRLST 'f113' + edit FHR 'f113' + edit HR '113' + task jgfs_atmos_post_f114 + trigger ./jgfs_atmos_post_manager:release_post114 + edit FHRGRP '115' + edit FHRLST 'f114' + edit FHR 'f114' + edit HR '114' + task jgfs_atmos_post_f115 + trigger ./jgfs_atmos_post_manager:release_post115 + edit FHRGRP '116' + edit FHRLST 'f115' + edit FHR 'f115' + edit HR '115' + task jgfs_atmos_post_f116 + trigger ./jgfs_atmos_post_manager:release_post116 + edit FHRGRP '117' + edit FHRLST 'f116' + edit FHR 'f116' + edit HR '116' + task jgfs_atmos_post_f117 + trigger ./jgfs_atmos_post_manager:release_post117 + edit FHRGRP '118' + edit FHRLST 'f117' + edit FHR 'f117' + edit HR '117' + task jgfs_atmos_post_f118 + trigger ./jgfs_atmos_post_manager:release_post118 + edit FHRGRP '119' + edit FHRLST 'f118' + edit FHR 'f118' + edit HR '118' + task jgfs_atmos_post_f119 + trigger ./jgfs_atmos_post_manager:release_post119 + edit FHRGRP '120' + edit FHRLST 'f119' + edit FHR 'f119' + edit HR '119' + task jgfs_atmos_post_f120 + trigger ./jgfs_atmos_post_manager:release_post120 + edit FHRGRP '121' + edit FHRLST 'f120' + edit FHR 'f120' + edit HR '120' + task jgfs_atmos_post_f123 + trigger ./jgfs_atmos_post_manager:release_post123 + edit FHRGRP '122' + edit FHRLST 'f123' + edit FHR 'f123' + edit HR '123' + task jgfs_atmos_post_f126 + trigger ./jgfs_atmos_post_manager:release_post126 + edit FHRGRP '123' + edit FHRLST 'f126' + edit FHR 'f126' + edit HR '126' + task jgfs_atmos_post_f129 + trigger ./jgfs_atmos_post_manager:release_post129 + edit FHRGRP '124' + edit FHRLST 'f129' + edit FHR 'f129' + edit HR '129' + task jgfs_atmos_post_f132 + trigger ./jgfs_atmos_post_manager:release_post132 + edit FHRGRP '125' + edit FHRLST 'f132' + edit FHR 'f132' + edit HR '132' + task jgfs_atmos_post_f135 + trigger ./jgfs_atmos_post_manager:release_post135 + edit FHRGRP '126' + edit FHRLST 'f135' + edit FHR 'f135' + edit HR '135' + task jgfs_atmos_post_f138 + trigger ./jgfs_atmos_post_manager:release_post138 + edit FHRGRP '127' + edit FHRLST 'f138' + edit FHR 'f138' + edit HR '138' + task jgfs_atmos_post_f141 + trigger ./jgfs_atmos_post_manager:release_post141 + edit FHRGRP '128' + edit FHRLST 'f141' + edit FHR 'f141' + edit HR '141' + task jgfs_atmos_post_f144 + trigger ./jgfs_atmos_post_manager:release_post144 + edit FHRGRP '129' + edit FHRLST 'f144' + edit FHR 'f144' + edit HR '144' + task jgfs_atmos_post_f147 + trigger ./jgfs_atmos_post_manager:release_post147 + edit FHRGRP '130' + edit FHRLST 'f147' + edit FHR 'f147' + edit HR '147' + task jgfs_atmos_post_f150 + trigger ./jgfs_atmos_post_manager:release_post150 + edit FHRGRP '131' + edit FHRLST 'f150' + edit FHR 'f150' + edit HR '150' + task jgfs_atmos_post_f153 + trigger ./jgfs_atmos_post_manager:release_post153 + edit FHRGRP '132' + edit FHRLST 'f153' + edit FHR 'f153' + edit HR '153' + task jgfs_atmos_post_f156 + trigger ./jgfs_atmos_post_manager:release_post156 + edit FHRGRP '133' + edit FHRLST 'f156' + edit FHR 'f156' + edit HR '156' + task jgfs_atmos_post_f159 + trigger ./jgfs_atmos_post_manager:release_post159 + edit FHRGRP '134' + edit FHRLST 'f159' + edit FHR 'f159' + edit HR '159' + task jgfs_atmos_post_f162 + trigger ./jgfs_atmos_post_manager:release_post162 + edit FHRGRP '135' + edit FHRLST 'f162' + edit FHR 'f162' + edit HR '162' + task jgfs_atmos_post_f165 + trigger ./jgfs_atmos_post_manager:release_post165 + edit FHRGRP '136' + edit FHRLST 'f165' + edit FHR 'f165' + edit HR '165' + task jgfs_atmos_post_f168 + trigger ./jgfs_atmos_post_manager:release_post168 + edit FHRGRP '137' + edit FHRLST 'f168' + edit FHR 'f168' + edit HR '168' + task jgfs_atmos_post_f171 + trigger ./jgfs_atmos_post_manager:release_post171 + edit FHRGRP '138' + edit FHRLST 'f171' + edit FHR 'f171' + edit HR '171' + task jgfs_atmos_post_f174 + trigger ./jgfs_atmos_post_manager:release_post174 + edit FHRGRP '139' + edit FHRLST 'f174' + edit FHR 'f174' + edit HR '174' + task jgfs_atmos_post_f177 + trigger ./jgfs_atmos_post_manager:release_post177 + edit FHRGRP '140' + edit FHRLST 'f177' + edit FHR 'f177' + edit HR '177' + task jgfs_atmos_post_f180 + trigger ./jgfs_atmos_post_manager:release_post180 + edit FHRGRP '141' + edit FHRLST 'f180' + edit FHR 'f180' + edit HR '180' + task jgfs_atmos_post_f183 + trigger ./jgfs_atmos_post_manager:release_post183 + edit FHRGRP '142' + edit FHRLST 'f183' + edit FHR 'f183' + edit HR '183' + task jgfs_atmos_post_f186 + trigger ./jgfs_atmos_post_manager:release_post186 + edit FHRGRP '143' + edit FHRLST 'f186' + edit FHR 'f186' + edit HR '186' + task jgfs_atmos_post_f189 + trigger ./jgfs_atmos_post_manager:release_post189 + edit FHRGRP '144' + edit FHRLST 'f189' + edit FHR 'f189' + edit HR '189' + task jgfs_atmos_post_f192 + trigger ./jgfs_atmos_post_manager:release_post192 + edit FHRGRP '145' + edit FHRLST 'f192' + edit FHR 'f192' + edit HR '192' + task jgfs_atmos_post_f195 + trigger ./jgfs_atmos_post_manager:release_post195 + edit FHRGRP '146' + edit FHRLST 'f195' + edit FHR 'f195' + edit HR '195' + task jgfs_atmos_post_f198 + trigger ./jgfs_atmos_post_manager:release_post198 + edit FHRGRP '147' + edit FHRLST 'f198' + edit FHR 'f198' + edit HR '198' + task jgfs_atmos_post_f201 + trigger ./jgfs_atmos_post_manager:release_post201 + edit FHRGRP '148' + edit FHRLST 'f201' + edit FHR 'f201' + edit HR '201' + task jgfs_atmos_post_f204 + trigger ./jgfs_atmos_post_manager:release_post204 + edit FHRGRP '149' + edit FHRLST 'f204' + edit FHR 'f204' + edit HR '204' + task jgfs_atmos_post_f207 + trigger ./jgfs_atmos_post_manager:release_post207 + edit FHRGRP '150' + edit FHRLST 'f207' + edit FHR 'f207' + edit HR '207' + task jgfs_atmos_post_f210 + trigger ./jgfs_atmos_post_manager:release_post210 + edit FHRGRP '151' + edit FHRLST 'f210' + edit FHR 'f210' + edit HR '210' + task jgfs_atmos_post_f213 + trigger ./jgfs_atmos_post_manager:release_post213 + edit FHRGRP '152' + edit FHRLST 'f213' + edit FHR 'f213' + edit HR '213' + task jgfs_atmos_post_f216 + trigger ./jgfs_atmos_post_manager:release_post216 + edit FHRGRP '153' + edit FHRLST 'f216' + edit FHR 'f216' + edit HR '216' + task jgfs_atmos_post_f219 + trigger ./jgfs_atmos_post_manager:release_post219 + edit FHRGRP '154' + edit FHRLST 'f219' + edit FHR 'f219' + edit HR '219' + task jgfs_atmos_post_f222 + trigger ./jgfs_atmos_post_manager:release_post222 + edit FHRGRP '155' + edit FHRLST 'f222' + edit FHR 'f222' + edit HR '222' + task jgfs_atmos_post_f225 + trigger ./jgfs_atmos_post_manager:release_post225 + edit FHRGRP '156' + edit FHRLST 'f225' + edit FHR 'f225' + edit HR '225' + task jgfs_atmos_post_f228 + trigger ./jgfs_atmos_post_manager:release_post228 + edit FHRGRP '157' + edit FHRLST 'f228' + edit FHR 'f228' + edit HR '228' + task jgfs_atmos_post_f231 + trigger ./jgfs_atmos_post_manager:release_post231 + edit FHRGRP '158' + edit FHRLST 'f231' + edit FHR 'f231' + edit HR '231' + task jgfs_atmos_post_f234 + trigger ./jgfs_atmos_post_manager:release_post234 + edit FHRGRP '159' + edit FHRLST 'f234' + edit FHR 'f234' + edit HR '234' + task jgfs_atmos_post_f237 + trigger ./jgfs_atmos_post_manager:release_post237 + edit FHRGRP '160' + edit FHRLST 'f237' + edit FHR 'f237' + edit HR '237' + task jgfs_atmos_post_f240 + trigger ./jgfs_atmos_post_manager:release_post240 + edit FHRGRP '161' + edit FHRLST 'f240' + edit FHR 'f240' + edit HR '240' + task jgfs_atmos_post_f243 + trigger ./jgfs_atmos_post_manager:release_post243 + edit FHRGRP '162' + edit FHRLST 'f243' + edit FHR 'f243' + edit HR '243' + task jgfs_atmos_post_f246 + trigger ./jgfs_atmos_post_manager:release_post246 + edit FHRGRP '163' + edit FHRLST 'f246' + edit FHR 'f246' + edit HR '246' + task jgfs_atmos_post_f249 + trigger ./jgfs_atmos_post_manager:release_post249 + edit FHRGRP '164' + edit FHRLST 'f249' + edit FHR 'f249' + edit HR '249' + task jgfs_atmos_post_f252 + trigger ./jgfs_atmos_post_manager:release_post252 + edit FHRGRP '165' + edit FHRLST 'f252' + edit FHR 'f252' + edit HR '252' + task jgfs_atmos_post_f255 + trigger ./jgfs_atmos_post_manager:release_post255 + edit FHRGRP '166' + edit FHRLST 'f255' + edit FHR 'f255' + edit HR '255' + task jgfs_atmos_post_f258 + trigger ./jgfs_atmos_post_manager:release_post258 + edit FHRGRP '167' + edit FHRLST 'f258' + edit FHR 'f258' + edit HR '258' + task jgfs_atmos_post_f261 + trigger ./jgfs_atmos_post_manager:release_post261 + edit FHRGRP '168' + edit FHRLST 'f261' + edit FHR 'f261' + edit HR '261' + task jgfs_atmos_post_f264 + trigger ./jgfs_atmos_post_manager:release_post264 + edit FHRGRP '169' + edit FHRLST 'f264' + edit FHR 'f264' + edit HR '264' + task jgfs_atmos_post_f267 + trigger ./jgfs_atmos_post_manager:release_post267 + edit FHRGRP '170' + edit FHRLST 'f267' + edit FHR 'f267' + edit HR '267' + task jgfs_atmos_post_f270 + trigger ./jgfs_atmos_post_manager:release_post270 + edit FHRGRP '171' + edit FHRLST 'f270' + edit FHR 'f270' + edit HR '270' + task jgfs_atmos_post_f273 + trigger ./jgfs_atmos_post_manager:release_post273 + edit FHRGRP '172' + edit FHRLST 'f273' + edit FHR 'f273' + edit HR '273' + task jgfs_atmos_post_f276 + trigger ./jgfs_atmos_post_manager:release_post276 + edit FHRGRP '173' + edit FHRLST 'f276' + edit FHR 'f276' + edit HR '276' + task jgfs_atmos_post_f279 + trigger ./jgfs_atmos_post_manager:release_post279 + edit FHRGRP '174' + edit FHRLST 'f279' + edit FHR 'f279' + edit HR '279' + task jgfs_atmos_post_f282 + trigger ./jgfs_atmos_post_manager:release_post282 + edit FHRGRP '175' + edit FHRLST 'f282' + edit FHR 'f282' + edit HR '282' + task jgfs_atmos_post_f285 + trigger ./jgfs_atmos_post_manager:release_post285 + edit FHRGRP '176' + edit FHRLST 'f285' + edit FHR 'f285' + edit HR '285' + task jgfs_atmos_post_f288 + trigger ./jgfs_atmos_post_manager:release_post288 + edit FHRGRP '177' + edit FHRLST 'f288' + edit FHR 'f288' + edit HR '288' + task jgfs_atmos_post_f291 + trigger ./jgfs_atmos_post_manager:release_post291 + edit FHRGRP '178' + edit FHRLST 'f291' + edit FHR 'f291' + edit HR '291' + task jgfs_atmos_post_f294 + trigger ./jgfs_atmos_post_manager:release_post294 + edit FHRGRP '179' + edit FHRLST 'f294' + edit FHR 'f294' + edit HR '294' + task jgfs_atmos_post_f297 + trigger ./jgfs_atmos_post_manager:release_post297 + edit FHRGRP '180' + edit FHRLST 'f297' + edit FHR 'f297' + edit HR '297' + task jgfs_atmos_post_f300 + trigger ./jgfs_atmos_post_manager:release_post300 + edit FHRGRP '181' + edit FHRLST 'f300' + edit FHR 'f300' + edit HR '300' + task jgfs_atmos_post_f303 + trigger ./jgfs_atmos_post_manager:release_post303 + edit FHRGRP '182' + edit FHRLST 'f303' + edit FHR 'f303' + edit HR '303' + task jgfs_atmos_post_f306 + trigger ./jgfs_atmos_post_manager:release_post306 + edit FHRGRP '183' + edit FHRLST 'f306' + edit FHR 'f306' + edit HR '306' + task jgfs_atmos_post_f309 + trigger ./jgfs_atmos_post_manager:release_post309 + edit FHRGRP '184' + edit FHRLST 'f309' + edit FHR 'f309' + edit HR '309' + task jgfs_atmos_post_f312 + trigger ./jgfs_atmos_post_manager:release_post312 + edit FHRGRP '185' + edit FHRLST 'f312' + edit FHR 'f312' + edit HR '312' + task jgfs_atmos_post_f315 + trigger ./jgfs_atmos_post_manager:release_post315 + edit FHRGRP '186' + edit FHRLST 'f315' + edit FHR 'f315' + edit HR '315' + task jgfs_atmos_post_f318 + trigger ./jgfs_atmos_post_manager:release_post318 + edit FHRGRP '187' + edit FHRLST 'f318' + edit FHR 'f318' + edit HR '318' + task jgfs_atmos_post_f321 + trigger ./jgfs_atmos_post_manager:release_post321 + edit FHRGRP '188' + edit FHRLST 'f321' + edit FHR 'f321' + edit HR '321' + task jgfs_atmos_post_f324 + trigger ./jgfs_atmos_post_manager:release_post324 + edit FHRGRP '189' + edit FHRLST 'f324' + edit FHR 'f324' + edit HR '324' + task jgfs_atmos_post_f327 + trigger ./jgfs_atmos_post_manager:release_post327 + edit FHRGRP '190' + edit FHRLST 'f327' + edit FHR 'f327' + edit HR '327' + task jgfs_atmos_post_f330 + trigger ./jgfs_atmos_post_manager:release_post330 + edit FHRGRP '191' + edit FHRLST 'f330' + edit FHR 'f330' + edit HR '330' + task jgfs_atmos_post_f333 + trigger ./jgfs_atmos_post_manager:release_post333 + edit FHRGRP '192' + edit FHRLST 'f333' + edit FHR 'f333' + edit HR '333' + task jgfs_atmos_post_f336 + trigger ./jgfs_atmos_post_manager:release_post336 + edit FHRGRP '193' + edit FHRLST 'f336' + edit FHR 'f336' + edit HR '336' + task jgfs_atmos_post_f339 + trigger ./jgfs_atmos_post_manager:release_post339 + edit FHRGRP '194' + edit FHRLST 'f339' + edit FHR 'f339' + edit HR '339' + task jgfs_atmos_post_f342 + trigger ./jgfs_atmos_post_manager:release_post342 + edit FHRGRP '195' + edit FHRLST 'f342' + edit FHR 'f342' + edit HR '342' + task jgfs_atmos_post_f345 + trigger ./jgfs_atmos_post_manager:release_post345 + edit FHRGRP '196' + edit FHRLST 'f345' + edit FHR 'f345' + edit HR '345' + task jgfs_atmos_post_f348 + trigger ./jgfs_atmos_post_manager:release_post348 + edit FHRGRP '197' + edit FHRLST 'f348' + edit FHR 'f348' + edit HR '348' + task jgfs_atmos_post_f351 + trigger ./jgfs_atmos_post_manager:release_post351 + edit FHRGRP '198' + edit FHRLST 'f351' + edit FHR 'f351' + edit HR '351' + task jgfs_atmos_post_f354 + trigger ./jgfs_atmos_post_manager:release_post354 + edit FHRGRP '199' + edit FHRLST 'f354' + edit FHR 'f354' + edit HR '354' + task jgfs_atmos_post_f357 + trigger ./jgfs_atmos_post_manager:release_post357 + edit FHRGRP '200' + edit FHRLST 'f357' + edit FHR 'f357' + edit HR '357' + task jgfs_atmos_post_f360 + trigger ./jgfs_atmos_post_manager:release_post360 + edit FHRGRP '201' + edit FHRLST 'f360' + edit FHR 'f360' + edit HR '360' + task jgfs_atmos_post_f363 + trigger ./jgfs_atmos_post_manager:release_post363 + edit FHRGRP '202' + edit FHRLST 'f363' + edit FHR 'f363' + edit HR '363' + task jgfs_atmos_post_f366 + trigger ./jgfs_atmos_post_manager:release_post366 + edit FHRGRP '203' + edit FHRLST 'f366' + edit FHR 'f366' + edit HR '366' + task jgfs_atmos_post_f369 + trigger ./jgfs_atmos_post_manager:release_post369 + edit FHRGRP '204' + edit FHRLST 'f369' + edit FHR 'f369' + edit HR '369' + task jgfs_atmos_post_f372 + trigger ./jgfs_atmos_post_manager:release_post372 + edit FHRGRP '205' + edit FHRLST 'f372' + edit FHR 'f372' + edit HR '372' + task jgfs_atmos_post_f375 + trigger ./jgfs_atmos_post_manager:release_post375 + edit FHRGRP '206' + edit FHRLST 'f375' + edit FHR 'f375' + edit HR '375' + task jgfs_atmos_post_f378 + trigger ./jgfs_atmos_post_manager:release_post378 + edit FHRGRP '207' + edit FHRLST 'f378' + edit FHR 'f378' + edit HR '378' + task jgfs_atmos_post_f381 + trigger ./jgfs_atmos_post_manager:release_post381 + edit FHRGRP '208' + edit FHRLST 'f381' + edit FHR 'f381' + edit HR '381' + task jgfs_atmos_post_f384 + trigger ./jgfs_atmos_post_manager:release_post384 + edit FHRGRP '209' + edit FHRLST 'f384' + edit FHR 'f384' + edit HR '384' + endfamily + family post_processing + task jgfs_atmos_wafs_gcip + trigger ( :TIME >= 1040 and :TIME < 1640) and ../post/jgfs_atmos_post_f003 == complete + family grib_wafs + task jgfs_atmos_wafs_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete and ../../post/jgfs_atmos_post_f120 == complete and ../grib2_wafs/jgfs_atmos_wafs_grib2 == complete + edit FCSTHR '00' + task jgfs_atmos_wafs_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete and ./jgfs_atmos_wafs_f000 == complete + edit FCSTHR '06' + task jgfs_atmos_wafs_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete and ./jgfs_atmos_wafs_f006 == complete + edit FCSTHR '12' + task jgfs_atmos_wafs_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete and ./jgfs_atmos_wafs_f012 == complete + edit FCSTHR '18' + task jgfs_atmos_wafs_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete and ./jgfs_atmos_wafs_f018 == complete + edit FCSTHR '24' + task jgfs_atmos_wafs_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete and ./jgfs_atmos_wafs_f024 == complete + edit FCSTHR '30' + task jgfs_atmos_wafs_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete and ./jgfs_atmos_wafs_f030 == complete + edit FCSTHR '36' + task jgfs_atmos_wafs_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete and ./jgfs_atmos_wafs_f036 == complete + edit FCSTHR '42' + task jgfs_atmos_wafs_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete and ./jgfs_atmos_wafs_f042 == complete + edit FCSTHR '48' + task jgfs_atmos_wafs_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete and ./jgfs_atmos_wafs_f048 == complete + edit FCSTHR '54' + task jgfs_atmos_wafs_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete and ./jgfs_atmos_wafs_f054 == complete + edit FCSTHR '60' + task jgfs_atmos_wafs_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete and ./jgfs_atmos_wafs_f060 == complete + edit FCSTHR '66' + task jgfs_atmos_wafs_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete and ./jgfs_atmos_wafs_f066 == complete + edit FCSTHR '72' + task jgfs_atmos_wafs_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete and ./jgfs_atmos_wafs_f072 == complete + edit FCSTHR '78' + task jgfs_atmos_wafs_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete and ./jgfs_atmos_wafs_f078 == complete + edit FCSTHR '84' + task jgfs_atmos_wafs_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete and ./jgfs_atmos_wafs_f084 == complete + edit FCSTHR '90' + task jgfs_atmos_wafs_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete and ./jgfs_atmos_wafs_f090 == complete + edit FCSTHR '96' + task jgfs_atmos_wafs_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete and ./jgfs_atmos_wafs_f096 == complete + edit FCSTHR '102' + task jgfs_atmos_wafs_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete and ./jgfs_atmos_wafs_f102 == complete + edit FCSTHR '108' + task jgfs_atmos_wafs_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete and ./jgfs_atmos_wafs_f108 == complete + edit FCSTHR '114' + task jgfs_atmos_wafs_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete and ./jgfs_atmos_wafs_f114 == complete + edit FCSTHR '120' + endfamily + family grib2_wafs + task jgfs_atmos_wafs_grib2 + trigger ../../post/jgfs_atmos_post_f000 == complete + task jgfs_atmos_wafs_grib2_0p25 + trigger ../../post/jgfs_atmos_post_f036 == complete + task jgfs_atmos_wafs_blending + trigger ( :TIME >= 1033 and :TIME < 1633) and ./jgfs_atmos_wafs_grib2 == complete + task jgfs_atmos_wafs_blending_0p25 + trigger ( :TIME >= 1025 and :TIME < 1625) and ./jgfs_atmos_wafs_grib2_0p25 == complete + endfamily + family bufr_sounding + task jgfs_atmos_postsnd + trigger ../../post/jgfs_atmos_post_manager:release_post000 + endfamily + family bulletins + task jgfs_atmos_fbwind + trigger ../../post/jgfs_atmos_post_f006 == complete and ../../post/jgfs_atmos_post_f012 == complete and ../../post/jgfs_atmos_post_f024 == complete + endfamily + family awips_20km_1p0 + task jgfs_atmos_awips_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f003 + trigger ../../post/jgfs_atmos_post_f003 == complete + edit FHRGRP '003' + edit FHRLST 'f003' + edit FCSTHR '003' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f009 + trigger ../../post/jgfs_atmos_post_f009 == complete + edit FHRGRP '009' + edit FHRLST 'f009' + edit FCSTHR '009' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f015 + trigger ../../post/jgfs_atmos_post_f015 == complete + edit FHRGRP '015' + edit FHRLST 'f015' + edit FCSTHR '015' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f021 + trigger ../../post/jgfs_atmos_post_f021 == complete + edit FHRGRP '021' + edit FHRLST 'f021' + edit FCSTHR '021' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f027 + trigger ../../post/jgfs_atmos_post_f027 == complete + edit FHRGRP '027' + edit FHRLST 'f027' + edit FCSTHR '027' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f033 + trigger ../../post/jgfs_atmos_post_f033 == complete + edit FHRGRP '033' + edit FHRLST 'f033' + edit FCSTHR '033' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f039 + trigger ../../post/jgfs_atmos_post_f039 == complete + edit FHRGRP '039' + edit FHRLST 'f039' + edit FCSTHR '039' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f045 + trigger ../../post/jgfs_atmos_post_f045 == complete + edit FHRGRP '045' + edit FHRLST 'f045' + edit FCSTHR '045' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f051 + trigger ../../post/jgfs_atmos_post_f051 == complete + edit FHRGRP '051' + edit FHRLST 'f051' + edit FCSTHR '051' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f057 + trigger ../../post/jgfs_atmos_post_f057 == complete + edit FHRGRP '057' + edit FHRLST 'f057' + edit FCSTHR '057' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f063 + trigger ../../post/jgfs_atmos_post_f063 == complete + edit FHRGRP '063' + edit FHRLST 'f063' + edit FCSTHR '063' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f069 + trigger ../../post/jgfs_atmos_post_f069 == complete + edit FHRGRP '069' + edit FHRLST 'f069' + edit FCSTHR '069' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f075 + trigger ../../post/jgfs_atmos_post_f075 == complete + edit FHRGRP '075' + edit FHRLST 'f075' + edit FCSTHR '075' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f081 + trigger ../../post/jgfs_atmos_post_f081 == complete + edit FHRGRP '081' + edit FHRLST 'f081' + edit FCSTHR '081' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + family awips_g2 + task jgfs_atmos_awips_g2_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + endfamily + family gempak + task jgfs_atmos_gempak + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_meta + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_ncdc_upapgif + trigger ./jgfs_atmos_gempak == active or ./jgfs_atmos_gempak == complete + task jgfs_atmos_npoess_pgrb2_0p5deg + trigger ../post/jgfs_atmos_post_anl eq active or ../post/jgfs_atmos_post_anl == complete + task jgfs_atmos_pgrb2_spec_gempak + trigger ./jgfs_atmos_npoess_pgrb2_0p5deg == complete + endfamily + family verf + task jgfs_atmos_vminmon + trigger ../analysis/jgfs_atmos_analysis == complete + endfamily + endfamily + family wave + family init + task jgfs_wave_init + trigger /prod/primary/06/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete + endfamily + family prep + task jgfs_wave_prep + trigger ../init/jgfs_wave_init == complete + endfamily + family post + task jgfs_wave_postsbs + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post000 + task jgfs_wave_postpnt + trigger ../../jgfs_forecast == complete + task jgfs_wave_post_bndpnt + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_post_bndpntbll + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_prdgen_gridded + trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete + task jgfs_wave_prdgen_bulls + trigger ./jgfs_wave_postpnt == complete and ./jgfs_wave_postsbs == complete + endfamily + family gempak + task jgfs_wave_gempak + trigger ../post/jgfs_wave_postsbs == active or ../post/jgfs_wave_postsbs == complete + endfamily + endfamily + task jgfs_forecast + trigger ./atmos/analysis/jgfs_atmos_analysis:release_fcst and ./wave/prep/jgfs_wave_prep == complete + endfamily + family gdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gdas' + family atmos + family obsproc + family dump + task jgdas_atmos_tropcy_qc_reloc + trigger :TIME >= 1145 and :TIME < 1745 + endfamily + family prep + task jgdas_atmos_emcsfc_sfc_prep + trigger /prod/primary/06/obsproc/v1.0/gdas/atmos/dump/jobsproc_gdas_atmos_dump:release_sfcprep + endfamily + endfamily + family init + task jgdas_atmos_gldas + trigger ../analysis/jgdas_atmos_analysis == complete + endfamily + family analysis + task jgdas_atmos_analysis + trigger /prod/primary/06/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and ../obsproc/prep/jgdas_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgdas_atmos_analysis_calc + trigger ./jgdas_atmos_analysis == complete + task jgdas_atmos_analysis_diag + trigger ./jgdas_atmos_analysis == complete + endfamily + family post + task jgdas_atmos_post_manager + trigger ../../jgdas_forecast == active + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + task jgdas_atmos_post_anl + trigger ./jgdas_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgdas_atmos_post_f000 + trigger ./jgdas_atmos_post_manager:release_post000 + edit FHR 'f000' + edit HR '000' + edit FHRGRP '001' + edit FHRLST 'f000' + task jgdas_atmos_post_f001 + trigger ./jgdas_atmos_post_manager:release_post001 + edit FHR 'f001' + edit HR '001' + edit FHRGRP '002' + edit FHRLST 'f001' + task jgdas_atmos_post_f002 + trigger ./jgdas_atmos_post_manager:release_post002 + edit FHR 'f002' + edit HR '002' + edit FHRGRP '003' + edit FHRLST 'f002' + task jgdas_atmos_post_f003 + trigger ./jgdas_atmos_post_manager:release_post003 + edit FHR 'f003' + edit HR '003' + edit FHRGRP '004' + edit FHRLST 'f003' + task jgdas_atmos_post_f004 + trigger ./jgdas_atmos_post_manager:release_post004 + edit FHR 'f004' + edit HR '004' + edit FHRGRP '005' + edit FHRLST 'f004' + task jgdas_atmos_post_f005 + trigger ./jgdas_atmos_post_manager:release_post005 + edit FHR 'f005' + edit HR '005' + edit FHRGRP '006' + edit FHRLST 'f005' + task jgdas_atmos_post_f006 + trigger ./jgdas_atmos_post_manager:release_post006 + edit FHR 'f006' + edit HR '006' + edit FHRGRP '007' + edit FHRLST 'f006' + task jgdas_atmos_post_f007 + trigger ./jgdas_atmos_post_manager:release_post007 + edit FHR 'f007' + edit HR '007' + edit FHRGRP '008' + edit FHRLST 'f007' + task jgdas_atmos_post_f008 + trigger ./jgdas_atmos_post_manager:release_post008 + edit FHR 'f008' + edit HR '008' + edit FHRGRP '009' + edit FHRLST 'f008' + task jgdas_atmos_post_f009 + trigger ./jgdas_atmos_post_manager:release_post009 + edit FHR 'f009' + edit HR '009' + edit FHRGRP '010' + edit FHRLST 'f009' + endfamily + family post_processing + task jgdas_atmos_chgres_forenkf + trigger ../../jgdas_forecast == complete and ../../../enkfgdas/forecast == complete + endfamily + family gempak + task jgdas_atmos_gempak + trigger ../../jgdas_forecast == complete + task jgdas_atmos_gempak_meta_ncdc + trigger ./jgdas_atmos_gempak == complete + endfamily + family verf + task jgdas_atmos_vminmon + trigger ../analysis/jgdas_atmos_analysis == complete + task jgdas_atmos_verfrad + trigger ../analysis/jgdas_atmos_analysis_diag == complete + task jgdas_atmos_verfozn + trigger ../analysis/jgdas_atmos_analysis_diag == complete + endfamily + endfamily + family wave + family init + task jgdas_wave_init + trigger /prod/primary/06/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete + endfamily + family prep + task jgdas_wave_prep + trigger ../init/jgdas_wave_init == complete + endfamily + family post + task jgdas_wave_postsbs + trigger ../../atmos/post/jgdas_atmos_post_manager:release_post000 + task jgdas_wave_postpnt + trigger ../../jgdas_forecast == complete + endfamily + endfamily + task jgdas_forecast + trigger ./atmos/analysis/jgdas_atmos_analysis:release_fcst and ./wave/prep/jgdas_wave_prep == complete and ./atmos/init/jgdas_atmos_gldas == complete + endfamily + family enkfgdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas' + family analysis + family create + task jenkfgdas_select_obs + trigger /prod/primary/06/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and /prod/primary/00/gfs/v16.2/enkfgdas/post == complete + task jenkfgdas_diag + trigger ./jenkfgdas_select_obs == complete + task jenkfgdas_update + trigger ./jenkfgdas_diag == complete + endfamily + family recenter + family ecen + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete and /prod/primary/00/gfs/v16.2/gdas/atmos/post_processing/jgdas_atmos_chgres_forenkf == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/analysis/recenter/ecen' + family grp1 + edit FHRGRP '003' + task jenkfgdas_ecen + endfamily + family grp2 + edit FHRGRP '006' + task jenkfgdas_ecen + endfamily + family grp3 + edit FHRGRP '009' + task jenkfgdas_ecen + endfamily + endfamily + task jenkfgdas_sfc + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete + endfamily + endfamily + family forecast + trigger ./analysis/recenter/ecen == complete and ./analysis/recenter/jenkfgdas_sfc == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/forecast' + family grp1 + edit ENSGRP '01' + task jenkfgdas_fcst + endfamily + family grp2 + edit ENSGRP '02' + task jenkfgdas_fcst + endfamily + family grp3 + edit ENSGRP '03' + task jenkfgdas_fcst + endfamily + family grp4 + edit ENSGRP '04' + task jenkfgdas_fcst + endfamily + family grp5 + edit ENSGRP '05' + task jenkfgdas_fcst + endfamily + family grp6 + edit ENSGRP '06' + task jenkfgdas_fcst + endfamily + family grp7 + edit ENSGRP '07' + task jenkfgdas_fcst + endfamily + family grp8 + edit ENSGRP '08' + task jenkfgdas_fcst + endfamily + family grp9 + edit ENSGRP '09' + task jenkfgdas_fcst + endfamily + family grp10 + edit ENSGRP '10' + task jenkfgdas_fcst + endfamily + family grp11 + edit ENSGRP '11' + task jenkfgdas_fcst + endfamily + family grp12 + edit ENSGRP '12' + task jenkfgdas_fcst + endfamily + family grp13 + edit ENSGRP '13' + task jenkfgdas_fcst + endfamily + family grp14 + edit ENSGRP '14' + task jenkfgdas_fcst + endfamily + family grp15 + edit ENSGRP '15' + task jenkfgdas_fcst + endfamily + family grp16 + edit ENSGRP '16' + task jenkfgdas_fcst + endfamily + family grp17 + edit ENSGRP '17' + task jenkfgdas_fcst + endfamily + family grp18 + edit ENSGRP '18' + task jenkfgdas_fcst + endfamily + family grp19 + edit ENSGRP '19' + task jenkfgdas_fcst + endfamily + family grp20 + edit ENSGRP '20' + task jenkfgdas_fcst + endfamily + family grp21 + edit ENSGRP '21' + task jenkfgdas_fcst + endfamily + family grp22 + edit ENSGRP '22' + task jenkfgdas_fcst + endfamily + family grp23 + edit ENSGRP '23' + task jenkfgdas_fcst + endfamily + family grp24 + edit ENSGRP '24' + task jenkfgdas_fcst + endfamily + family grp25 + edit ENSGRP '25' + task jenkfgdas_fcst + endfamily + family grp26 + edit ENSGRP '26' + task jenkfgdas_fcst + endfamily + family grp27 + edit ENSGRP '27' + task jenkfgdas_fcst + endfamily + family grp28 + edit ENSGRP '28' + task jenkfgdas_fcst + endfamily + family grp29 + edit ENSGRP '29' + task jenkfgdas_fcst + endfamily + family grp30 + edit ENSGRP '30' + task jenkfgdas_fcst + endfamily + family grp31 + edit ENSGRP '31' + task jenkfgdas_fcst + endfamily + family grp32 + edit ENSGRP '32' + task jenkfgdas_fcst + endfamily + family grp33 + edit ENSGRP '33' + task jenkfgdas_fcst + endfamily + family grp34 + edit ENSGRP '34' + task jenkfgdas_fcst + endfamily + family grp35 + edit ENSGRP '35' + task jenkfgdas_fcst + endfamily + family grp36 + edit ENSGRP '36' + task jenkfgdas_fcst + endfamily + family grp37 + edit ENSGRP '37' + task jenkfgdas_fcst + endfamily + family grp38 + edit ENSGRP '38' + task jenkfgdas_fcst + endfamily + family grp39 + edit ENSGRP '39' + task jenkfgdas_fcst + endfamily + family grp40 + edit ENSGRP '40' + task jenkfgdas_fcst + endfamily + endfamily + family post + trigger ./forecast == complete + task jenkfgdas_post_f003 + edit FHMIN_EPOS '003' + edit FHMAX_EPOS '003' + edit FHOUT_EPOS '003' + task jenkfgdas_post_f004 + edit FHMIN_EPOS '004' + edit FHMAX_EPOS '004' + edit FHOUT_EPOS '004' + task jenkfgdas_post_f005 + edit FHMIN_EPOS '005' + edit FHMAX_EPOS '005' + edit FHOUT_EPOS '005' + task jenkfgdas_post_f006 + edit FHMIN_EPOS '006' + edit FHMAX_EPOS '006' + edit FHOUT_EPOS '006' + task jenkfgdas_post_f007 + edit FHMIN_EPOS '007' + edit FHMAX_EPOS '007' + edit FHOUT_EPOS '007' + task jenkfgdas_post_f008 + edit FHMIN_EPOS '008' + edit FHMAX_EPOS '008' + edit FHOUT_EPOS '008' + task jenkfgdas_post_f009 + edit FHMIN_EPOS '009' + edit FHMAX_EPOS '009' + edit FHOUT_EPOS '009' + endfamily + endfamily + endfamily + diff --git a/ecflow/ecf/defs/gfs_12.def b/ecflow/ecf/defs/gfs_12.def new file mode 100644 index 0000000000..f04e1f79a6 --- /dev/null +++ b/ecflow/ecf/defs/gfs_12.def @@ -0,0 +1,2590 @@ + family v16.2 + family gfs + edit RUN 'gfs' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gfs' + family atmos + family obsproc + family dump + task jgfs_atmos_tropcy_qc_reloc + trigger :TIME >= 1441 and :TIME < 2041 + event 1 jtwc_bull_email + endfamily + family prep + task jgfs_atmos_emcsfc_sfc_prep + trigger /prod/primary/12/obsproc/v1.0/gfs/atmos/dump/jobsproc_gfs_atmos_dump:release_sfcprep + endfamily + endfamily + family analysis + task jgfs_atmos_analysis + trigger /prod/primary/12/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete and ../obsproc/prep/jgfs_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgfs_atmos_analysis_calc + trigger ./jgfs_atmos_analysis == complete + endfamily + family post + task jgfs_atmos_post_manager + trigger ../analysis/jgfs_atmos_analysis == complete + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + event 12 release_post010 + event 13 release_post011 + event 14 release_post012 + event 15 release_post013 + event 16 release_post014 + event 17 release_post015 + event 18 release_post016 + event 19 release_post017 + event 20 release_post018 + event 21 release_post019 + event 22 release_post020 + event 23 release_post021 + event 24 release_post022 + event 25 release_post023 + event 26 release_post024 + event 27 release_post025 + event 28 release_post026 + event 29 release_post027 + event 30 release_post028 + event 31 release_post029 + event 32 release_post030 + event 33 release_post031 + event 34 release_post032 + event 35 release_post033 + event 36 release_post034 + event 37 release_post035 + event 38 release_post036 + event 39 release_post037 + event 40 release_post038 + event 41 release_post039 + event 42 release_post040 + event 43 release_post041 + event 44 release_post042 + event 45 release_post043 + event 46 release_post044 + event 47 release_post045 + event 48 release_post046 + event 49 release_post047 + event 50 release_post048 + event 51 release_post049 + event 52 release_post050 + event 53 release_post051 + event 54 release_post052 + event 55 release_post053 + event 56 release_post054 + event 57 release_post055 + event 58 release_post056 + event 59 release_post057 + event 60 release_post058 + event 61 release_post059 + event 62 release_post060 + event 63 release_post061 + event 64 release_post062 + event 65 release_post063 + event 66 release_post064 + event 67 release_post065 + event 68 release_post066 + event 69 release_post067 + event 70 release_post068 + event 71 release_post069 + event 72 release_post070 + event 73 release_post071 + event 74 release_post072 + event 75 release_post073 + event 76 release_post074 + event 77 release_post075 + event 78 release_post076 + event 79 release_post077 + event 80 release_post078 + event 81 release_post079 + event 82 release_post080 + event 83 release_post081 + event 84 release_post082 + event 85 release_post083 + event 86 release_post084 + event 87 release_post085 + event 88 release_post086 + event 89 release_post087 + event 90 release_post088 + event 91 release_post089 + event 92 release_post090 + event 93 release_post091 + event 94 release_post092 + event 95 release_post093 + event 96 release_post094 + event 97 release_post095 + event 98 release_post096 + event 99 release_post097 + event 100 release_post098 + event 101 release_post099 + event 102 release_post100 + event 103 release_post101 + event 104 release_post102 + event 105 release_post103 + event 106 release_post104 + event 107 release_post105 + event 108 release_post106 + event 109 release_post107 + event 110 release_post108 + event 111 release_post109 + event 112 release_post110 + event 113 release_post111 + event 114 release_post112 + event 115 release_post113 + event 116 release_post114 + event 117 release_post115 + event 118 release_post116 + event 119 release_post117 + event 120 release_post118 + event 121 release_post119 + event 122 release_post120 + event 123 release_post123 + event 124 release_post126 + event 125 release_post129 + event 126 release_post132 + event 127 release_post135 + event 128 release_post138 + event 129 release_post141 + event 130 release_post144 + event 131 release_post147 + event 132 release_post150 + event 133 release_post153 + event 134 release_post156 + event 135 release_post159 + event 136 release_post162 + event 137 release_post165 + event 138 release_post168 + event 139 release_post171 + event 140 release_post174 + event 141 release_post177 + event 142 release_post180 + event 143 release_post183 + event 144 release_post186 + event 145 release_post189 + event 146 release_post192 + event 147 release_post195 + event 148 release_post198 + event 149 release_post201 + event 150 release_post204 + event 151 release_post207 + event 152 release_post210 + event 153 release_post213 + event 154 release_post216 + event 155 release_post219 + event 156 release_post222 + event 157 release_post225 + event 158 release_post228 + event 159 release_post231 + event 160 release_post234 + event 161 release_post237 + event 162 release_post240 + event 163 release_post243 + event 164 release_post246 + event 165 release_post249 + event 166 release_post252 + event 167 release_post255 + event 168 release_post258 + event 169 release_post261 + event 170 release_post264 + event 171 release_post267 + event 172 release_post270 + event 173 release_post273 + event 174 release_post276 + event 175 release_post279 + event 176 release_post282 + event 177 release_post285 + event 178 release_post288 + event 179 release_post291 + event 180 release_post294 + event 181 release_post297 + event 182 release_post300 + event 183 release_post303 + event 184 release_post306 + event 185 release_post309 + event 186 release_post312 + event 187 release_post315 + event 188 release_post318 + event 189 release_post321 + event 190 release_post324 + event 191 release_post327 + event 192 release_post330 + event 193 release_post333 + event 194 release_post336 + event 195 release_post339 + event 196 release_post342 + event 197 release_post345 + event 198 release_post348 + event 199 release_post351 + event 200 release_post354 + event 201 release_post357 + event 202 release_post360 + event 203 release_post363 + event 204 release_post366 + event 205 release_post369 + event 206 release_post372 + event 207 release_post375 + event 208 release_post378 + event 209 release_post381 + event 210 release_post384 + task jgfs_atmos_post_anl + trigger ./jgfs_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgfs_atmos_post_f000 + trigger ./jgfs_atmos_post_manager:release_post000 + edit FHRGRP '001' + edit FHRLST 'f000' + edit FHR 'f000' + edit HR '000' + task jgfs_atmos_post_f001 + trigger ./jgfs_atmos_post_manager:release_post001 + edit FHRGRP '002' + edit FHRLST 'f001' + edit FHR 'f001' + edit HR '001' + task jgfs_atmos_post_f002 + trigger ./jgfs_atmos_post_manager:release_post002 + edit FHRGRP '003' + edit FHRLST 'f002' + edit FHR 'f002' + edit HR '002' + task jgfs_atmos_post_f003 + trigger ./jgfs_atmos_post_manager:release_post003 + edit FHRGRP '004' + edit FHRLST 'f003' + edit FHR 'f003' + edit HR '003' + task jgfs_atmos_post_f004 + trigger ./jgfs_atmos_post_manager:release_post004 + edit FHRGRP '005' + edit FHRLST 'f004' + edit FHR 'f004' + edit HR '004' + task jgfs_atmos_post_f005 + trigger ./jgfs_atmos_post_manager:release_post005 + edit FHRGRP '006' + edit FHRLST 'f005' + edit FHR 'f005' + edit HR '005' + task jgfs_atmos_post_f006 + trigger ./jgfs_atmos_post_manager:release_post006 + edit FHRGRP '007' + edit FHRLST 'f006' + edit FHR 'f006' + edit HR '006' + task jgfs_atmos_post_f007 + trigger ./jgfs_atmos_post_manager:release_post007 + edit FHRGRP '008' + edit FHRLST 'f007' + edit FHR 'f007' + edit HR '007' + task jgfs_atmos_post_f008 + trigger ./jgfs_atmos_post_manager:release_post008 + edit FHRGRP '009' + edit FHRLST 'f008' + edit FHR 'f008' + edit HR '008' + task jgfs_atmos_post_f009 + trigger ./jgfs_atmos_post_manager:release_post009 + edit FHRGRP '010' + edit FHRLST 'f009' + edit FHR 'f009' + edit HR '009' + task jgfs_atmos_post_f010 + trigger ./jgfs_atmos_post_manager:release_post010 + edit FHRGRP '011' + edit FHRLST 'f010' + edit FHR 'f010' + edit HR '010' + task jgfs_atmos_post_f011 + trigger ./jgfs_atmos_post_manager:release_post011 + edit FHRGRP '012' + edit FHRLST 'f011' + edit FHR 'f011' + edit HR '011' + task jgfs_atmos_post_f012 + trigger ./jgfs_atmos_post_manager:release_post012 + edit FHRGRP '013' + edit FHRLST 'f012' + edit FHR 'f012' + edit HR '012' + task jgfs_atmos_post_f013 + trigger ./jgfs_atmos_post_manager:release_post013 + edit FHRGRP '014' + edit FHRLST 'f013' + edit FHR 'f013' + edit HR '013' + task jgfs_atmos_post_f014 + trigger ./jgfs_atmos_post_manager:release_post014 + edit FHRGRP '015' + edit FHRLST 'f014' + edit FHR 'f014' + edit HR '014' + task jgfs_atmos_post_f015 + trigger ./jgfs_atmos_post_manager:release_post015 + edit FHRGRP '016' + edit FHRLST 'f015' + edit FHR 'f015' + edit HR '015' + task jgfs_atmos_post_f016 + trigger ./jgfs_atmos_post_manager:release_post016 + edit FHRGRP '017' + edit FHRLST 'f016' + edit FHR 'f016' + edit HR '016' + task jgfs_atmos_post_f017 + trigger ./jgfs_atmos_post_manager:release_post017 + edit FHRGRP '018' + edit FHRLST 'f017' + edit FHR 'f017' + edit HR '017' + task jgfs_atmos_post_f018 + trigger ./jgfs_atmos_post_manager:release_post018 + edit FHRGRP '019' + edit FHRLST 'f018' + edit FHR 'f018' + edit HR '018' + task jgfs_atmos_post_f019 + trigger ./jgfs_atmos_post_manager:release_post019 + edit FHRGRP '020' + edit FHRLST 'f019' + edit FHR 'f019' + edit HR '019' + task jgfs_atmos_post_f020 + trigger ./jgfs_atmos_post_manager:release_post020 + edit FHRGRP '021' + edit FHRLST 'f020' + edit FHR 'f020' + edit HR '020' + task jgfs_atmos_post_f021 + trigger ./jgfs_atmos_post_manager:release_post021 + edit FHRGRP '022' + edit FHRLST 'f021' + edit FHR 'f021' + edit HR '021' + task jgfs_atmos_post_f022 + trigger ./jgfs_atmos_post_manager:release_post022 + edit FHRGRP '023' + edit FHRLST 'f022' + edit FHR 'f022' + edit HR '022' + task jgfs_atmos_post_f023 + trigger ./jgfs_atmos_post_manager:release_post023 + edit FHRGRP '024' + edit FHRLST 'f023' + edit FHR 'f023' + edit HR '023' + task jgfs_atmos_post_f024 + trigger ./jgfs_atmos_post_manager:release_post024 + edit FHRGRP '025' + edit FHRLST 'f024' + edit FHR 'f024' + edit HR '024' + task jgfs_atmos_post_f025 + trigger ./jgfs_atmos_post_manager:release_post025 + edit FHRGRP '026' + edit FHRLST 'f025' + edit FHR 'f025' + edit HR '025' + task jgfs_atmos_post_f026 + trigger ./jgfs_atmos_post_manager:release_post026 + edit FHRGRP '027' + edit FHRLST 'f026' + edit FHR 'f026' + edit HR '026' + task jgfs_atmos_post_f027 + trigger ./jgfs_atmos_post_manager:release_post027 + edit FHRGRP '028' + edit FHRLST 'f027' + edit FHR 'f027' + edit HR '027' + task jgfs_atmos_post_f028 + trigger ./jgfs_atmos_post_manager:release_post028 + edit FHRGRP '029' + edit FHRLST 'f028' + edit FHR 'f028' + edit HR '028' + task jgfs_atmos_post_f029 + trigger ./jgfs_atmos_post_manager:release_post029 + edit FHRGRP '030' + edit FHRLST 'f029' + edit FHR 'f029' + edit HR '029' + task jgfs_atmos_post_f030 + trigger ./jgfs_atmos_post_manager:release_post030 + edit FHRGRP '031' + edit FHRLST 'f030' + edit FHR 'f030' + edit HR '030' + task jgfs_atmos_post_f031 + trigger ./jgfs_atmos_post_manager:release_post031 + edit FHRGRP '032' + edit FHRLST 'f031' + edit FHR 'f031' + edit HR '031' + task jgfs_atmos_post_f032 + trigger ./jgfs_atmos_post_manager:release_post032 + edit FHRGRP '033' + edit FHRLST 'f032' + edit FHR 'f032' + edit HR '032' + task jgfs_atmos_post_f033 + trigger ./jgfs_atmos_post_manager:release_post033 + edit FHRGRP '034' + edit FHRLST 'f033' + edit FHR 'f033' + edit HR '033' + task jgfs_atmos_post_f034 + trigger ./jgfs_atmos_post_manager:release_post034 + edit FHRGRP '035' + edit FHRLST 'f034' + edit FHR 'f034' + edit HR '034' + task jgfs_atmos_post_f035 + trigger ./jgfs_atmos_post_manager:release_post035 + edit FHRGRP '036' + edit FHRLST 'f035' + edit FHR 'f035' + edit HR '035' + task jgfs_atmos_post_f036 + trigger ./jgfs_atmos_post_manager:release_post036 + edit FHRGRP '037' + edit FHRLST 'f036' + edit FHR 'f036' + edit HR '036' + task jgfs_atmos_post_f037 + trigger ./jgfs_atmos_post_manager:release_post037 + edit FHRGRP '038' + edit FHRLST 'f037' + edit FHR 'f037' + edit HR '037' + task jgfs_atmos_post_f038 + trigger ./jgfs_atmos_post_manager:release_post038 + edit FHRGRP '039' + edit FHRLST 'f038' + edit FHR 'f038' + edit HR '038' + task jgfs_atmos_post_f039 + trigger ./jgfs_atmos_post_manager:release_post039 + edit FHRGRP '040' + edit FHRLST 'f039' + edit FHR 'f039' + edit HR '039' + task jgfs_atmos_post_f040 + trigger ./jgfs_atmos_post_manager:release_post040 + edit FHRGRP '041' + edit FHRLST 'f040' + edit FHR 'f040' + edit HR '040' + task jgfs_atmos_post_f041 + trigger ./jgfs_atmos_post_manager:release_post041 + edit FHRGRP '042' + edit FHRLST 'f041' + edit FHR 'f041' + edit HR '041' + task jgfs_atmos_post_f042 + trigger ./jgfs_atmos_post_manager:release_post042 + edit FHRGRP '043' + edit FHRLST 'f042' + edit FHR 'f042' + edit HR '042' + task jgfs_atmos_post_f043 + trigger ./jgfs_atmos_post_manager:release_post043 + edit FHRGRP '044' + edit FHRLST 'f043' + edit FHR 'f043' + edit HR '043' + task jgfs_atmos_post_f044 + trigger ./jgfs_atmos_post_manager:release_post044 + edit FHRGRP '045' + edit FHRLST 'f044' + edit FHR 'f044' + edit HR '044' + task jgfs_atmos_post_f045 + trigger ./jgfs_atmos_post_manager:release_post045 + edit FHRGRP '046' + edit FHRLST 'f045' + edit FHR 'f045' + edit HR '045' + task jgfs_atmos_post_f046 + trigger ./jgfs_atmos_post_manager:release_post046 + edit FHRGRP '047' + edit FHRLST 'f046' + edit FHR 'f046' + edit HR '046' + task jgfs_atmos_post_f047 + trigger ./jgfs_atmos_post_manager:release_post047 + edit FHRGRP '048' + edit FHRLST 'f047' + edit FHR 'f047' + edit HR '047' + task jgfs_atmos_post_f048 + trigger ./jgfs_atmos_post_manager:release_post048 + edit FHRGRP '049' + edit FHRLST 'f048' + edit FHR 'f048' + edit HR '048' + task jgfs_atmos_post_f049 + trigger ./jgfs_atmos_post_manager:release_post049 + edit FHRGRP '050' + edit FHRLST 'f049' + edit FHR 'f049' + edit HR '049' + task jgfs_atmos_post_f050 + trigger ./jgfs_atmos_post_manager:release_post050 + edit FHRGRP '051' + edit FHRLST 'f050' + edit FHR 'f050' + edit HR '050' + task jgfs_atmos_post_f051 + trigger ./jgfs_atmos_post_manager:release_post051 + edit FHRGRP '052' + edit FHRLST 'f051' + edit FHR 'f051' + edit HR '051' + task jgfs_atmos_post_f052 + trigger ./jgfs_atmos_post_manager:release_post052 + edit FHRGRP '053' + edit FHRLST 'f052' + edit FHR 'f052' + edit HR '052' + task jgfs_atmos_post_f053 + trigger ./jgfs_atmos_post_manager:release_post053 + edit FHRGRP '054' + edit FHRLST 'f053' + edit FHR 'f053' + edit HR '053' + task jgfs_atmos_post_f054 + trigger ./jgfs_atmos_post_manager:release_post054 + edit FHRGRP '055' + edit FHRLST 'f054' + edit FHR 'f054' + edit HR '054' + task jgfs_atmos_post_f055 + trigger ./jgfs_atmos_post_manager:release_post055 + edit FHRGRP '056' + edit FHRLST 'f055' + edit FHR 'f055' + edit HR '055' + task jgfs_atmos_post_f056 + trigger ./jgfs_atmos_post_manager:release_post056 + edit FHRGRP '057' + edit FHRLST 'f056' + edit FHR 'f056' + edit HR '056' + task jgfs_atmos_post_f057 + trigger ./jgfs_atmos_post_manager:release_post057 + edit FHRGRP '058' + edit FHRLST 'f057' + edit FHR 'f057' + edit HR '057' + task jgfs_atmos_post_f058 + trigger ./jgfs_atmos_post_manager:release_post058 + edit FHRGRP '059' + edit FHRLST 'f058' + edit FHR 'f058' + edit HR '058' + task jgfs_atmos_post_f059 + trigger ./jgfs_atmos_post_manager:release_post059 + edit FHRGRP '060' + edit FHRLST 'f059' + edit FHR 'f059' + edit HR '059' + task jgfs_atmos_post_f060 + trigger ./jgfs_atmos_post_manager:release_post060 + edit FHRGRP '061' + edit FHRLST 'f060' + edit FHR 'f060' + edit HR '060' + task jgfs_atmos_post_f061 + trigger ./jgfs_atmos_post_manager:release_post061 + edit FHRGRP '062' + edit FHRLST 'f061' + edit FHR 'f061' + edit HR '061' + task jgfs_atmos_post_f062 + trigger ./jgfs_atmos_post_manager:release_post062 + edit FHRGRP '063' + edit FHRLST 'f062' + edit FHR 'f062' + edit HR '062' + task jgfs_atmos_post_f063 + trigger ./jgfs_atmos_post_manager:release_post063 + edit FHRGRP '064' + edit FHRLST 'f063' + edit FHR 'f063' + edit HR '063' + task jgfs_atmos_post_f064 + trigger ./jgfs_atmos_post_manager:release_post064 + edit FHRGRP '065' + edit FHRLST 'f064' + edit FHR 'f064' + edit HR '064' + task jgfs_atmos_post_f065 + trigger ./jgfs_atmos_post_manager:release_post065 + edit FHRGRP '066' + edit FHRLST 'f065' + edit FHR 'f065' + edit HR '065' + task jgfs_atmos_post_f066 + trigger ./jgfs_atmos_post_manager:release_post066 + edit FHRGRP '067' + edit FHRLST 'f066' + edit FHR 'f066' + edit HR '066' + task jgfs_atmos_post_f067 + trigger ./jgfs_atmos_post_manager:release_post067 + edit FHRGRP '068' + edit FHRLST 'f067' + edit FHR 'f067' + edit HR '067' + task jgfs_atmos_post_f068 + trigger ./jgfs_atmos_post_manager:release_post068 + edit FHRGRP '069' + edit FHRLST 'f068' + edit FHR 'f068' + edit HR '068' + task jgfs_atmos_post_f069 + trigger ./jgfs_atmos_post_manager:release_post069 + edit FHRGRP '070' + edit FHRLST 'f069' + edit FHR 'f069' + edit HR '069' + task jgfs_atmos_post_f070 + trigger ./jgfs_atmos_post_manager:release_post070 + edit FHRGRP '071' + edit FHRLST 'f070' + edit FHR 'f070' + edit HR '070' + task jgfs_atmos_post_f071 + trigger ./jgfs_atmos_post_manager:release_post071 + edit FHRGRP '072' + edit FHRLST 'f071' + edit FHR 'f071' + edit HR '071' + task jgfs_atmos_post_f072 + trigger ./jgfs_atmos_post_manager:release_post072 + edit FHRGRP '073' + edit FHRLST 'f072' + edit FHR 'f072' + edit HR '072' + task jgfs_atmos_post_f073 + trigger ./jgfs_atmos_post_manager:release_post073 + edit FHRGRP '074' + edit FHRLST 'f073' + edit FHR 'f073' + edit HR '073' + task jgfs_atmos_post_f074 + trigger ./jgfs_atmos_post_manager:release_post074 + edit FHRGRP '075' + edit FHRLST 'f074' + edit FHR 'f074' + edit HR '074' + task jgfs_atmos_post_f075 + trigger ./jgfs_atmos_post_manager:release_post075 + edit FHRGRP '076' + edit FHRLST 'f075' + edit FHR 'f075' + edit HR '075' + task jgfs_atmos_post_f076 + trigger ./jgfs_atmos_post_manager:release_post076 + edit FHRGRP '077' + edit FHRLST 'f076' + edit FHR 'f076' + edit HR '076' + task jgfs_atmos_post_f077 + trigger ./jgfs_atmos_post_manager:release_post077 + edit FHRGRP '078' + edit FHRLST 'f077' + edit FHR 'f077' + edit HR '077' + task jgfs_atmos_post_f078 + trigger ./jgfs_atmos_post_manager:release_post078 + edit FHRGRP '079' + edit FHRLST 'f078' + edit FHR 'f078' + edit HR '078' + task jgfs_atmos_post_f079 + trigger ./jgfs_atmos_post_manager:release_post079 + edit FHRGRP '080' + edit FHRLST 'f079' + edit FHR 'f079' + edit HR '079' + task jgfs_atmos_post_f080 + trigger ./jgfs_atmos_post_manager:release_post080 + edit FHRGRP '081' + edit FHRLST 'f080' + edit FHR 'f080' + edit HR '080' + task jgfs_atmos_post_f081 + trigger ./jgfs_atmos_post_manager:release_post081 + edit FHRGRP '082' + edit FHRLST 'f081' + edit FHR 'f081' + edit HR '081' + task jgfs_atmos_post_f082 + trigger ./jgfs_atmos_post_manager:release_post082 + edit FHRGRP '083' + edit FHRLST 'f082' + edit FHR 'f082' + edit HR '082' + task jgfs_atmos_post_f083 + trigger ./jgfs_atmos_post_manager:release_post083 + edit FHRGRP '084' + edit FHRLST 'f083' + edit FHR 'f083' + edit HR '083' + task jgfs_atmos_post_f084 + trigger ./jgfs_atmos_post_manager:release_post084 + edit FHRGRP '085' + edit FHRLST 'f084' + edit FHR 'f084' + edit HR '084' + task jgfs_atmos_post_f085 + trigger ./jgfs_atmos_post_manager:release_post085 + edit FHRGRP '086' + edit FHRLST 'f085' + edit FHR 'f085' + edit HR '085' + task jgfs_atmos_post_f086 + trigger ./jgfs_atmos_post_manager:release_post086 + edit FHRGRP '087' + edit FHRLST 'f086' + edit FHR 'f086' + edit HR '086' + task jgfs_atmos_post_f087 + trigger ./jgfs_atmos_post_manager:release_post087 + edit FHRGRP '088' + edit FHRLST 'f087' + edit FHR 'f087' + edit HR '087' + task jgfs_atmos_post_f088 + trigger ./jgfs_atmos_post_manager:release_post088 + edit FHRGRP '089' + edit FHRLST 'f088' + edit FHR 'f088' + edit HR '088' + task jgfs_atmos_post_f089 + trigger ./jgfs_atmos_post_manager:release_post089 + edit FHRGRP '090' + edit FHRLST 'f089' + edit FHR 'f089' + edit HR '089' + task jgfs_atmos_post_f090 + trigger ./jgfs_atmos_post_manager:release_post090 + edit FHRGRP '091' + edit FHRLST 'f090' + edit FHR 'f090' + edit HR '090' + task jgfs_atmos_post_f091 + trigger ./jgfs_atmos_post_manager:release_post091 + edit FHRGRP '092' + edit FHRLST 'f091' + edit FHR 'f091' + edit HR '091' + task jgfs_atmos_post_f092 + trigger ./jgfs_atmos_post_manager:release_post092 + edit FHRGRP '093' + edit FHRLST 'f092' + edit FHR 'f092' + edit HR '092' + task jgfs_atmos_post_f093 + trigger ./jgfs_atmos_post_manager:release_post093 + edit FHRGRP '094' + edit FHRLST 'f093' + edit FHR 'f093' + edit HR '093' + task jgfs_atmos_post_f094 + trigger ./jgfs_atmos_post_manager:release_post094 + edit FHRGRP '095' + edit FHRLST 'f094' + edit FHR 'f094' + edit HR '094' + task jgfs_atmos_post_f095 + trigger ./jgfs_atmos_post_manager:release_post095 + edit FHRGRP '096' + edit FHRLST 'f095' + edit FHR 'f095' + edit HR '095' + task jgfs_atmos_post_f096 + trigger ./jgfs_atmos_post_manager:release_post096 + edit FHRGRP '097' + edit FHRLST 'f096' + edit FHR 'f096' + edit HR '096' + task jgfs_atmos_post_f097 + trigger ./jgfs_atmos_post_manager:release_post097 + edit FHRGRP '098' + edit FHRLST 'f097' + edit FHR 'f097' + edit HR '097' + task jgfs_atmos_post_f098 + trigger ./jgfs_atmos_post_manager:release_post098 + edit FHRGRP '099' + edit FHRLST 'f098' + edit FHR 'f098' + edit HR '098' + task jgfs_atmos_post_f099 + trigger ./jgfs_atmos_post_manager:release_post099 + edit FHRGRP '100' + edit FHRLST 'f099' + edit FHR 'f099' + edit HR '099' + task jgfs_atmos_post_f100 + trigger ./jgfs_atmos_post_manager:release_post100 + edit FHRGRP '101' + edit FHRLST 'f100' + edit FHR 'f100' + edit HR '100' + task jgfs_atmos_post_f101 + trigger ./jgfs_atmos_post_manager:release_post101 + edit FHRGRP '102' + edit FHRLST 'f101' + edit FHR 'f101' + edit HR '101' + task jgfs_atmos_post_f102 + trigger ./jgfs_atmos_post_manager:release_post102 + edit FHRGRP '103' + edit FHRLST 'f102' + edit FHR 'f102' + edit HR '102' + task jgfs_atmos_post_f103 + trigger ./jgfs_atmos_post_manager:release_post103 + edit FHRGRP '104' + edit FHRLST 'f103' + edit FHR 'f103' + edit HR '103' + task jgfs_atmos_post_f104 + trigger ./jgfs_atmos_post_manager:release_post104 + edit FHRGRP '105' + edit FHRLST 'f104' + edit FHR 'f104' + edit HR '104' + task jgfs_atmos_post_f105 + trigger ./jgfs_atmos_post_manager:release_post105 + edit FHRGRP '106' + edit FHRLST 'f105' + edit FHR 'f105' + edit HR '105' + task jgfs_atmos_post_f106 + trigger ./jgfs_atmos_post_manager:release_post106 + edit FHRGRP '107' + edit FHRLST 'f106' + edit FHR 'f106' + edit HR '106' + task jgfs_atmos_post_f107 + trigger ./jgfs_atmos_post_manager:release_post107 + edit FHRGRP '108' + edit FHRLST 'f107' + edit FHR 'f107' + edit HR '107' + task jgfs_atmos_post_f108 + trigger ./jgfs_atmos_post_manager:release_post108 + edit FHRGRP '109' + edit FHRLST 'f108' + edit FHR 'f108' + edit HR '108' + task jgfs_atmos_post_f109 + trigger ./jgfs_atmos_post_manager:release_post109 + edit FHRGRP '110' + edit FHRLST 'f109' + edit FHR 'f109' + edit HR '109' + task jgfs_atmos_post_f110 + trigger ./jgfs_atmos_post_manager:release_post110 + edit FHRGRP '111' + edit FHRLST 'f110' + edit FHR 'f110' + edit HR '110' + task jgfs_atmos_post_f111 + trigger ./jgfs_atmos_post_manager:release_post111 + edit FHRGRP '112' + edit FHRLST 'f111' + edit FHR 'f111' + edit HR '111' + task jgfs_atmos_post_f112 + trigger ./jgfs_atmos_post_manager:release_post112 + edit FHRGRP '113' + edit FHRLST 'f112' + edit FHR 'f112' + edit HR '112' + task jgfs_atmos_post_f113 + trigger ./jgfs_atmos_post_manager:release_post113 + edit FHRGRP '114' + edit FHRLST 'f113' + edit FHR 'f113' + edit HR '113' + task jgfs_atmos_post_f114 + trigger ./jgfs_atmos_post_manager:release_post114 + edit FHRGRP '115' + edit FHRLST 'f114' + edit FHR 'f114' + edit HR '114' + task jgfs_atmos_post_f115 + trigger ./jgfs_atmos_post_manager:release_post115 + edit FHRGRP '116' + edit FHRLST 'f115' + edit FHR 'f115' + edit HR '115' + task jgfs_atmos_post_f116 + trigger ./jgfs_atmos_post_manager:release_post116 + edit FHRGRP '117' + edit FHRLST 'f116' + edit FHR 'f116' + edit HR '116' + task jgfs_atmos_post_f117 + trigger ./jgfs_atmos_post_manager:release_post117 + edit FHRGRP '118' + edit FHRLST 'f117' + edit FHR 'f117' + edit HR '117' + task jgfs_atmos_post_f118 + trigger ./jgfs_atmos_post_manager:release_post118 + edit FHRGRP '119' + edit FHRLST 'f118' + edit FHR 'f118' + edit HR '118' + task jgfs_atmos_post_f119 + trigger ./jgfs_atmos_post_manager:release_post119 + edit FHRGRP '120' + edit FHRLST 'f119' + edit FHR 'f119' + edit HR '119' + task jgfs_atmos_post_f120 + trigger ./jgfs_atmos_post_manager:release_post120 + edit FHRGRP '121' + edit FHRLST 'f120' + edit FHR 'f120' + edit HR '120' + task jgfs_atmos_post_f123 + trigger ./jgfs_atmos_post_manager:release_post123 + edit FHRGRP '122' + edit FHRLST 'f123' + edit FHR 'f123' + edit HR '123' + task jgfs_atmos_post_f126 + trigger ./jgfs_atmos_post_manager:release_post126 + edit FHRGRP '123' + edit FHRLST 'f126' + edit FHR 'f126' + edit HR '126' + task jgfs_atmos_post_f129 + trigger ./jgfs_atmos_post_manager:release_post129 + edit FHRGRP '124' + edit FHRLST 'f129' + edit FHR 'f129' + edit HR '129' + task jgfs_atmos_post_f132 + trigger ./jgfs_atmos_post_manager:release_post132 + edit FHRGRP '125' + edit FHRLST 'f132' + edit FHR 'f132' + edit HR '132' + task jgfs_atmos_post_f135 + trigger ./jgfs_atmos_post_manager:release_post135 + edit FHRGRP '126' + edit FHRLST 'f135' + edit FHR 'f135' + edit HR '135' + task jgfs_atmos_post_f138 + trigger ./jgfs_atmos_post_manager:release_post138 + edit FHRGRP '127' + edit FHRLST 'f138' + edit FHR 'f138' + edit HR '138' + task jgfs_atmos_post_f141 + trigger ./jgfs_atmos_post_manager:release_post141 + edit FHRGRP '128' + edit FHRLST 'f141' + edit FHR 'f141' + edit HR '141' + task jgfs_atmos_post_f144 + trigger ./jgfs_atmos_post_manager:release_post144 + edit FHRGRP '129' + edit FHRLST 'f144' + edit FHR 'f144' + edit HR '144' + task jgfs_atmos_post_f147 + trigger ./jgfs_atmos_post_manager:release_post147 + edit FHRGRP '130' + edit FHRLST 'f147' + edit FHR 'f147' + edit HR '147' + task jgfs_atmos_post_f150 + trigger ./jgfs_atmos_post_manager:release_post150 + edit FHRGRP '131' + edit FHRLST 'f150' + edit FHR 'f150' + edit HR '150' + task jgfs_atmos_post_f153 + trigger ./jgfs_atmos_post_manager:release_post153 + edit FHRGRP '132' + edit FHRLST 'f153' + edit FHR 'f153' + edit HR '153' + task jgfs_atmos_post_f156 + trigger ./jgfs_atmos_post_manager:release_post156 + edit FHRGRP '133' + edit FHRLST 'f156' + edit FHR 'f156' + edit HR '156' + task jgfs_atmos_post_f159 + trigger ./jgfs_atmos_post_manager:release_post159 + edit FHRGRP '134' + edit FHRLST 'f159' + edit FHR 'f159' + edit HR '159' + task jgfs_atmos_post_f162 + trigger ./jgfs_atmos_post_manager:release_post162 + edit FHRGRP '135' + edit FHRLST 'f162' + edit FHR 'f162' + edit HR '162' + task jgfs_atmos_post_f165 + trigger ./jgfs_atmos_post_manager:release_post165 + edit FHRGRP '136' + edit FHRLST 'f165' + edit FHR 'f165' + edit HR '165' + task jgfs_atmos_post_f168 + trigger ./jgfs_atmos_post_manager:release_post168 + edit FHRGRP '137' + edit FHRLST 'f168' + edit FHR 'f168' + edit HR '168' + task jgfs_atmos_post_f171 + trigger ./jgfs_atmos_post_manager:release_post171 + edit FHRGRP '138' + edit FHRLST 'f171' + edit FHR 'f171' + edit HR '171' + task jgfs_atmos_post_f174 + trigger ./jgfs_atmos_post_manager:release_post174 + edit FHRGRP '139' + edit FHRLST 'f174' + edit FHR 'f174' + edit HR '174' + task jgfs_atmos_post_f177 + trigger ./jgfs_atmos_post_manager:release_post177 + edit FHRGRP '140' + edit FHRLST 'f177' + edit FHR 'f177' + edit HR '177' + task jgfs_atmos_post_f180 + trigger ./jgfs_atmos_post_manager:release_post180 + edit FHRGRP '141' + edit FHRLST 'f180' + edit FHR 'f180' + edit HR '180' + task jgfs_atmos_post_f183 + trigger ./jgfs_atmos_post_manager:release_post183 + edit FHRGRP '142' + edit FHRLST 'f183' + edit FHR 'f183' + edit HR '183' + task jgfs_atmos_post_f186 + trigger ./jgfs_atmos_post_manager:release_post186 + edit FHRGRP '143' + edit FHRLST 'f186' + edit FHR 'f186' + edit HR '186' + task jgfs_atmos_post_f189 + trigger ./jgfs_atmos_post_manager:release_post189 + edit FHRGRP '144' + edit FHRLST 'f189' + edit FHR 'f189' + edit HR '189' + task jgfs_atmos_post_f192 + trigger ./jgfs_atmos_post_manager:release_post192 + edit FHRGRP '145' + edit FHRLST 'f192' + edit FHR 'f192' + edit HR '192' + task jgfs_atmos_post_f195 + trigger ./jgfs_atmos_post_manager:release_post195 + edit FHRGRP '146' + edit FHRLST 'f195' + edit FHR 'f195' + edit HR '195' + task jgfs_atmos_post_f198 + trigger ./jgfs_atmos_post_manager:release_post198 + edit FHRGRP '147' + edit FHRLST 'f198' + edit FHR 'f198' + edit HR '198' + task jgfs_atmos_post_f201 + trigger ./jgfs_atmos_post_manager:release_post201 + edit FHRGRP '148' + edit FHRLST 'f201' + edit FHR 'f201' + edit HR '201' + task jgfs_atmos_post_f204 + trigger ./jgfs_atmos_post_manager:release_post204 + edit FHRGRP '149' + edit FHRLST 'f204' + edit FHR 'f204' + edit HR '204' + task jgfs_atmos_post_f207 + trigger ./jgfs_atmos_post_manager:release_post207 + edit FHRGRP '150' + edit FHRLST 'f207' + edit FHR 'f207' + edit HR '207' + task jgfs_atmos_post_f210 + trigger ./jgfs_atmos_post_manager:release_post210 + edit FHRGRP '151' + edit FHRLST 'f210' + edit FHR 'f210' + edit HR '210' + task jgfs_atmos_post_f213 + trigger ./jgfs_atmos_post_manager:release_post213 + edit FHRGRP '152' + edit FHRLST 'f213' + edit FHR 'f213' + edit HR '213' + task jgfs_atmos_post_f216 + trigger ./jgfs_atmos_post_manager:release_post216 + edit FHRGRP '153' + edit FHRLST 'f216' + edit FHR 'f216' + edit HR '216' + task jgfs_atmos_post_f219 + trigger ./jgfs_atmos_post_manager:release_post219 + edit FHRGRP '154' + edit FHRLST 'f219' + edit FHR 'f219' + edit HR '219' + task jgfs_atmos_post_f222 + trigger ./jgfs_atmos_post_manager:release_post222 + edit FHRGRP '155' + edit FHRLST 'f222' + edit FHR 'f222' + edit HR '222' + task jgfs_atmos_post_f225 + trigger ./jgfs_atmos_post_manager:release_post225 + edit FHRGRP '156' + edit FHRLST 'f225' + edit FHR 'f225' + edit HR '225' + task jgfs_atmos_post_f228 + trigger ./jgfs_atmos_post_manager:release_post228 + edit FHRGRP '157' + edit FHRLST 'f228' + edit FHR 'f228' + edit HR '228' + task jgfs_atmos_post_f231 + trigger ./jgfs_atmos_post_manager:release_post231 + edit FHRGRP '158' + edit FHRLST 'f231' + edit FHR 'f231' + edit HR '231' + task jgfs_atmos_post_f234 + trigger ./jgfs_atmos_post_manager:release_post234 + edit FHRGRP '159' + edit FHRLST 'f234' + edit FHR 'f234' + edit HR '234' + task jgfs_atmos_post_f237 + trigger ./jgfs_atmos_post_manager:release_post237 + edit FHRGRP '160' + edit FHRLST 'f237' + edit FHR 'f237' + edit HR '237' + task jgfs_atmos_post_f240 + trigger ./jgfs_atmos_post_manager:release_post240 + edit FHRGRP '161' + edit FHRLST 'f240' + edit FHR 'f240' + edit HR '240' + task jgfs_atmos_post_f243 + trigger ./jgfs_atmos_post_manager:release_post243 + edit FHRGRP '162' + edit FHRLST 'f243' + edit FHR 'f243' + edit HR '243' + task jgfs_atmos_post_f246 + trigger ./jgfs_atmos_post_manager:release_post246 + edit FHRGRP '163' + edit FHRLST 'f246' + edit FHR 'f246' + edit HR '246' + task jgfs_atmos_post_f249 + trigger ./jgfs_atmos_post_manager:release_post249 + edit FHRGRP '164' + edit FHRLST 'f249' + edit FHR 'f249' + edit HR '249' + task jgfs_atmos_post_f252 + trigger ./jgfs_atmos_post_manager:release_post252 + edit FHRGRP '165' + edit FHRLST 'f252' + edit FHR 'f252' + edit HR '252' + task jgfs_atmos_post_f255 + trigger ./jgfs_atmos_post_manager:release_post255 + edit FHRGRP '166' + edit FHRLST 'f255' + edit FHR 'f255' + edit HR '255' + task jgfs_atmos_post_f258 + trigger ./jgfs_atmos_post_manager:release_post258 + edit FHRGRP '167' + edit FHRLST 'f258' + edit FHR 'f258' + edit HR '258' + task jgfs_atmos_post_f261 + trigger ./jgfs_atmos_post_manager:release_post261 + edit FHRGRP '168' + edit FHRLST 'f261' + edit FHR 'f261' + edit HR '261' + task jgfs_atmos_post_f264 + trigger ./jgfs_atmos_post_manager:release_post264 + edit FHRGRP '169' + edit FHRLST 'f264' + edit FHR 'f264' + edit HR '264' + task jgfs_atmos_post_f267 + trigger ./jgfs_atmos_post_manager:release_post267 + edit FHRGRP '170' + edit FHRLST 'f267' + edit FHR 'f267' + edit HR '267' + task jgfs_atmos_post_f270 + trigger ./jgfs_atmos_post_manager:release_post270 + edit FHRGRP '171' + edit FHRLST 'f270' + edit FHR 'f270' + edit HR '270' + task jgfs_atmos_post_f273 + trigger ./jgfs_atmos_post_manager:release_post273 + edit FHRGRP '172' + edit FHRLST 'f273' + edit FHR 'f273' + edit HR '273' + task jgfs_atmos_post_f276 + trigger ./jgfs_atmos_post_manager:release_post276 + edit FHRGRP '173' + edit FHRLST 'f276' + edit FHR 'f276' + edit HR '276' + task jgfs_atmos_post_f279 + trigger ./jgfs_atmos_post_manager:release_post279 + edit FHRGRP '174' + edit FHRLST 'f279' + edit FHR 'f279' + edit HR '279' + task jgfs_atmos_post_f282 + trigger ./jgfs_atmos_post_manager:release_post282 + edit FHRGRP '175' + edit FHRLST 'f282' + edit FHR 'f282' + edit HR '282' + task jgfs_atmos_post_f285 + trigger ./jgfs_atmos_post_manager:release_post285 + edit FHRGRP '176' + edit FHRLST 'f285' + edit FHR 'f285' + edit HR '285' + task jgfs_atmos_post_f288 + trigger ./jgfs_atmos_post_manager:release_post288 + edit FHRGRP '177' + edit FHRLST 'f288' + edit FHR 'f288' + edit HR '288' + task jgfs_atmos_post_f291 + trigger ./jgfs_atmos_post_manager:release_post291 + edit FHRGRP '178' + edit FHRLST 'f291' + edit FHR 'f291' + edit HR '291' + task jgfs_atmos_post_f294 + trigger ./jgfs_atmos_post_manager:release_post294 + edit FHRGRP '179' + edit FHRLST 'f294' + edit FHR 'f294' + edit HR '294' + task jgfs_atmos_post_f297 + trigger ./jgfs_atmos_post_manager:release_post297 + edit FHRGRP '180' + edit FHRLST 'f297' + edit FHR 'f297' + edit HR '297' + task jgfs_atmos_post_f300 + trigger ./jgfs_atmos_post_manager:release_post300 + edit FHRGRP '181' + edit FHRLST 'f300' + edit FHR 'f300' + edit HR '300' + task jgfs_atmos_post_f303 + trigger ./jgfs_atmos_post_manager:release_post303 + edit FHRGRP '182' + edit FHRLST 'f303' + edit FHR 'f303' + edit HR '303' + task jgfs_atmos_post_f306 + trigger ./jgfs_atmos_post_manager:release_post306 + edit FHRGRP '183' + edit FHRLST 'f306' + edit FHR 'f306' + edit HR '306' + task jgfs_atmos_post_f309 + trigger ./jgfs_atmos_post_manager:release_post309 + edit FHRGRP '184' + edit FHRLST 'f309' + edit FHR 'f309' + edit HR '309' + task jgfs_atmos_post_f312 + trigger ./jgfs_atmos_post_manager:release_post312 + edit FHRGRP '185' + edit FHRLST 'f312' + edit FHR 'f312' + edit HR '312' + task jgfs_atmos_post_f315 + trigger ./jgfs_atmos_post_manager:release_post315 + edit FHRGRP '186' + edit FHRLST 'f315' + edit FHR 'f315' + edit HR '315' + task jgfs_atmos_post_f318 + trigger ./jgfs_atmos_post_manager:release_post318 + edit FHRGRP '187' + edit FHRLST 'f318' + edit FHR 'f318' + edit HR '318' + task jgfs_atmos_post_f321 + trigger ./jgfs_atmos_post_manager:release_post321 + edit FHRGRP '188' + edit FHRLST 'f321' + edit FHR 'f321' + edit HR '321' + task jgfs_atmos_post_f324 + trigger ./jgfs_atmos_post_manager:release_post324 + edit FHRGRP '189' + edit FHRLST 'f324' + edit FHR 'f324' + edit HR '324' + task jgfs_atmos_post_f327 + trigger ./jgfs_atmos_post_manager:release_post327 + edit FHRGRP '190' + edit FHRLST 'f327' + edit FHR 'f327' + edit HR '327' + task jgfs_atmos_post_f330 + trigger ./jgfs_atmos_post_manager:release_post330 + edit FHRGRP '191' + edit FHRLST 'f330' + edit FHR 'f330' + edit HR '330' + task jgfs_atmos_post_f333 + trigger ./jgfs_atmos_post_manager:release_post333 + edit FHRGRP '192' + edit FHRLST 'f333' + edit FHR 'f333' + edit HR '333' + task jgfs_atmos_post_f336 + trigger ./jgfs_atmos_post_manager:release_post336 + edit FHRGRP '193' + edit FHRLST 'f336' + edit FHR 'f336' + edit HR '336' + task jgfs_atmos_post_f339 + trigger ./jgfs_atmos_post_manager:release_post339 + edit FHRGRP '194' + edit FHRLST 'f339' + edit FHR 'f339' + edit HR '339' + task jgfs_atmos_post_f342 + trigger ./jgfs_atmos_post_manager:release_post342 + edit FHRGRP '195' + edit FHRLST 'f342' + edit FHR 'f342' + edit HR '342' + task jgfs_atmos_post_f345 + trigger ./jgfs_atmos_post_manager:release_post345 + edit FHRGRP '196' + edit FHRLST 'f345' + edit FHR 'f345' + edit HR '345' + task jgfs_atmos_post_f348 + trigger ./jgfs_atmos_post_manager:release_post348 + edit FHRGRP '197' + edit FHRLST 'f348' + edit FHR 'f348' + edit HR '348' + task jgfs_atmos_post_f351 + trigger ./jgfs_atmos_post_manager:release_post351 + edit FHRGRP '198' + edit FHRLST 'f351' + edit FHR 'f351' + edit HR '351' + task jgfs_atmos_post_f354 + trigger ./jgfs_atmos_post_manager:release_post354 + edit FHRGRP '199' + edit FHRLST 'f354' + edit FHR 'f354' + edit HR '354' + task jgfs_atmos_post_f357 + trigger ./jgfs_atmos_post_manager:release_post357 + edit FHRGRP '200' + edit FHRLST 'f357' + edit FHR 'f357' + edit HR '357' + task jgfs_atmos_post_f360 + trigger ./jgfs_atmos_post_manager:release_post360 + edit FHRGRP '201' + edit FHRLST 'f360' + edit FHR 'f360' + edit HR '360' + task jgfs_atmos_post_f363 + trigger ./jgfs_atmos_post_manager:release_post363 + edit FHRGRP '202' + edit FHRLST 'f363' + edit FHR 'f363' + edit HR '363' + task jgfs_atmos_post_f366 + trigger ./jgfs_atmos_post_manager:release_post366 + edit FHRGRP '203' + edit FHRLST 'f366' + edit FHR 'f366' + edit HR '366' + task jgfs_atmos_post_f369 + trigger ./jgfs_atmos_post_manager:release_post369 + edit FHRGRP '204' + edit FHRLST 'f369' + edit FHR 'f369' + edit HR '369' + task jgfs_atmos_post_f372 + trigger ./jgfs_atmos_post_manager:release_post372 + edit FHRGRP '205' + edit FHRLST 'f372' + edit FHR 'f372' + edit HR '372' + task jgfs_atmos_post_f375 + trigger ./jgfs_atmos_post_manager:release_post375 + edit FHRGRP '206' + edit FHRLST 'f375' + edit FHR 'f375' + edit HR '375' + task jgfs_atmos_post_f378 + trigger ./jgfs_atmos_post_manager:release_post378 + edit FHRGRP '207' + edit FHRLST 'f378' + edit FHR 'f378' + edit HR '378' + task jgfs_atmos_post_f381 + trigger ./jgfs_atmos_post_manager:release_post381 + edit FHRGRP '208' + edit FHRLST 'f381' + edit FHR 'f381' + edit HR '381' + task jgfs_atmos_post_f384 + trigger ./jgfs_atmos_post_manager:release_post384 + edit FHRGRP '209' + edit FHRLST 'f384' + edit FHR 'f384' + edit HR '384' + endfamily + family post_processing + task jgfs_atmos_wafs_gcip + trigger ( :TIME >= 1640 and :TIME < 2240) and ../post/jgfs_atmos_post_f003 == complete + family grib_wafs + task jgfs_atmos_wafs_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete and ../../post/jgfs_atmos_post_f120 == complete and ../grib2_wafs/jgfs_atmos_wafs_grib2 == complete + edit FCSTHR '00' + task jgfs_atmos_wafs_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete and ./jgfs_atmos_wafs_f000 == complete + edit FCSTHR '06' + task jgfs_atmos_wafs_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete and ./jgfs_atmos_wafs_f006 == complete + edit FCSTHR '12' + task jgfs_atmos_wafs_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete and ./jgfs_atmos_wafs_f012 == complete + edit FCSTHR '18' + task jgfs_atmos_wafs_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete and ./jgfs_atmos_wafs_f018 == complete + edit FCSTHR '24' + task jgfs_atmos_wafs_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete and ./jgfs_atmos_wafs_f024 == complete + edit FCSTHR '30' + task jgfs_atmos_wafs_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete and ./jgfs_atmos_wafs_f030 == complete + edit FCSTHR '36' + task jgfs_atmos_wafs_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete and ./jgfs_atmos_wafs_f036 == complete + edit FCSTHR '42' + task jgfs_atmos_wafs_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete and ./jgfs_atmos_wafs_f042 == complete + edit FCSTHR '48' + task jgfs_atmos_wafs_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete and ./jgfs_atmos_wafs_f048 == complete + edit FCSTHR '54' + task jgfs_atmos_wafs_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete and ./jgfs_atmos_wafs_f054 == complete + edit FCSTHR '60' + task jgfs_atmos_wafs_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete and ./jgfs_atmos_wafs_f060 == complete + edit FCSTHR '66' + task jgfs_atmos_wafs_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete and ./jgfs_atmos_wafs_f066 == complete + edit FCSTHR '72' + task jgfs_atmos_wafs_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete and ./jgfs_atmos_wafs_f072 == complete + edit FCSTHR '78' + task jgfs_atmos_wafs_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete and ./jgfs_atmos_wafs_f078 == complete + edit FCSTHR '84' + task jgfs_atmos_wafs_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete and ./jgfs_atmos_wafs_f084 == complete + edit FCSTHR '90' + task jgfs_atmos_wafs_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete and ./jgfs_atmos_wafs_f090 == complete + edit FCSTHR '96' + task jgfs_atmos_wafs_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete and ./jgfs_atmos_wafs_f096 == complete + edit FCSTHR '102' + task jgfs_atmos_wafs_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete and ./jgfs_atmos_wafs_f102 == complete + edit FCSTHR '108' + task jgfs_atmos_wafs_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete and ./jgfs_atmos_wafs_f108 == complete + edit FCSTHR '114' + task jgfs_atmos_wafs_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete and ./jgfs_atmos_wafs_f114 == complete + edit FCSTHR '120' + endfamily + family grib2_wafs + task jgfs_atmos_wafs_grib2 + trigger ../../post/jgfs_atmos_post_f000 == complete + task jgfs_atmos_wafs_grib2_0p25 + trigger ../../post/jgfs_atmos_post_f036 == complete + task jgfs_atmos_wafs_blending + trigger ( :TIME >= 1633 and :TIME < 2233) and ./jgfs_atmos_wafs_grib2 == complete + task jgfs_atmos_wafs_blending_0p25 + trigger ( :TIME >= 1625 and :TIME < 2225) and ./jgfs_atmos_wafs_grib2_0p25 == complete + endfamily + family bufr_sounding + task jgfs_atmos_postsnd + trigger ../../post/jgfs_atmos_post_manager:release_post000 + endfamily + family bulletins + task jgfs_atmos_fbwind + trigger ../../post/jgfs_atmos_post_f006 == complete and ../../post/jgfs_atmos_post_f012 == complete and ../../post/jgfs_atmos_post_f024 == complete + endfamily + family awips_20km_1p0 + task jgfs_atmos_awips_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f003 + trigger ../../post/jgfs_atmos_post_f003 == complete + edit FHRGRP '003' + edit FHRLST 'f003' + edit FCSTHR '003' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f009 + trigger ../../post/jgfs_atmos_post_f009 == complete + edit FHRGRP '009' + edit FHRLST 'f009' + edit FCSTHR '009' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f015 + trigger ../../post/jgfs_atmos_post_f015 == complete + edit FHRGRP '015' + edit FHRLST 'f015' + edit FCSTHR '015' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f021 + trigger ../../post/jgfs_atmos_post_f021 == complete + edit FHRGRP '021' + edit FHRLST 'f021' + edit FCSTHR '021' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f027 + trigger ../../post/jgfs_atmos_post_f027 == complete + edit FHRGRP '027' + edit FHRLST 'f027' + edit FCSTHR '027' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f033 + trigger ../../post/jgfs_atmos_post_f033 == complete + edit FHRGRP '033' + edit FHRLST 'f033' + edit FCSTHR '033' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f039 + trigger ../../post/jgfs_atmos_post_f039 == complete + edit FHRGRP '039' + edit FHRLST 'f039' + edit FCSTHR '039' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f045 + trigger ../../post/jgfs_atmos_post_f045 == complete + edit FHRGRP '045' + edit FHRLST 'f045' + edit FCSTHR '045' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f051 + trigger ../../post/jgfs_atmos_post_f051 == complete + edit FHRGRP '051' + edit FHRLST 'f051' + edit FCSTHR '051' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f057 + trigger ../../post/jgfs_atmos_post_f057 == complete + edit FHRGRP '057' + edit FHRLST 'f057' + edit FCSTHR '057' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f063 + trigger ../../post/jgfs_atmos_post_f063 == complete + edit FHRGRP '063' + edit FHRLST 'f063' + edit FCSTHR '063' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f069 + trigger ../../post/jgfs_atmos_post_f069 == complete + edit FHRGRP '069' + edit FHRLST 'f069' + edit FCSTHR '069' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f075 + trigger ../../post/jgfs_atmos_post_f075 == complete + edit FHRGRP '075' + edit FHRLST 'f075' + edit FCSTHR '075' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f081 + trigger ../../post/jgfs_atmos_post_f081 == complete + edit FHRGRP '081' + edit FHRLST 'f081' + edit FCSTHR '081' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + family awips_g2 + task jgfs_atmos_awips_g2_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + endfamily + family gempak + task jgfs_atmos_gempak + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_meta + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_ncdc_upapgif + trigger ./jgfs_atmos_gempak == active or ./jgfs_atmos_gempak == complete + task jgfs_atmos_npoess_pgrb2_0p5deg + trigger ../post/jgfs_atmos_post_anl eq active or ../post/jgfs_atmos_post_anl == complete + task jgfs_atmos_pgrb2_spec_gempak + trigger ./jgfs_atmos_npoess_pgrb2_0p5deg == complete + endfamily + family verf + task jgfs_atmos_vminmon + trigger ../analysis/jgfs_atmos_analysis == complete + endfamily + endfamily + family wave + family init + task jgfs_wave_init + trigger /prod/primary/12/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete + endfamily + family prep + task jgfs_wave_prep + trigger ../init/jgfs_wave_init == complete + endfamily + family post + task jgfs_wave_postsbs + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post000 + task jgfs_wave_postpnt + trigger ../../jgfs_forecast == complete + task jgfs_wave_post_bndpnt + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_post_bndpntbll + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_prdgen_gridded + trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete + task jgfs_wave_prdgen_bulls + trigger ./jgfs_wave_postpnt == complete and ./jgfs_wave_postsbs == complete + endfamily + family gempak + task jgfs_wave_gempak + trigger ../post/jgfs_wave_postsbs == active or ../post/jgfs_wave_postsbs == complete + endfamily + endfamily + task jgfs_forecast + trigger ./atmos/analysis/jgfs_atmos_analysis:release_fcst and ./wave/prep/jgfs_wave_prep == complete + edit KEEPDATA 'YES' + endfamily + family gdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gdas' + family atmos + family obsproc + family dump + task jgdas_atmos_tropcy_qc_reloc + trigger :TIME >= 1745 and :TIME < 2345 + endfamily + family prep + task jgdas_atmos_emcsfc_sfc_prep + trigger /prod/primary/12/obsproc/v1.0/gdas/atmos/dump/jobsproc_gdas_atmos_dump:release_sfcprep + endfamily + endfamily + family init + task jgdas_atmos_gldas + trigger ../analysis/jgdas_atmos_analysis == complete + endfamily + family analysis + task jgdas_atmos_analysis + trigger /prod/primary/12/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and ../obsproc/prep/jgdas_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgdas_atmos_analysis_calc + trigger ./jgdas_atmos_analysis == complete + task jgdas_atmos_analysis_diag + trigger ./jgdas_atmos_analysis == complete + endfamily + family post + task jgdas_atmos_post_manager + trigger ../../jgdas_forecast == active + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + task jgdas_atmos_post_anl + trigger ./jgdas_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgdas_atmos_post_f000 + trigger ./jgdas_atmos_post_manager:release_post000 + edit FHR 'f000' + edit HR '000' + edit FHRGRP '001' + edit FHRLST 'f000' + task jgdas_atmos_post_f001 + trigger ./jgdas_atmos_post_manager:release_post001 + edit FHR 'f001' + edit HR '001' + edit FHRGRP '002' + edit FHRLST 'f001' + task jgdas_atmos_post_f002 + trigger ./jgdas_atmos_post_manager:release_post002 + edit FHR 'f002' + edit HR '002' + edit FHRGRP '003' + edit FHRLST 'f002' + task jgdas_atmos_post_f003 + trigger ./jgdas_atmos_post_manager:release_post003 + edit FHR 'f003' + edit HR '003' + edit FHRGRP '004' + edit FHRLST 'f003' + task jgdas_atmos_post_f004 + trigger ./jgdas_atmos_post_manager:release_post004 + edit FHR 'f004' + edit HR '004' + edit FHRGRP '005' + edit FHRLST 'f004' + task jgdas_atmos_post_f005 + trigger ./jgdas_atmos_post_manager:release_post005 + edit FHR 'f005' + edit HR '005' + edit FHRGRP '006' + edit FHRLST 'f005' + task jgdas_atmos_post_f006 + trigger ./jgdas_atmos_post_manager:release_post006 + edit FHR 'f006' + edit HR '006' + edit FHRGRP '007' + edit FHRLST 'f006' + task jgdas_atmos_post_f007 + trigger ./jgdas_atmos_post_manager:release_post007 + edit FHR 'f007' + edit HR '007' + edit FHRGRP '008' + edit FHRLST 'f007' + task jgdas_atmos_post_f008 + trigger ./jgdas_atmos_post_manager:release_post008 + edit FHR 'f008' + edit HR '008' + edit FHRGRP '009' + edit FHRLST 'f008' + task jgdas_atmos_post_f009 + trigger ./jgdas_atmos_post_manager:release_post009 + edit FHR 'f009' + edit HR '009' + edit FHRGRP '010' + edit FHRLST 'f009' + endfamily + family post_processing + task jgdas_atmos_chgres_forenkf + trigger ../../jgdas_forecast == complete and ../../../enkfgdas/forecast == complete + endfamily + family gempak + task jgdas_atmos_gempak + trigger ../../jgdas_forecast == complete + task jgdas_atmos_gempak_meta_ncdc + trigger ./jgdas_atmos_gempak == complete + endfamily + family verf + task jgdas_atmos_vminmon + trigger ../analysis/jgdas_atmos_analysis == complete + task jgdas_atmos_verfrad + trigger ../analysis/jgdas_atmos_analysis_diag == complete + task jgdas_atmos_verfozn + trigger ../analysis/jgdas_atmos_analysis_diag == complete + endfamily + endfamily + family wave + family init + task jgdas_wave_init + trigger /prod/primary/12/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete + endfamily + family prep + task jgdas_wave_prep + trigger ../init/jgdas_wave_init == complete + endfamily + family post + task jgdas_wave_postsbs + trigger ../../atmos/post/jgdas_atmos_post_manager:release_post000 + task jgdas_wave_postpnt + trigger ../../jgdas_forecast == complete + endfamily + endfamily + task jgdas_forecast + trigger ./atmos/analysis/jgdas_atmos_analysis:release_fcst and ./wave/prep/jgdas_wave_prep == complete and ./atmos/init/jgdas_atmos_gldas == complete + endfamily + family enkfgdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas' + family analysis + family create + task jenkfgdas_select_obs + trigger /prod/primary/12/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and /prod/primary/06/gfs/v16.2/enkfgdas/post == complete + task jenkfgdas_diag + trigger ./jenkfgdas_select_obs == complete + task jenkfgdas_update + trigger ./jenkfgdas_diag == complete + endfamily + family recenter + family ecen + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete and /prod/primary/06/gfs/v16.2/gdas/atmos/post_processing/jgdas_atmos_chgres_forenkf == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/analysis/recenter/ecen' + family grp1 + edit FHRGRP '003' + task jenkfgdas_ecen + endfamily + family grp2 + edit FHRGRP '006' + task jenkfgdas_ecen + endfamily + family grp3 + edit FHRGRP '009' + task jenkfgdas_ecen + endfamily + endfamily + task jenkfgdas_sfc + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete + endfamily + endfamily + family forecast + trigger ./analysis/recenter/ecen == complete and ./analysis/recenter/jenkfgdas_sfc == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/forecast' + family grp1 + edit ENSGRP '01' + task jenkfgdas_fcst + endfamily + family grp2 + edit ENSGRP '02' + task jenkfgdas_fcst + endfamily + family grp3 + edit ENSGRP '03' + task jenkfgdas_fcst + endfamily + family grp4 + edit ENSGRP '04' + task jenkfgdas_fcst + endfamily + family grp5 + edit ENSGRP '05' + task jenkfgdas_fcst + endfamily + family grp6 + edit ENSGRP '06' + task jenkfgdas_fcst + endfamily + family grp7 + edit ENSGRP '07' + task jenkfgdas_fcst + endfamily + family grp8 + edit ENSGRP '08' + task jenkfgdas_fcst + endfamily + family grp9 + edit ENSGRP '09' + task jenkfgdas_fcst + endfamily + family grp10 + edit ENSGRP '10' + task jenkfgdas_fcst + endfamily + family grp11 + edit ENSGRP '11' + task jenkfgdas_fcst + endfamily + family grp12 + edit ENSGRP '12' + task jenkfgdas_fcst + endfamily + family grp13 + edit ENSGRP '13' + task jenkfgdas_fcst + endfamily + family grp14 + edit ENSGRP '14' + task jenkfgdas_fcst + endfamily + family grp15 + edit ENSGRP '15' + task jenkfgdas_fcst + endfamily + family grp16 + edit ENSGRP '16' + task jenkfgdas_fcst + endfamily + family grp17 + edit ENSGRP '17' + task jenkfgdas_fcst + endfamily + family grp18 + edit ENSGRP '18' + task jenkfgdas_fcst + endfamily + family grp19 + edit ENSGRP '19' + task jenkfgdas_fcst + endfamily + family grp20 + edit ENSGRP '20' + task jenkfgdas_fcst + endfamily + family grp21 + edit ENSGRP '21' + task jenkfgdas_fcst + endfamily + family grp22 + edit ENSGRP '22' + task jenkfgdas_fcst + endfamily + family grp23 + edit ENSGRP '23' + task jenkfgdas_fcst + endfamily + family grp24 + edit ENSGRP '24' + task jenkfgdas_fcst + endfamily + family grp25 + edit ENSGRP '25' + task jenkfgdas_fcst + endfamily + family grp26 + edit ENSGRP '26' + task jenkfgdas_fcst + endfamily + family grp27 + edit ENSGRP '27' + task jenkfgdas_fcst + endfamily + family grp28 + edit ENSGRP '28' + task jenkfgdas_fcst + endfamily + family grp29 + edit ENSGRP '29' + task jenkfgdas_fcst + endfamily + family grp30 + edit ENSGRP '30' + task jenkfgdas_fcst + endfamily + family grp31 + edit ENSGRP '31' + task jenkfgdas_fcst + endfamily + family grp32 + edit ENSGRP '32' + task jenkfgdas_fcst + endfamily + family grp33 + edit ENSGRP '33' + task jenkfgdas_fcst + endfamily + family grp34 + edit ENSGRP '34' + task jenkfgdas_fcst + endfamily + family grp35 + edit ENSGRP '35' + task jenkfgdas_fcst + endfamily + family grp36 + edit ENSGRP '36' + task jenkfgdas_fcst + endfamily + family grp37 + edit ENSGRP '37' + task jenkfgdas_fcst + endfamily + family grp38 + edit ENSGRP '38' + task jenkfgdas_fcst + endfamily + family grp39 + edit ENSGRP '39' + task jenkfgdas_fcst + endfamily + family grp40 + edit ENSGRP '40' + task jenkfgdas_fcst + endfamily + endfamily + family post + trigger ./forecast == complete + task jenkfgdas_post_f003 + edit FHMIN_EPOS '003' + edit FHMAX_EPOS '003' + edit FHOUT_EPOS '003' + task jenkfgdas_post_f004 + edit FHMIN_EPOS '004' + edit FHMAX_EPOS '004' + edit FHOUT_EPOS '004' + task jenkfgdas_post_f005 + edit FHMIN_EPOS '005' + edit FHMAX_EPOS '005' + edit FHOUT_EPOS '005' + task jenkfgdas_post_f006 + edit FHMIN_EPOS '006' + edit FHMAX_EPOS '006' + edit FHOUT_EPOS '006' + task jenkfgdas_post_f007 + edit FHMIN_EPOS '007' + edit FHMAX_EPOS '007' + edit FHOUT_EPOS '007' + task jenkfgdas_post_f008 + edit FHMIN_EPOS '008' + edit FHMAX_EPOS '008' + edit FHOUT_EPOS '008' + task jenkfgdas_post_f009 + edit FHMIN_EPOS '009' + edit FHMAX_EPOS '009' + edit FHOUT_EPOS '009' + endfamily + endfamily + endfamily + diff --git a/ecflow/ecf/defs/gfs_18.def b/ecflow/ecf/defs/gfs_18.def new file mode 100644 index 0000000000..cefe301707 --- /dev/null +++ b/ecflow/ecf/defs/gfs_18.def @@ -0,0 +1,2589 @@ + family v16.2 + family gfs + edit RUN 'gfs' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gfs' + family atmos + family obsproc + family dump + task jgfs_atmos_tropcy_qc_reloc + trigger :TIME >= 2041 or :TIME < 0241 + event 1 jtwc_bull_email + endfamily + family prep + task jgfs_atmos_emcsfc_sfc_prep + trigger /prod/primary/18/obsproc/v1.0/gfs/atmos/dump/jobsproc_gfs_atmos_dump:release_sfcprep + endfamily + endfamily + family analysis + task jgfs_atmos_analysis + trigger /prod/primary/18/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete and ../obsproc/prep/jgfs_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgfs_atmos_analysis_calc + trigger ./jgfs_atmos_analysis == complete + endfamily + family post + task jgfs_atmos_post_manager + trigger ../analysis/jgfs_atmos_analysis == complete + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + event 12 release_post010 + event 13 release_post011 + event 14 release_post012 + event 15 release_post013 + event 16 release_post014 + event 17 release_post015 + event 18 release_post016 + event 19 release_post017 + event 20 release_post018 + event 21 release_post019 + event 22 release_post020 + event 23 release_post021 + event 24 release_post022 + event 25 release_post023 + event 26 release_post024 + event 27 release_post025 + event 28 release_post026 + event 29 release_post027 + event 30 release_post028 + event 31 release_post029 + event 32 release_post030 + event 33 release_post031 + event 34 release_post032 + event 35 release_post033 + event 36 release_post034 + event 37 release_post035 + event 38 release_post036 + event 39 release_post037 + event 40 release_post038 + event 41 release_post039 + event 42 release_post040 + event 43 release_post041 + event 44 release_post042 + event 45 release_post043 + event 46 release_post044 + event 47 release_post045 + event 48 release_post046 + event 49 release_post047 + event 50 release_post048 + event 51 release_post049 + event 52 release_post050 + event 53 release_post051 + event 54 release_post052 + event 55 release_post053 + event 56 release_post054 + event 57 release_post055 + event 58 release_post056 + event 59 release_post057 + event 60 release_post058 + event 61 release_post059 + event 62 release_post060 + event 63 release_post061 + event 64 release_post062 + event 65 release_post063 + event 66 release_post064 + event 67 release_post065 + event 68 release_post066 + event 69 release_post067 + event 70 release_post068 + event 71 release_post069 + event 72 release_post070 + event 73 release_post071 + event 74 release_post072 + event 75 release_post073 + event 76 release_post074 + event 77 release_post075 + event 78 release_post076 + event 79 release_post077 + event 80 release_post078 + event 81 release_post079 + event 82 release_post080 + event 83 release_post081 + event 84 release_post082 + event 85 release_post083 + event 86 release_post084 + event 87 release_post085 + event 88 release_post086 + event 89 release_post087 + event 90 release_post088 + event 91 release_post089 + event 92 release_post090 + event 93 release_post091 + event 94 release_post092 + event 95 release_post093 + event 96 release_post094 + event 97 release_post095 + event 98 release_post096 + event 99 release_post097 + event 100 release_post098 + event 101 release_post099 + event 102 release_post100 + event 103 release_post101 + event 104 release_post102 + event 105 release_post103 + event 106 release_post104 + event 107 release_post105 + event 108 release_post106 + event 109 release_post107 + event 110 release_post108 + event 111 release_post109 + event 112 release_post110 + event 113 release_post111 + event 114 release_post112 + event 115 release_post113 + event 116 release_post114 + event 117 release_post115 + event 118 release_post116 + event 119 release_post117 + event 120 release_post118 + event 121 release_post119 + event 122 release_post120 + event 123 release_post123 + event 124 release_post126 + event 125 release_post129 + event 126 release_post132 + event 127 release_post135 + event 128 release_post138 + event 129 release_post141 + event 130 release_post144 + event 131 release_post147 + event 132 release_post150 + event 133 release_post153 + event 134 release_post156 + event 135 release_post159 + event 136 release_post162 + event 137 release_post165 + event 138 release_post168 + event 139 release_post171 + event 140 release_post174 + event 141 release_post177 + event 142 release_post180 + event 143 release_post183 + event 144 release_post186 + event 145 release_post189 + event 146 release_post192 + event 147 release_post195 + event 148 release_post198 + event 149 release_post201 + event 150 release_post204 + event 151 release_post207 + event 152 release_post210 + event 153 release_post213 + event 154 release_post216 + event 155 release_post219 + event 156 release_post222 + event 157 release_post225 + event 158 release_post228 + event 159 release_post231 + event 160 release_post234 + event 161 release_post237 + event 162 release_post240 + event 163 release_post243 + event 164 release_post246 + event 165 release_post249 + event 166 release_post252 + event 167 release_post255 + event 168 release_post258 + event 169 release_post261 + event 170 release_post264 + event 171 release_post267 + event 172 release_post270 + event 173 release_post273 + event 174 release_post276 + event 175 release_post279 + event 176 release_post282 + event 177 release_post285 + event 178 release_post288 + event 179 release_post291 + event 180 release_post294 + event 181 release_post297 + event 182 release_post300 + event 183 release_post303 + event 184 release_post306 + event 185 release_post309 + event 186 release_post312 + event 187 release_post315 + event 188 release_post318 + event 189 release_post321 + event 190 release_post324 + event 191 release_post327 + event 192 release_post330 + event 193 release_post333 + event 194 release_post336 + event 195 release_post339 + event 196 release_post342 + event 197 release_post345 + event 198 release_post348 + event 199 release_post351 + event 200 release_post354 + event 201 release_post357 + event 202 release_post360 + event 203 release_post363 + event 204 release_post366 + event 205 release_post369 + event 206 release_post372 + event 207 release_post375 + event 208 release_post378 + event 209 release_post381 + event 210 release_post384 + task jgfs_atmos_post_anl + trigger ./jgfs_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgfs_atmos_post_f000 + trigger ./jgfs_atmos_post_manager:release_post000 + edit FHRGRP '001' + edit FHRLST 'f000' + edit FHR 'f000' + edit HR '000' + task jgfs_atmos_post_f001 + trigger ./jgfs_atmos_post_manager:release_post001 + edit FHRGRP '002' + edit FHRLST 'f001' + edit FHR 'f001' + edit HR '001' + task jgfs_atmos_post_f002 + trigger ./jgfs_atmos_post_manager:release_post002 + edit FHRGRP '003' + edit FHRLST 'f002' + edit FHR 'f002' + edit HR '002' + task jgfs_atmos_post_f003 + trigger ./jgfs_atmos_post_manager:release_post003 + edit FHRGRP '004' + edit FHRLST 'f003' + edit FHR 'f003' + edit HR '003' + task jgfs_atmos_post_f004 + trigger ./jgfs_atmos_post_manager:release_post004 + edit FHRGRP '005' + edit FHRLST 'f004' + edit FHR 'f004' + edit HR '004' + task jgfs_atmos_post_f005 + trigger ./jgfs_atmos_post_manager:release_post005 + edit FHRGRP '006' + edit FHRLST 'f005' + edit FHR 'f005' + edit HR '005' + task jgfs_atmos_post_f006 + trigger ./jgfs_atmos_post_manager:release_post006 + edit FHRGRP '007' + edit FHRLST 'f006' + edit FHR 'f006' + edit HR '006' + task jgfs_atmos_post_f007 + trigger ./jgfs_atmos_post_manager:release_post007 + edit FHRGRP '008' + edit FHRLST 'f007' + edit FHR 'f007' + edit HR '007' + task jgfs_atmos_post_f008 + trigger ./jgfs_atmos_post_manager:release_post008 + edit FHRGRP '009' + edit FHRLST 'f008' + edit FHR 'f008' + edit HR '008' + task jgfs_atmos_post_f009 + trigger ./jgfs_atmos_post_manager:release_post009 + edit FHRGRP '010' + edit FHRLST 'f009' + edit FHR 'f009' + edit HR '009' + task jgfs_atmos_post_f010 + trigger ./jgfs_atmos_post_manager:release_post010 + edit FHRGRP '011' + edit FHRLST 'f010' + edit FHR 'f010' + edit HR '010' + task jgfs_atmos_post_f011 + trigger ./jgfs_atmos_post_manager:release_post011 + edit FHRGRP '012' + edit FHRLST 'f011' + edit FHR 'f011' + edit HR '011' + task jgfs_atmos_post_f012 + trigger ./jgfs_atmos_post_manager:release_post012 + edit FHRGRP '013' + edit FHRLST 'f012' + edit FHR 'f012' + edit HR '012' + task jgfs_atmos_post_f013 + trigger ./jgfs_atmos_post_manager:release_post013 + edit FHRGRP '014' + edit FHRLST 'f013' + edit FHR 'f013' + edit HR '013' + task jgfs_atmos_post_f014 + trigger ./jgfs_atmos_post_manager:release_post014 + edit FHRGRP '015' + edit FHRLST 'f014' + edit FHR 'f014' + edit HR '014' + task jgfs_atmos_post_f015 + trigger ./jgfs_atmos_post_manager:release_post015 + edit FHRGRP '016' + edit FHRLST 'f015' + edit FHR 'f015' + edit HR '015' + task jgfs_atmos_post_f016 + trigger ./jgfs_atmos_post_manager:release_post016 + edit FHRGRP '017' + edit FHRLST 'f016' + edit FHR 'f016' + edit HR '016' + task jgfs_atmos_post_f017 + trigger ./jgfs_atmos_post_manager:release_post017 + edit FHRGRP '018' + edit FHRLST 'f017' + edit FHR 'f017' + edit HR '017' + task jgfs_atmos_post_f018 + trigger ./jgfs_atmos_post_manager:release_post018 + edit FHRGRP '019' + edit FHRLST 'f018' + edit FHR 'f018' + edit HR '018' + task jgfs_atmos_post_f019 + trigger ./jgfs_atmos_post_manager:release_post019 + edit FHRGRP '020' + edit FHRLST 'f019' + edit FHR 'f019' + edit HR '019' + task jgfs_atmos_post_f020 + trigger ./jgfs_atmos_post_manager:release_post020 + edit FHRGRP '021' + edit FHRLST 'f020' + edit FHR 'f020' + edit HR '020' + task jgfs_atmos_post_f021 + trigger ./jgfs_atmos_post_manager:release_post021 + edit FHRGRP '022' + edit FHRLST 'f021' + edit FHR 'f021' + edit HR '021' + task jgfs_atmos_post_f022 + trigger ./jgfs_atmos_post_manager:release_post022 + edit FHRGRP '023' + edit FHRLST 'f022' + edit FHR 'f022' + edit HR '022' + task jgfs_atmos_post_f023 + trigger ./jgfs_atmos_post_manager:release_post023 + edit FHRGRP '024' + edit FHRLST 'f023' + edit FHR 'f023' + edit HR '023' + task jgfs_atmos_post_f024 + trigger ./jgfs_atmos_post_manager:release_post024 + edit FHRGRP '025' + edit FHRLST 'f024' + edit FHR 'f024' + edit HR '024' + task jgfs_atmos_post_f025 + trigger ./jgfs_atmos_post_manager:release_post025 + edit FHRGRP '026' + edit FHRLST 'f025' + edit FHR 'f025' + edit HR '025' + task jgfs_atmos_post_f026 + trigger ./jgfs_atmos_post_manager:release_post026 + edit FHRGRP '027' + edit FHRLST 'f026' + edit FHR 'f026' + edit HR '026' + task jgfs_atmos_post_f027 + trigger ./jgfs_atmos_post_manager:release_post027 + edit FHRGRP '028' + edit FHRLST 'f027' + edit FHR 'f027' + edit HR '027' + task jgfs_atmos_post_f028 + trigger ./jgfs_atmos_post_manager:release_post028 + edit FHRGRP '029' + edit FHRLST 'f028' + edit FHR 'f028' + edit HR '028' + task jgfs_atmos_post_f029 + trigger ./jgfs_atmos_post_manager:release_post029 + edit FHRGRP '030' + edit FHRLST 'f029' + edit FHR 'f029' + edit HR '029' + task jgfs_atmos_post_f030 + trigger ./jgfs_atmos_post_manager:release_post030 + edit FHRGRP '031' + edit FHRLST 'f030' + edit FHR 'f030' + edit HR '030' + task jgfs_atmos_post_f031 + trigger ./jgfs_atmos_post_manager:release_post031 + edit FHRGRP '032' + edit FHRLST 'f031' + edit FHR 'f031' + edit HR '031' + task jgfs_atmos_post_f032 + trigger ./jgfs_atmos_post_manager:release_post032 + edit FHRGRP '033' + edit FHRLST 'f032' + edit FHR 'f032' + edit HR '032' + task jgfs_atmos_post_f033 + trigger ./jgfs_atmos_post_manager:release_post033 + edit FHRGRP '034' + edit FHRLST 'f033' + edit FHR 'f033' + edit HR '033' + task jgfs_atmos_post_f034 + trigger ./jgfs_atmos_post_manager:release_post034 + edit FHRGRP '035' + edit FHRLST 'f034' + edit FHR 'f034' + edit HR '034' + task jgfs_atmos_post_f035 + trigger ./jgfs_atmos_post_manager:release_post035 + edit FHRGRP '036' + edit FHRLST 'f035' + edit FHR 'f035' + edit HR '035' + task jgfs_atmos_post_f036 + trigger ./jgfs_atmos_post_manager:release_post036 + edit FHRGRP '037' + edit FHRLST 'f036' + edit FHR 'f036' + edit HR '036' + task jgfs_atmos_post_f037 + trigger ./jgfs_atmos_post_manager:release_post037 + edit FHRGRP '038' + edit FHRLST 'f037' + edit FHR 'f037' + edit HR '037' + task jgfs_atmos_post_f038 + trigger ./jgfs_atmos_post_manager:release_post038 + edit FHRGRP '039' + edit FHRLST 'f038' + edit FHR 'f038' + edit HR '038' + task jgfs_atmos_post_f039 + trigger ./jgfs_atmos_post_manager:release_post039 + edit FHRGRP '040' + edit FHRLST 'f039' + edit FHR 'f039' + edit HR '039' + task jgfs_atmos_post_f040 + trigger ./jgfs_atmos_post_manager:release_post040 + edit FHRGRP '041' + edit FHRLST 'f040' + edit FHR 'f040' + edit HR '040' + task jgfs_atmos_post_f041 + trigger ./jgfs_atmos_post_manager:release_post041 + edit FHRGRP '042' + edit FHRLST 'f041' + edit FHR 'f041' + edit HR '041' + task jgfs_atmos_post_f042 + trigger ./jgfs_atmos_post_manager:release_post042 + edit FHRGRP '043' + edit FHRLST 'f042' + edit FHR 'f042' + edit HR '042' + task jgfs_atmos_post_f043 + trigger ./jgfs_atmos_post_manager:release_post043 + edit FHRGRP '044' + edit FHRLST 'f043' + edit FHR 'f043' + edit HR '043' + task jgfs_atmos_post_f044 + trigger ./jgfs_atmos_post_manager:release_post044 + edit FHRGRP '045' + edit FHRLST 'f044' + edit FHR 'f044' + edit HR '044' + task jgfs_atmos_post_f045 + trigger ./jgfs_atmos_post_manager:release_post045 + edit FHRGRP '046' + edit FHRLST 'f045' + edit FHR 'f045' + edit HR '045' + task jgfs_atmos_post_f046 + trigger ./jgfs_atmos_post_manager:release_post046 + edit FHRGRP '047' + edit FHRLST 'f046' + edit FHR 'f046' + edit HR '046' + task jgfs_atmos_post_f047 + trigger ./jgfs_atmos_post_manager:release_post047 + edit FHRGRP '048' + edit FHRLST 'f047' + edit FHR 'f047' + edit HR '047' + task jgfs_atmos_post_f048 + trigger ./jgfs_atmos_post_manager:release_post048 + edit FHRGRP '049' + edit FHRLST 'f048' + edit FHR 'f048' + edit HR '048' + task jgfs_atmos_post_f049 + trigger ./jgfs_atmos_post_manager:release_post049 + edit FHRGRP '050' + edit FHRLST 'f049' + edit FHR 'f049' + edit HR '049' + task jgfs_atmos_post_f050 + trigger ./jgfs_atmos_post_manager:release_post050 + edit FHRGRP '051' + edit FHRLST 'f050' + edit FHR 'f050' + edit HR '050' + task jgfs_atmos_post_f051 + trigger ./jgfs_atmos_post_manager:release_post051 + edit FHRGRP '052' + edit FHRLST 'f051' + edit FHR 'f051' + edit HR '051' + task jgfs_atmos_post_f052 + trigger ./jgfs_atmos_post_manager:release_post052 + edit FHRGRP '053' + edit FHRLST 'f052' + edit FHR 'f052' + edit HR '052' + task jgfs_atmos_post_f053 + trigger ./jgfs_atmos_post_manager:release_post053 + edit FHRGRP '054' + edit FHRLST 'f053' + edit FHR 'f053' + edit HR '053' + task jgfs_atmos_post_f054 + trigger ./jgfs_atmos_post_manager:release_post054 + edit FHRGRP '055' + edit FHRLST 'f054' + edit FHR 'f054' + edit HR '054' + task jgfs_atmos_post_f055 + trigger ./jgfs_atmos_post_manager:release_post055 + edit FHRGRP '056' + edit FHRLST 'f055' + edit FHR 'f055' + edit HR '055' + task jgfs_atmos_post_f056 + trigger ./jgfs_atmos_post_manager:release_post056 + edit FHRGRP '057' + edit FHRLST 'f056' + edit FHR 'f056' + edit HR '056' + task jgfs_atmos_post_f057 + trigger ./jgfs_atmos_post_manager:release_post057 + edit FHRGRP '058' + edit FHRLST 'f057' + edit FHR 'f057' + edit HR '057' + task jgfs_atmos_post_f058 + trigger ./jgfs_atmos_post_manager:release_post058 + edit FHRGRP '059' + edit FHRLST 'f058' + edit FHR 'f058' + edit HR '058' + task jgfs_atmos_post_f059 + trigger ./jgfs_atmos_post_manager:release_post059 + edit FHRGRP '060' + edit FHRLST 'f059' + edit FHR 'f059' + edit HR '059' + task jgfs_atmos_post_f060 + trigger ./jgfs_atmos_post_manager:release_post060 + edit FHRGRP '061' + edit FHRLST 'f060' + edit FHR 'f060' + edit HR '060' + task jgfs_atmos_post_f061 + trigger ./jgfs_atmos_post_manager:release_post061 + edit FHRGRP '062' + edit FHRLST 'f061' + edit FHR 'f061' + edit HR '061' + task jgfs_atmos_post_f062 + trigger ./jgfs_atmos_post_manager:release_post062 + edit FHRGRP '063' + edit FHRLST 'f062' + edit FHR 'f062' + edit HR '062' + task jgfs_atmos_post_f063 + trigger ./jgfs_atmos_post_manager:release_post063 + edit FHRGRP '064' + edit FHRLST 'f063' + edit FHR 'f063' + edit HR '063' + task jgfs_atmos_post_f064 + trigger ./jgfs_atmos_post_manager:release_post064 + edit FHRGRP '065' + edit FHRLST 'f064' + edit FHR 'f064' + edit HR '064' + task jgfs_atmos_post_f065 + trigger ./jgfs_atmos_post_manager:release_post065 + edit FHRGRP '066' + edit FHRLST 'f065' + edit FHR 'f065' + edit HR '065' + task jgfs_atmos_post_f066 + trigger ./jgfs_atmos_post_manager:release_post066 + edit FHRGRP '067' + edit FHRLST 'f066' + edit FHR 'f066' + edit HR '066' + task jgfs_atmos_post_f067 + trigger ./jgfs_atmos_post_manager:release_post067 + edit FHRGRP '068' + edit FHRLST 'f067' + edit FHR 'f067' + edit HR '067' + task jgfs_atmos_post_f068 + trigger ./jgfs_atmos_post_manager:release_post068 + edit FHRGRP '069' + edit FHRLST 'f068' + edit FHR 'f068' + edit HR '068' + task jgfs_atmos_post_f069 + trigger ./jgfs_atmos_post_manager:release_post069 + edit FHRGRP '070' + edit FHRLST 'f069' + edit FHR 'f069' + edit HR '069' + task jgfs_atmos_post_f070 + trigger ./jgfs_atmos_post_manager:release_post070 + edit FHRGRP '071' + edit FHRLST 'f070' + edit FHR 'f070' + edit HR '070' + task jgfs_atmos_post_f071 + trigger ./jgfs_atmos_post_manager:release_post071 + edit FHRGRP '072' + edit FHRLST 'f071' + edit FHR 'f071' + edit HR '071' + task jgfs_atmos_post_f072 + trigger ./jgfs_atmos_post_manager:release_post072 + edit FHRGRP '073' + edit FHRLST 'f072' + edit FHR 'f072' + edit HR '072' + task jgfs_atmos_post_f073 + trigger ./jgfs_atmos_post_manager:release_post073 + edit FHRGRP '074' + edit FHRLST 'f073' + edit FHR 'f073' + edit HR '073' + task jgfs_atmos_post_f074 + trigger ./jgfs_atmos_post_manager:release_post074 + edit FHRGRP '075' + edit FHRLST 'f074' + edit FHR 'f074' + edit HR '074' + task jgfs_atmos_post_f075 + trigger ./jgfs_atmos_post_manager:release_post075 + edit FHRGRP '076' + edit FHRLST 'f075' + edit FHR 'f075' + edit HR '075' + task jgfs_atmos_post_f076 + trigger ./jgfs_atmos_post_manager:release_post076 + edit FHRGRP '077' + edit FHRLST 'f076' + edit FHR 'f076' + edit HR '076' + task jgfs_atmos_post_f077 + trigger ./jgfs_atmos_post_manager:release_post077 + edit FHRGRP '078' + edit FHRLST 'f077' + edit FHR 'f077' + edit HR '077' + task jgfs_atmos_post_f078 + trigger ./jgfs_atmos_post_manager:release_post078 + edit FHRGRP '079' + edit FHRLST 'f078' + edit FHR 'f078' + edit HR '078' + task jgfs_atmos_post_f079 + trigger ./jgfs_atmos_post_manager:release_post079 + edit FHRGRP '080' + edit FHRLST 'f079' + edit FHR 'f079' + edit HR '079' + task jgfs_atmos_post_f080 + trigger ./jgfs_atmos_post_manager:release_post080 + edit FHRGRP '081' + edit FHRLST 'f080' + edit FHR 'f080' + edit HR '080' + task jgfs_atmos_post_f081 + trigger ./jgfs_atmos_post_manager:release_post081 + edit FHRGRP '082' + edit FHRLST 'f081' + edit FHR 'f081' + edit HR '081' + task jgfs_atmos_post_f082 + trigger ./jgfs_atmos_post_manager:release_post082 + edit FHRGRP '083' + edit FHRLST 'f082' + edit FHR 'f082' + edit HR '082' + task jgfs_atmos_post_f083 + trigger ./jgfs_atmos_post_manager:release_post083 + edit FHRGRP '084' + edit FHRLST 'f083' + edit FHR 'f083' + edit HR '083' + task jgfs_atmos_post_f084 + trigger ./jgfs_atmos_post_manager:release_post084 + edit FHRGRP '085' + edit FHRLST 'f084' + edit FHR 'f084' + edit HR '084' + task jgfs_atmos_post_f085 + trigger ./jgfs_atmos_post_manager:release_post085 + edit FHRGRP '086' + edit FHRLST 'f085' + edit FHR 'f085' + edit HR '085' + task jgfs_atmos_post_f086 + trigger ./jgfs_atmos_post_manager:release_post086 + edit FHRGRP '087' + edit FHRLST 'f086' + edit FHR 'f086' + edit HR '086' + task jgfs_atmos_post_f087 + trigger ./jgfs_atmos_post_manager:release_post087 + edit FHRGRP '088' + edit FHRLST 'f087' + edit FHR 'f087' + edit HR '087' + task jgfs_atmos_post_f088 + trigger ./jgfs_atmos_post_manager:release_post088 + edit FHRGRP '089' + edit FHRLST 'f088' + edit FHR 'f088' + edit HR '088' + task jgfs_atmos_post_f089 + trigger ./jgfs_atmos_post_manager:release_post089 + edit FHRGRP '090' + edit FHRLST 'f089' + edit FHR 'f089' + edit HR '089' + task jgfs_atmos_post_f090 + trigger ./jgfs_atmos_post_manager:release_post090 + edit FHRGRP '091' + edit FHRLST 'f090' + edit FHR 'f090' + edit HR '090' + task jgfs_atmos_post_f091 + trigger ./jgfs_atmos_post_manager:release_post091 + edit FHRGRP '092' + edit FHRLST 'f091' + edit FHR 'f091' + edit HR '091' + task jgfs_atmos_post_f092 + trigger ./jgfs_atmos_post_manager:release_post092 + edit FHRGRP '093' + edit FHRLST 'f092' + edit FHR 'f092' + edit HR '092' + task jgfs_atmos_post_f093 + trigger ./jgfs_atmos_post_manager:release_post093 + edit FHRGRP '094' + edit FHRLST 'f093' + edit FHR 'f093' + edit HR '093' + task jgfs_atmos_post_f094 + trigger ./jgfs_atmos_post_manager:release_post094 + edit FHRGRP '095' + edit FHRLST 'f094' + edit FHR 'f094' + edit HR '094' + task jgfs_atmos_post_f095 + trigger ./jgfs_atmos_post_manager:release_post095 + edit FHRGRP '096' + edit FHRLST 'f095' + edit FHR 'f095' + edit HR '095' + task jgfs_atmos_post_f096 + trigger ./jgfs_atmos_post_manager:release_post096 + edit FHRGRP '097' + edit FHRLST 'f096' + edit FHR 'f096' + edit HR '096' + task jgfs_atmos_post_f097 + trigger ./jgfs_atmos_post_manager:release_post097 + edit FHRGRP '098' + edit FHRLST 'f097' + edit FHR 'f097' + edit HR '097' + task jgfs_atmos_post_f098 + trigger ./jgfs_atmos_post_manager:release_post098 + edit FHRGRP '099' + edit FHRLST 'f098' + edit FHR 'f098' + edit HR '098' + task jgfs_atmos_post_f099 + trigger ./jgfs_atmos_post_manager:release_post099 + edit FHRGRP '100' + edit FHRLST 'f099' + edit FHR 'f099' + edit HR '099' + task jgfs_atmos_post_f100 + trigger ./jgfs_atmos_post_manager:release_post100 + edit FHRGRP '101' + edit FHRLST 'f100' + edit FHR 'f100' + edit HR '100' + task jgfs_atmos_post_f101 + trigger ./jgfs_atmos_post_manager:release_post101 + edit FHRGRP '102' + edit FHRLST 'f101' + edit FHR 'f101' + edit HR '101' + task jgfs_atmos_post_f102 + trigger ./jgfs_atmos_post_manager:release_post102 + edit FHRGRP '103' + edit FHRLST 'f102' + edit FHR 'f102' + edit HR '102' + task jgfs_atmos_post_f103 + trigger ./jgfs_atmos_post_manager:release_post103 + edit FHRGRP '104' + edit FHRLST 'f103' + edit FHR 'f103' + edit HR '103' + task jgfs_atmos_post_f104 + trigger ./jgfs_atmos_post_manager:release_post104 + edit FHRGRP '105' + edit FHRLST 'f104' + edit FHR 'f104' + edit HR '104' + task jgfs_atmos_post_f105 + trigger ./jgfs_atmos_post_manager:release_post105 + edit FHRGRP '106' + edit FHRLST 'f105' + edit FHR 'f105' + edit HR '105' + task jgfs_atmos_post_f106 + trigger ./jgfs_atmos_post_manager:release_post106 + edit FHRGRP '107' + edit FHRLST 'f106' + edit FHR 'f106' + edit HR '106' + task jgfs_atmos_post_f107 + trigger ./jgfs_atmos_post_manager:release_post107 + edit FHRGRP '108' + edit FHRLST 'f107' + edit FHR 'f107' + edit HR '107' + task jgfs_atmos_post_f108 + trigger ./jgfs_atmos_post_manager:release_post108 + edit FHRGRP '109' + edit FHRLST 'f108' + edit FHR 'f108' + edit HR '108' + task jgfs_atmos_post_f109 + trigger ./jgfs_atmos_post_manager:release_post109 + edit FHRGRP '110' + edit FHRLST 'f109' + edit FHR 'f109' + edit HR '109' + task jgfs_atmos_post_f110 + trigger ./jgfs_atmos_post_manager:release_post110 + edit FHRGRP '111' + edit FHRLST 'f110' + edit FHR 'f110' + edit HR '110' + task jgfs_atmos_post_f111 + trigger ./jgfs_atmos_post_manager:release_post111 + edit FHRGRP '112' + edit FHRLST 'f111' + edit FHR 'f111' + edit HR '111' + task jgfs_atmos_post_f112 + trigger ./jgfs_atmos_post_manager:release_post112 + edit FHRGRP '113' + edit FHRLST 'f112' + edit FHR 'f112' + edit HR '112' + task jgfs_atmos_post_f113 + trigger ./jgfs_atmos_post_manager:release_post113 + edit FHRGRP '114' + edit FHRLST 'f113' + edit FHR 'f113' + edit HR '113' + task jgfs_atmos_post_f114 + trigger ./jgfs_atmos_post_manager:release_post114 + edit FHRGRP '115' + edit FHRLST 'f114' + edit FHR 'f114' + edit HR '114' + task jgfs_atmos_post_f115 + trigger ./jgfs_atmos_post_manager:release_post115 + edit FHRGRP '116' + edit FHRLST 'f115' + edit FHR 'f115' + edit HR '115' + task jgfs_atmos_post_f116 + trigger ./jgfs_atmos_post_manager:release_post116 + edit FHRGRP '117' + edit FHRLST 'f116' + edit FHR 'f116' + edit HR '116' + task jgfs_atmos_post_f117 + trigger ./jgfs_atmos_post_manager:release_post117 + edit FHRGRP '118' + edit FHRLST 'f117' + edit FHR 'f117' + edit HR '117' + task jgfs_atmos_post_f118 + trigger ./jgfs_atmos_post_manager:release_post118 + edit FHRGRP '119' + edit FHRLST 'f118' + edit FHR 'f118' + edit HR '118' + task jgfs_atmos_post_f119 + trigger ./jgfs_atmos_post_manager:release_post119 + edit FHRGRP '120' + edit FHRLST 'f119' + edit FHR 'f119' + edit HR '119' + task jgfs_atmos_post_f120 + trigger ./jgfs_atmos_post_manager:release_post120 + edit FHRGRP '121' + edit FHRLST 'f120' + edit FHR 'f120' + edit HR '120' + task jgfs_atmos_post_f123 + trigger ./jgfs_atmos_post_manager:release_post123 + edit FHRGRP '122' + edit FHRLST 'f123' + edit FHR 'f123' + edit HR '123' + task jgfs_atmos_post_f126 + trigger ./jgfs_atmos_post_manager:release_post126 + edit FHRGRP '123' + edit FHRLST 'f126' + edit FHR 'f126' + edit HR '126' + task jgfs_atmos_post_f129 + trigger ./jgfs_atmos_post_manager:release_post129 + edit FHRGRP '124' + edit FHRLST 'f129' + edit FHR 'f129' + edit HR '129' + task jgfs_atmos_post_f132 + trigger ./jgfs_atmos_post_manager:release_post132 + edit FHRGRP '125' + edit FHRLST 'f132' + edit FHR 'f132' + edit HR '132' + task jgfs_atmos_post_f135 + trigger ./jgfs_atmos_post_manager:release_post135 + edit FHRGRP '126' + edit FHRLST 'f135' + edit FHR 'f135' + edit HR '135' + task jgfs_atmos_post_f138 + trigger ./jgfs_atmos_post_manager:release_post138 + edit FHRGRP '127' + edit FHRLST 'f138' + edit FHR 'f138' + edit HR '138' + task jgfs_atmos_post_f141 + trigger ./jgfs_atmos_post_manager:release_post141 + edit FHRGRP '128' + edit FHRLST 'f141' + edit FHR 'f141' + edit HR '141' + task jgfs_atmos_post_f144 + trigger ./jgfs_atmos_post_manager:release_post144 + edit FHRGRP '129' + edit FHRLST 'f144' + edit FHR 'f144' + edit HR '144' + task jgfs_atmos_post_f147 + trigger ./jgfs_atmos_post_manager:release_post147 + edit FHRGRP '130' + edit FHRLST 'f147' + edit FHR 'f147' + edit HR '147' + task jgfs_atmos_post_f150 + trigger ./jgfs_atmos_post_manager:release_post150 + edit FHRGRP '131' + edit FHRLST 'f150' + edit FHR 'f150' + edit HR '150' + task jgfs_atmos_post_f153 + trigger ./jgfs_atmos_post_manager:release_post153 + edit FHRGRP '132' + edit FHRLST 'f153' + edit FHR 'f153' + edit HR '153' + task jgfs_atmos_post_f156 + trigger ./jgfs_atmos_post_manager:release_post156 + edit FHRGRP '133' + edit FHRLST 'f156' + edit FHR 'f156' + edit HR '156' + task jgfs_atmos_post_f159 + trigger ./jgfs_atmos_post_manager:release_post159 + edit FHRGRP '134' + edit FHRLST 'f159' + edit FHR 'f159' + edit HR '159' + task jgfs_atmos_post_f162 + trigger ./jgfs_atmos_post_manager:release_post162 + edit FHRGRP '135' + edit FHRLST 'f162' + edit FHR 'f162' + edit HR '162' + task jgfs_atmos_post_f165 + trigger ./jgfs_atmos_post_manager:release_post165 + edit FHRGRP '136' + edit FHRLST 'f165' + edit FHR 'f165' + edit HR '165' + task jgfs_atmos_post_f168 + trigger ./jgfs_atmos_post_manager:release_post168 + edit FHRGRP '137' + edit FHRLST 'f168' + edit FHR 'f168' + edit HR '168' + task jgfs_atmos_post_f171 + trigger ./jgfs_atmos_post_manager:release_post171 + edit FHRGRP '138' + edit FHRLST 'f171' + edit FHR 'f171' + edit HR '171' + task jgfs_atmos_post_f174 + trigger ./jgfs_atmos_post_manager:release_post174 + edit FHRGRP '139' + edit FHRLST 'f174' + edit FHR 'f174' + edit HR '174' + task jgfs_atmos_post_f177 + trigger ./jgfs_atmos_post_manager:release_post177 + edit FHRGRP '140' + edit FHRLST 'f177' + edit FHR 'f177' + edit HR '177' + task jgfs_atmos_post_f180 + trigger ./jgfs_atmos_post_manager:release_post180 + edit FHRGRP '141' + edit FHRLST 'f180' + edit FHR 'f180' + edit HR '180' + task jgfs_atmos_post_f183 + trigger ./jgfs_atmos_post_manager:release_post183 + edit FHRGRP '142' + edit FHRLST 'f183' + edit FHR 'f183' + edit HR '183' + task jgfs_atmos_post_f186 + trigger ./jgfs_atmos_post_manager:release_post186 + edit FHRGRP '143' + edit FHRLST 'f186' + edit FHR 'f186' + edit HR '186' + task jgfs_atmos_post_f189 + trigger ./jgfs_atmos_post_manager:release_post189 + edit FHRGRP '144' + edit FHRLST 'f189' + edit FHR 'f189' + edit HR '189' + task jgfs_atmos_post_f192 + trigger ./jgfs_atmos_post_manager:release_post192 + edit FHRGRP '145' + edit FHRLST 'f192' + edit FHR 'f192' + edit HR '192' + task jgfs_atmos_post_f195 + trigger ./jgfs_atmos_post_manager:release_post195 + edit FHRGRP '146' + edit FHRLST 'f195' + edit FHR 'f195' + edit HR '195' + task jgfs_atmos_post_f198 + trigger ./jgfs_atmos_post_manager:release_post198 + edit FHRGRP '147' + edit FHRLST 'f198' + edit FHR 'f198' + edit HR '198' + task jgfs_atmos_post_f201 + trigger ./jgfs_atmos_post_manager:release_post201 + edit FHRGRP '148' + edit FHRLST 'f201' + edit FHR 'f201' + edit HR '201' + task jgfs_atmos_post_f204 + trigger ./jgfs_atmos_post_manager:release_post204 + edit FHRGRP '149' + edit FHRLST 'f204' + edit FHR 'f204' + edit HR '204' + task jgfs_atmos_post_f207 + trigger ./jgfs_atmos_post_manager:release_post207 + edit FHRGRP '150' + edit FHRLST 'f207' + edit FHR 'f207' + edit HR '207' + task jgfs_atmos_post_f210 + trigger ./jgfs_atmos_post_manager:release_post210 + edit FHRGRP '151' + edit FHRLST 'f210' + edit FHR 'f210' + edit HR '210' + task jgfs_atmos_post_f213 + trigger ./jgfs_atmos_post_manager:release_post213 + edit FHRGRP '152' + edit FHRLST 'f213' + edit FHR 'f213' + edit HR '213' + task jgfs_atmos_post_f216 + trigger ./jgfs_atmos_post_manager:release_post216 + edit FHRGRP '153' + edit FHRLST 'f216' + edit FHR 'f216' + edit HR '216' + task jgfs_atmos_post_f219 + trigger ./jgfs_atmos_post_manager:release_post219 + edit FHRGRP '154' + edit FHRLST 'f219' + edit FHR 'f219' + edit HR '219' + task jgfs_atmos_post_f222 + trigger ./jgfs_atmos_post_manager:release_post222 + edit FHRGRP '155' + edit FHRLST 'f222' + edit FHR 'f222' + edit HR '222' + task jgfs_atmos_post_f225 + trigger ./jgfs_atmos_post_manager:release_post225 + edit FHRGRP '156' + edit FHRLST 'f225' + edit FHR 'f225' + edit HR '225' + task jgfs_atmos_post_f228 + trigger ./jgfs_atmos_post_manager:release_post228 + edit FHRGRP '157' + edit FHRLST 'f228' + edit FHR 'f228' + edit HR '228' + task jgfs_atmos_post_f231 + trigger ./jgfs_atmos_post_manager:release_post231 + edit FHRGRP '158' + edit FHRLST 'f231' + edit FHR 'f231' + edit HR '231' + task jgfs_atmos_post_f234 + trigger ./jgfs_atmos_post_manager:release_post234 + edit FHRGRP '159' + edit FHRLST 'f234' + edit FHR 'f234' + edit HR '234' + task jgfs_atmos_post_f237 + trigger ./jgfs_atmos_post_manager:release_post237 + edit FHRGRP '160' + edit FHRLST 'f237' + edit FHR 'f237' + edit HR '237' + task jgfs_atmos_post_f240 + trigger ./jgfs_atmos_post_manager:release_post240 + edit FHRGRP '161' + edit FHRLST 'f240' + edit FHR 'f240' + edit HR '240' + task jgfs_atmos_post_f243 + trigger ./jgfs_atmos_post_manager:release_post243 + edit FHRGRP '162' + edit FHRLST 'f243' + edit FHR 'f243' + edit HR '243' + task jgfs_atmos_post_f246 + trigger ./jgfs_atmos_post_manager:release_post246 + edit FHRGRP '163' + edit FHRLST 'f246' + edit FHR 'f246' + edit HR '246' + task jgfs_atmos_post_f249 + trigger ./jgfs_atmos_post_manager:release_post249 + edit FHRGRP '164' + edit FHRLST 'f249' + edit FHR 'f249' + edit HR '249' + task jgfs_atmos_post_f252 + trigger ./jgfs_atmos_post_manager:release_post252 + edit FHRGRP '165' + edit FHRLST 'f252' + edit FHR 'f252' + edit HR '252' + task jgfs_atmos_post_f255 + trigger ./jgfs_atmos_post_manager:release_post255 + edit FHRGRP '166' + edit FHRLST 'f255' + edit FHR 'f255' + edit HR '255' + task jgfs_atmos_post_f258 + trigger ./jgfs_atmos_post_manager:release_post258 + edit FHRGRP '167' + edit FHRLST 'f258' + edit FHR 'f258' + edit HR '258' + task jgfs_atmos_post_f261 + trigger ./jgfs_atmos_post_manager:release_post261 + edit FHRGRP '168' + edit FHRLST 'f261' + edit FHR 'f261' + edit HR '261' + task jgfs_atmos_post_f264 + trigger ./jgfs_atmos_post_manager:release_post264 + edit FHRGRP '169' + edit FHRLST 'f264' + edit FHR 'f264' + edit HR '264' + task jgfs_atmos_post_f267 + trigger ./jgfs_atmos_post_manager:release_post267 + edit FHRGRP '170' + edit FHRLST 'f267' + edit FHR 'f267' + edit HR '267' + task jgfs_atmos_post_f270 + trigger ./jgfs_atmos_post_manager:release_post270 + edit FHRGRP '171' + edit FHRLST 'f270' + edit FHR 'f270' + edit HR '270' + task jgfs_atmos_post_f273 + trigger ./jgfs_atmos_post_manager:release_post273 + edit FHRGRP '172' + edit FHRLST 'f273' + edit FHR 'f273' + edit HR '273' + task jgfs_atmos_post_f276 + trigger ./jgfs_atmos_post_manager:release_post276 + edit FHRGRP '173' + edit FHRLST 'f276' + edit FHR 'f276' + edit HR '276' + task jgfs_atmos_post_f279 + trigger ./jgfs_atmos_post_manager:release_post279 + edit FHRGRP '174' + edit FHRLST 'f279' + edit FHR 'f279' + edit HR '279' + task jgfs_atmos_post_f282 + trigger ./jgfs_atmos_post_manager:release_post282 + edit FHRGRP '175' + edit FHRLST 'f282' + edit FHR 'f282' + edit HR '282' + task jgfs_atmos_post_f285 + trigger ./jgfs_atmos_post_manager:release_post285 + edit FHRGRP '176' + edit FHRLST 'f285' + edit FHR 'f285' + edit HR '285' + task jgfs_atmos_post_f288 + trigger ./jgfs_atmos_post_manager:release_post288 + edit FHRGRP '177' + edit FHRLST 'f288' + edit FHR 'f288' + edit HR '288' + task jgfs_atmos_post_f291 + trigger ./jgfs_atmos_post_manager:release_post291 + edit FHRGRP '178' + edit FHRLST 'f291' + edit FHR 'f291' + edit HR '291' + task jgfs_atmos_post_f294 + trigger ./jgfs_atmos_post_manager:release_post294 + edit FHRGRP '179' + edit FHRLST 'f294' + edit FHR 'f294' + edit HR '294' + task jgfs_atmos_post_f297 + trigger ./jgfs_atmos_post_manager:release_post297 + edit FHRGRP '180' + edit FHRLST 'f297' + edit FHR 'f297' + edit HR '297' + task jgfs_atmos_post_f300 + trigger ./jgfs_atmos_post_manager:release_post300 + edit FHRGRP '181' + edit FHRLST 'f300' + edit FHR 'f300' + edit HR '300' + task jgfs_atmos_post_f303 + trigger ./jgfs_atmos_post_manager:release_post303 + edit FHRGRP '182' + edit FHRLST 'f303' + edit FHR 'f303' + edit HR '303' + task jgfs_atmos_post_f306 + trigger ./jgfs_atmos_post_manager:release_post306 + edit FHRGRP '183' + edit FHRLST 'f306' + edit FHR 'f306' + edit HR '306' + task jgfs_atmos_post_f309 + trigger ./jgfs_atmos_post_manager:release_post309 + edit FHRGRP '184' + edit FHRLST 'f309' + edit FHR 'f309' + edit HR '309' + task jgfs_atmos_post_f312 + trigger ./jgfs_atmos_post_manager:release_post312 + edit FHRGRP '185' + edit FHRLST 'f312' + edit FHR 'f312' + edit HR '312' + task jgfs_atmos_post_f315 + trigger ./jgfs_atmos_post_manager:release_post315 + edit FHRGRP '186' + edit FHRLST 'f315' + edit FHR 'f315' + edit HR '315' + task jgfs_atmos_post_f318 + trigger ./jgfs_atmos_post_manager:release_post318 + edit FHRGRP '187' + edit FHRLST 'f318' + edit FHR 'f318' + edit HR '318' + task jgfs_atmos_post_f321 + trigger ./jgfs_atmos_post_manager:release_post321 + edit FHRGRP '188' + edit FHRLST 'f321' + edit FHR 'f321' + edit HR '321' + task jgfs_atmos_post_f324 + trigger ./jgfs_atmos_post_manager:release_post324 + edit FHRGRP '189' + edit FHRLST 'f324' + edit FHR 'f324' + edit HR '324' + task jgfs_atmos_post_f327 + trigger ./jgfs_atmos_post_manager:release_post327 + edit FHRGRP '190' + edit FHRLST 'f327' + edit FHR 'f327' + edit HR '327' + task jgfs_atmos_post_f330 + trigger ./jgfs_atmos_post_manager:release_post330 + edit FHRGRP '191' + edit FHRLST 'f330' + edit FHR 'f330' + edit HR '330' + task jgfs_atmos_post_f333 + trigger ./jgfs_atmos_post_manager:release_post333 + edit FHRGRP '192' + edit FHRLST 'f333' + edit FHR 'f333' + edit HR '333' + task jgfs_atmos_post_f336 + trigger ./jgfs_atmos_post_manager:release_post336 + edit FHRGRP '193' + edit FHRLST 'f336' + edit FHR 'f336' + edit HR '336' + task jgfs_atmos_post_f339 + trigger ./jgfs_atmos_post_manager:release_post339 + edit FHRGRP '194' + edit FHRLST 'f339' + edit FHR 'f339' + edit HR '339' + task jgfs_atmos_post_f342 + trigger ./jgfs_atmos_post_manager:release_post342 + edit FHRGRP '195' + edit FHRLST 'f342' + edit FHR 'f342' + edit HR '342' + task jgfs_atmos_post_f345 + trigger ./jgfs_atmos_post_manager:release_post345 + edit FHRGRP '196' + edit FHRLST 'f345' + edit FHR 'f345' + edit HR '345' + task jgfs_atmos_post_f348 + trigger ./jgfs_atmos_post_manager:release_post348 + edit FHRGRP '197' + edit FHRLST 'f348' + edit FHR 'f348' + edit HR '348' + task jgfs_atmos_post_f351 + trigger ./jgfs_atmos_post_manager:release_post351 + edit FHRGRP '198' + edit FHRLST 'f351' + edit FHR 'f351' + edit HR '351' + task jgfs_atmos_post_f354 + trigger ./jgfs_atmos_post_manager:release_post354 + edit FHRGRP '199' + edit FHRLST 'f354' + edit FHR 'f354' + edit HR '354' + task jgfs_atmos_post_f357 + trigger ./jgfs_atmos_post_manager:release_post357 + edit FHRGRP '200' + edit FHRLST 'f357' + edit FHR 'f357' + edit HR '357' + task jgfs_atmos_post_f360 + trigger ./jgfs_atmos_post_manager:release_post360 + edit FHRGRP '201' + edit FHRLST 'f360' + edit FHR 'f360' + edit HR '360' + task jgfs_atmos_post_f363 + trigger ./jgfs_atmos_post_manager:release_post363 + edit FHRGRP '202' + edit FHRLST 'f363' + edit FHR 'f363' + edit HR '363' + task jgfs_atmos_post_f366 + trigger ./jgfs_atmos_post_manager:release_post366 + edit FHRGRP '203' + edit FHRLST 'f366' + edit FHR 'f366' + edit HR '366' + task jgfs_atmos_post_f369 + trigger ./jgfs_atmos_post_manager:release_post369 + edit FHRGRP '204' + edit FHRLST 'f369' + edit FHR 'f369' + edit HR '369' + task jgfs_atmos_post_f372 + trigger ./jgfs_atmos_post_manager:release_post372 + edit FHRGRP '205' + edit FHRLST 'f372' + edit FHR 'f372' + edit HR '372' + task jgfs_atmos_post_f375 + trigger ./jgfs_atmos_post_manager:release_post375 + edit FHRGRP '206' + edit FHRLST 'f375' + edit FHR 'f375' + edit HR '375' + task jgfs_atmos_post_f378 + trigger ./jgfs_atmos_post_manager:release_post378 + edit FHRGRP '207' + edit FHRLST 'f378' + edit FHR 'f378' + edit HR '378' + task jgfs_atmos_post_f381 + trigger ./jgfs_atmos_post_manager:release_post381 + edit FHRGRP '208' + edit FHRLST 'f381' + edit FHR 'f381' + edit HR '381' + task jgfs_atmos_post_f384 + trigger ./jgfs_atmos_post_manager:release_post384 + edit FHRGRP '209' + edit FHRLST 'f384' + edit FHR 'f384' + edit HR '384' + endfamily + family post_processing + task jgfs_atmos_wafs_gcip + trigger ( :TIME >= 2240 or :TIME < 0240) and ../post/jgfs_atmos_post_f003 == complete + family grib_wafs + task jgfs_atmos_wafs_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete and ../../post/jgfs_atmos_post_f120 == complete and ../grib2_wafs/jgfs_atmos_wafs_grib2 == complete + edit FCSTHR '00' + task jgfs_atmos_wafs_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete and ./jgfs_atmos_wafs_f000 == complete + edit FCSTHR '06' + task jgfs_atmos_wafs_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete and ./jgfs_atmos_wafs_f006 == complete + edit FCSTHR '12' + task jgfs_atmos_wafs_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete and ./jgfs_atmos_wafs_f012 == complete + edit FCSTHR '18' + task jgfs_atmos_wafs_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete and ./jgfs_atmos_wafs_f018 == complete + edit FCSTHR '24' + task jgfs_atmos_wafs_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete and ./jgfs_atmos_wafs_f024 == complete + edit FCSTHR '30' + task jgfs_atmos_wafs_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete and ./jgfs_atmos_wafs_f030 == complete + edit FCSTHR '36' + task jgfs_atmos_wafs_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete and ./jgfs_atmos_wafs_f036 == complete + edit FCSTHR '42' + task jgfs_atmos_wafs_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete and ./jgfs_atmos_wafs_f042 == complete + edit FCSTHR '48' + task jgfs_atmos_wafs_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete and ./jgfs_atmos_wafs_f048 == complete + edit FCSTHR '54' + task jgfs_atmos_wafs_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete and ./jgfs_atmos_wafs_f054 == complete + edit FCSTHR '60' + task jgfs_atmos_wafs_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete and ./jgfs_atmos_wafs_f060 == complete + edit FCSTHR '66' + task jgfs_atmos_wafs_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete and ./jgfs_atmos_wafs_f066 == complete + edit FCSTHR '72' + task jgfs_atmos_wafs_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete and ./jgfs_atmos_wafs_f072 == complete + edit FCSTHR '78' + task jgfs_atmos_wafs_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete and ./jgfs_atmos_wafs_f078 == complete + edit FCSTHR '84' + task jgfs_atmos_wafs_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete and ./jgfs_atmos_wafs_f084 == complete + edit FCSTHR '90' + task jgfs_atmos_wafs_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete and ./jgfs_atmos_wafs_f090 == complete + edit FCSTHR '96' + task jgfs_atmos_wafs_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete and ./jgfs_atmos_wafs_f096 == complete + edit FCSTHR '102' + task jgfs_atmos_wafs_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete and ./jgfs_atmos_wafs_f102 == complete + edit FCSTHR '108' + task jgfs_atmos_wafs_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete and ./jgfs_atmos_wafs_f108 == complete + edit FCSTHR '114' + task jgfs_atmos_wafs_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete and ./jgfs_atmos_wafs_f114 == complete + edit FCSTHR '120' + endfamily + family grib2_wafs + task jgfs_atmos_wafs_grib2 + trigger ../../post/jgfs_atmos_post_f000 == complete + task jgfs_atmos_wafs_grib2_0p25 + trigger ../../post/jgfs_atmos_post_f036 == complete + task jgfs_atmos_wafs_blending + trigger ( :TIME >= 2233 or :TIME < 0233 ) and ./jgfs_atmos_wafs_grib2 == complete + task jgfs_atmos_wafs_blending_0p25 + trigger ( :TIME >= 2225 or :TIME < 0225) and ./jgfs_atmos_wafs_grib2_0p25 == complete + endfamily + family bufr_sounding + task jgfs_atmos_postsnd + trigger ../../post/jgfs_atmos_post_manager:release_post000 + endfamily + family bulletins + task jgfs_atmos_fbwind + trigger ../../post/jgfs_atmos_post_f006 == complete and ../../post/jgfs_atmos_post_f012 == complete and ../../post/jgfs_atmos_post_f024 == complete + endfamily + family awips_20km_1p0 + task jgfs_atmos_awips_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f003 + trigger ../../post/jgfs_atmos_post_f003 == complete + edit FHRGRP '003' + edit FHRLST 'f003' + edit FCSTHR '003' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f009 + trigger ../../post/jgfs_atmos_post_f009 == complete + edit FHRGRP '009' + edit FHRLST 'f009' + edit FCSTHR '009' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f015 + trigger ../../post/jgfs_atmos_post_f015 == complete + edit FHRGRP '015' + edit FHRLST 'f015' + edit FCSTHR '015' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f021 + trigger ../../post/jgfs_atmos_post_f021 == complete + edit FHRGRP '021' + edit FHRLST 'f021' + edit FCSTHR '021' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f027 + trigger ../../post/jgfs_atmos_post_f027 == complete + edit FHRGRP '027' + edit FHRLST 'f027' + edit FCSTHR '027' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f033 + trigger ../../post/jgfs_atmos_post_f033 == complete + edit FHRGRP '033' + edit FHRLST 'f033' + edit FCSTHR '033' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f039 + trigger ../../post/jgfs_atmos_post_f039 == complete + edit FHRGRP '039' + edit FHRLST 'f039' + edit FCSTHR '039' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f045 + trigger ../../post/jgfs_atmos_post_f045 == complete + edit FHRGRP '045' + edit FHRLST 'f045' + edit FCSTHR '045' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f051 + trigger ../../post/jgfs_atmos_post_f051 == complete + edit FHRGRP '051' + edit FHRLST 'f051' + edit FCSTHR '051' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f057 + trigger ../../post/jgfs_atmos_post_f057 == complete + edit FHRGRP '057' + edit FHRLST 'f057' + edit FCSTHR '057' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f063 + trigger ../../post/jgfs_atmos_post_f063 == complete + edit FHRGRP '063' + edit FHRLST 'f063' + edit FCSTHR '063' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f069 + trigger ../../post/jgfs_atmos_post_f069 == complete + edit FHRGRP '069' + edit FHRLST 'f069' + edit FCSTHR '069' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f075 + trigger ../../post/jgfs_atmos_post_f075 == complete + edit FHRGRP '075' + edit FHRLST 'f075' + edit FCSTHR '075' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f081 + trigger ../../post/jgfs_atmos_post_f081 == complete + edit FHRGRP '081' + edit FHRLST 'f081' + edit FCSTHR '081' + edit TRDRUN 'NO' + task jgfs_atmos_awips_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + family awips_g2 + task jgfs_atmos_awips_g2_f000 + trigger ../../post/jgfs_atmos_post_f000 == complete + edit FHRGRP '000' + edit FHRLST 'f000' + edit FCSTHR '000' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f006 + trigger ../../post/jgfs_atmos_post_f006 == complete + edit FHRGRP '006' + edit FHRLST 'f006' + edit FCSTHR '006' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f012 + trigger ../../post/jgfs_atmos_post_f012 == complete + edit FHRGRP '012' + edit FHRLST 'f012' + edit FCSTHR '012' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f018 + trigger ../../post/jgfs_atmos_post_f018 == complete + edit FHRGRP '018' + edit FHRLST 'f018' + edit FCSTHR '018' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f024 + trigger ../../post/jgfs_atmos_post_f024 == complete + edit FHRGRP '024' + edit FHRLST 'f024' + edit FCSTHR '024' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f030 + trigger ../../post/jgfs_atmos_post_f030 == complete + edit FHRGRP '030' + edit FHRLST 'f030' + edit FCSTHR '030' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f036 + trigger ../../post/jgfs_atmos_post_f036 == complete + edit FHRGRP '036' + edit FHRLST 'f036' + edit FCSTHR '036' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f042 + trigger ../../post/jgfs_atmos_post_f042 == complete + edit FHRGRP '042' + edit FHRLST 'f042' + edit FCSTHR '042' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f048 + trigger ../../post/jgfs_atmos_post_f048 == complete + edit FHRGRP '048' + edit FHRLST 'f048' + edit FCSTHR '048' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f054 + trigger ../../post/jgfs_atmos_post_f054 == complete + edit FHRGRP '054' + edit FHRLST 'f054' + edit FCSTHR '054' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f060 + trigger ../../post/jgfs_atmos_post_f060 == complete + edit FHRGRP '060' + edit FHRLST 'f060' + edit FCSTHR '060' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f066 + trigger ../../post/jgfs_atmos_post_f066 == complete + edit FHRGRP '066' + edit FHRLST 'f066' + edit FCSTHR '066' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f072 + trigger ../../post/jgfs_atmos_post_f072 == complete + edit FHRGRP '072' + edit FHRLST 'f072' + edit FCSTHR '072' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f078 + trigger ../../post/jgfs_atmos_post_f078 == complete + edit FHRGRP '078' + edit FHRLST 'f078' + edit FCSTHR '078' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f084 + trigger ../../post/jgfs_atmos_post_f084 == complete + edit FHRGRP '084' + edit FHRLST 'f084' + edit FCSTHR '084' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f090 + trigger ../../post/jgfs_atmos_post_f090 == complete + edit FHRGRP '090' + edit FHRLST 'f090' + edit FCSTHR '090' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f096 + trigger ../../post/jgfs_atmos_post_f096 == complete + edit FHRGRP '096' + edit FHRLST 'f096' + edit FCSTHR '096' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f102 + trigger ../../post/jgfs_atmos_post_f102 == complete + edit FHRGRP '102' + edit FHRLST 'f102' + edit FCSTHR '102' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f108 + trigger ../../post/jgfs_atmos_post_f108 == complete + edit FHRGRP '108' + edit FHRLST 'f108' + edit FCSTHR '108' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f114 + trigger ../../post/jgfs_atmos_post_f114 == complete + edit FHRGRP '114' + edit FHRLST 'f114' + edit FCSTHR '114' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f120 + trigger ../../post/jgfs_atmos_post_f120 == complete + edit FHRGRP '120' + edit FHRLST 'f120' + edit FCSTHR '120' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f126 + trigger ../../post/jgfs_atmos_post_f126 == complete + edit FHRGRP '126' + edit FHRLST 'f126' + edit FCSTHR '126' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f132 + trigger ../../post/jgfs_atmos_post_f132 == complete + edit FHRGRP '132' + edit FHRLST 'f132' + edit FCSTHR '132' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f138 + trigger ../../post/jgfs_atmos_post_f138 == complete + edit FHRGRP '138' + edit FHRLST 'f138' + edit FCSTHR '138' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f144 + trigger ../../post/jgfs_atmos_post_f144 == complete + edit FHRGRP '144' + edit FHRLST 'f144' + edit FCSTHR '144' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f150 + trigger ../../post/jgfs_atmos_post_f150 == complete + edit FHRGRP '150' + edit FHRLST 'f150' + edit FCSTHR '150' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f156 + trigger ../../post/jgfs_atmos_post_f156 == complete + edit FHRGRP '156' + edit FHRLST 'f156' + edit FCSTHR '156' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f162 + trigger ../../post/jgfs_atmos_post_f162 == complete + edit FHRGRP '162' + edit FHRLST 'f162' + edit FCSTHR '162' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f168 + trigger ../../post/jgfs_atmos_post_f168 == complete + edit FHRGRP '168' + edit FHRLST 'f168' + edit FCSTHR '168' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f174 + trigger ../../post/jgfs_atmos_post_f174 == complete + edit FHRGRP '174' + edit FHRLST 'f174' + edit FCSTHR '174' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f180 + trigger ../../post/jgfs_atmos_post_f180 == complete + edit FHRGRP '180' + edit FHRLST 'f180' + edit FCSTHR '180' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f186 + trigger ../../post/jgfs_atmos_post_f186 == complete + edit FHRGRP '186' + edit FHRLST 'f186' + edit FCSTHR '186' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f192 + trigger ../../post/jgfs_atmos_post_f192 == complete + edit FHRGRP '192' + edit FHRLST 'f192' + edit FCSTHR '192' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f198 + trigger ../../post/jgfs_atmos_post_f198 == complete + edit FHRGRP '198' + edit FHRLST 'f198' + edit FCSTHR '198' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f204 + trigger ../../post/jgfs_atmos_post_f204 == complete + edit FHRGRP '204' + edit FHRLST 'f204' + edit FCSTHR '204' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f210 + trigger ../../post/jgfs_atmos_post_f210 == complete + edit FHRGRP '210' + edit FHRLST 'f210' + edit FCSTHR '210' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f216 + trigger ../../post/jgfs_atmos_post_f216 == complete + edit FHRGRP '216' + edit FHRLST 'f216' + edit FCSTHR '216' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f222 + trigger ../../post/jgfs_atmos_post_f222 == complete + edit FHRGRP '222' + edit FHRLST 'f222' + edit FCSTHR '222' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f228 + trigger ../../post/jgfs_atmos_post_f228 == complete + edit FHRGRP '228' + edit FHRLST 'f228' + edit FCSTHR '228' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f234 + trigger ../../post/jgfs_atmos_post_f234 == complete + edit FHRGRP '234' + edit FHRLST 'f234' + edit FCSTHR '234' + edit TRDRUN 'YES' + task jgfs_atmos_awips_g2_f240 + trigger ../../post/jgfs_atmos_post_f240 == complete + edit FHRGRP '240' + edit FHRLST 'f240' + edit FCSTHR '240' + edit TRDRUN 'YES' + endfamily + endfamily + family gempak + task jgfs_atmos_gempak + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_meta + trigger ../../atmos/analysis/jgfs_atmos_analysis == complete + task jgfs_atmos_gempak_ncdc_upapgif + trigger ./jgfs_atmos_gempak == active or ./jgfs_atmos_gempak == complete + task jgfs_atmos_npoess_pgrb2_0p5deg + trigger ../post/jgfs_atmos_post_anl eq active or ../post/jgfs_atmos_post_anl == complete + task jgfs_atmos_pgrb2_spec_gempak + trigger ./jgfs_atmos_npoess_pgrb2_0p5deg == complete + endfamily + family verf + task jgfs_atmos_vminmon + trigger ../analysis/jgfs_atmos_analysis == complete + endfamily + endfamily + family wave + family init + task jgfs_wave_init + trigger /prod/primary/18/obsproc/v1.0/gfs/atmos/prep/jobsproc_gfs_atmos_prep == complete + endfamily + family prep + task jgfs_wave_prep + trigger ../init/jgfs_wave_init == complete + endfamily + family post + task jgfs_wave_postsbs + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post000 + task jgfs_wave_postpnt + trigger ../../jgfs_forecast == complete + task jgfs_wave_post_bndpnt + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_post_bndpntbll + trigger ../../atmos/post/jgfs_atmos_post_manager:release_post180 + task jgfs_wave_prdgen_gridded + trigger ./jgfs_wave_postsbs == active or ./jgfs_wave_postsbs == complete + task jgfs_wave_prdgen_bulls + trigger ./jgfs_wave_postpnt == complete and ./jgfs_wave_postsbs == complete + endfamily + family gempak + task jgfs_wave_gempak + trigger ../post/jgfs_wave_postsbs == active or ../post/jgfs_wave_postsbs == complete + endfamily + endfamily + task jgfs_forecast + trigger ./atmos/analysis/jgfs_atmos_analysis:release_fcst and ./wave/prep/jgfs_wave_prep == complete + endfamily + family gdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/gdas' + family atmos + family obsproc + family dump + task jgdas_atmos_tropcy_qc_reloc + trigger :TIME >= 2345 or :TIME < 0545 + endfamily + family prep + task jgdas_atmos_emcsfc_sfc_prep + trigger /prod/primary/18/obsproc/v1.0/gdas/atmos/dump/jobsproc_gdas_atmos_dump:release_sfcprep + endfamily + endfamily + family init + task jgdas_atmos_gldas + trigger ../analysis/jgdas_atmos_analysis == complete + endfamily + family analysis + task jgdas_atmos_analysis + trigger /prod/primary/18/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and ../obsproc/prep/jgdas_atmos_emcsfc_sfc_prep == complete + event 1 release_fcst + task jgdas_atmos_analysis_calc + trigger ./jgdas_atmos_analysis == complete + task jgdas_atmos_analysis_diag + trigger ./jgdas_atmos_analysis == complete + endfamily + family post + task jgdas_atmos_post_manager + trigger ../../jgdas_forecast == active + event 1 release_postanl + event 2 release_post000 + event 3 release_post001 + event 4 release_post002 + event 5 release_post003 + event 6 release_post004 + event 7 release_post005 + event 8 release_post006 + event 9 release_post007 + event 10 release_post008 + event 11 release_post009 + task jgdas_atmos_post_anl + trigger ./jgdas_atmos_post_manager:release_postanl + edit FHRGRP '000' + edit FHRLST 'anl' + edit HR 'anl' + edit FHR 'anl' + task jgdas_atmos_post_f000 + trigger ./jgdas_atmos_post_manager:release_post000 + edit FHR 'f000' + edit HR '000' + edit FHRGRP '001' + edit FHRLST 'f000' + task jgdas_atmos_post_f001 + trigger ./jgdas_atmos_post_manager:release_post001 + edit FHR 'f001' + edit HR '001' + edit FHRGRP '002' + edit FHRLST 'f001' + task jgdas_atmos_post_f002 + trigger ./jgdas_atmos_post_manager:release_post002 + edit FHR 'f002' + edit HR '002' + edit FHRGRP '003' + edit FHRLST 'f002' + task jgdas_atmos_post_f003 + trigger ./jgdas_atmos_post_manager:release_post003 + edit FHR 'f003' + edit HR '003' + edit FHRGRP '004' + edit FHRLST 'f003' + task jgdas_atmos_post_f004 + trigger ./jgdas_atmos_post_manager:release_post004 + edit FHR 'f004' + edit HR '004' + edit FHRGRP '005' + edit FHRLST 'f004' + task jgdas_atmos_post_f005 + trigger ./jgdas_atmos_post_manager:release_post005 + edit FHR 'f005' + edit HR '005' + edit FHRGRP '006' + edit FHRLST 'f005' + task jgdas_atmos_post_f006 + trigger ./jgdas_atmos_post_manager:release_post006 + edit FHR 'f006' + edit HR '006' + edit FHRGRP '007' + edit FHRLST 'f006' + task jgdas_atmos_post_f007 + trigger ./jgdas_atmos_post_manager:release_post007 + edit FHR 'f007' + edit HR '007' + edit FHRGRP '008' + edit FHRLST 'f007' + task jgdas_atmos_post_f008 + trigger ./jgdas_atmos_post_manager:release_post008 + edit FHR 'f008' + edit HR '008' + edit FHRGRP '009' + edit FHRLST 'f008' + task jgdas_atmos_post_f009 + trigger ./jgdas_atmos_post_manager:release_post009 + edit FHR 'f009' + edit HR '009' + edit FHRGRP '010' + edit FHRLST 'f009' + endfamily + family post_processing + task jgdas_atmos_chgres_forenkf + trigger ../../jgdas_forecast == complete and ../../../enkfgdas/forecast == complete + endfamily + family gempak + task jgdas_atmos_gempak + trigger ../../jgdas_forecast == complete + task jgdas_atmos_gempak_meta_ncdc + trigger ./jgdas_atmos_gempak == complete + endfamily + family verf + task jgdas_atmos_vminmon + trigger ../analysis/jgdas_atmos_analysis == complete + task jgdas_atmos_verfrad + trigger ../analysis/jgdas_atmos_analysis_diag == complete + task jgdas_atmos_verfozn + trigger ../analysis/jgdas_atmos_analysis_diag == complete + endfamily + endfamily + family wave + family init + task jgdas_wave_init + trigger /prod/primary/18/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete + endfamily + family prep + task jgdas_wave_prep + trigger ../init/jgdas_wave_init == complete + endfamily + family post + task jgdas_wave_postsbs + trigger ../../atmos/post/jgdas_atmos_post_manager:release_post000 + task jgdas_wave_postpnt + trigger ../../jgdas_forecast == complete + endfamily + endfamily + task jgdas_forecast + trigger ./atmos/analysis/jgdas_atmos_analysis:release_fcst and ./wave/prep/jgdas_wave_prep == complete and ./atmos/init/jgdas_atmos_gldas == complete + endfamily + family enkfgdas + edit RUN 'gdas' + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas' + family analysis + family create + task jenkfgdas_select_obs + trigger /prod/primary/18/obsproc/v1.0/gdas/atmos/prep/jobsproc_gdas_atmos_prep == complete and /prod/primary/12/gfs/v16.2/enkfgdas/post == complete + task jenkfgdas_diag + trigger ./jenkfgdas_select_obs == complete + task jenkfgdas_update + trigger ./jenkfgdas_diag == complete + endfamily + family recenter + family ecen + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete and /prod/primary/12/gfs/v16.2/gdas/atmos/post_processing/jgdas_atmos_chgres_forenkf == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/analysis/recenter/ecen' + family grp1 + edit FHRGRP '003' + task jenkfgdas_ecen + endfamily + family grp2 + edit FHRGRP '006' + task jenkfgdas_ecen + endfamily + family grp3 + edit FHRGRP '009' + task jenkfgdas_ecen + endfamily + endfamily + task jenkfgdas_sfc + trigger ../create/jenkfgdas_update == complete and ../../../gdas/atmos/analysis/jgdas_atmos_analysis_calc == complete + endfamily + endfamily + family forecast + trigger ./analysis/recenter/ecen == complete and ./analysis/recenter/jenkfgdas_sfc == complete + edit ECF_FILES '%PACKAGEHOME%/ecf/scripts/enkfgdas/forecast' + family grp1 + edit ENSGRP '01' + task jenkfgdas_fcst + endfamily + family grp2 + edit ENSGRP '02' + task jenkfgdas_fcst + endfamily + family grp3 + edit ENSGRP '03' + task jenkfgdas_fcst + endfamily + family grp4 + edit ENSGRP '04' + task jenkfgdas_fcst + endfamily + family grp5 + edit ENSGRP '05' + task jenkfgdas_fcst + endfamily + family grp6 + edit ENSGRP '06' + task jenkfgdas_fcst + endfamily + family grp7 + edit ENSGRP '07' + task jenkfgdas_fcst + endfamily + family grp8 + edit ENSGRP '08' + task jenkfgdas_fcst + endfamily + family grp9 + edit ENSGRP '09' + task jenkfgdas_fcst + endfamily + family grp10 + edit ENSGRP '10' + task jenkfgdas_fcst + endfamily + family grp11 + edit ENSGRP '11' + task jenkfgdas_fcst + endfamily + family grp12 + edit ENSGRP '12' + task jenkfgdas_fcst + endfamily + family grp13 + edit ENSGRP '13' + task jenkfgdas_fcst + endfamily + family grp14 + edit ENSGRP '14' + task jenkfgdas_fcst + endfamily + family grp15 + edit ENSGRP '15' + task jenkfgdas_fcst + endfamily + family grp16 + edit ENSGRP '16' + task jenkfgdas_fcst + endfamily + family grp17 + edit ENSGRP '17' + task jenkfgdas_fcst + endfamily + family grp18 + edit ENSGRP '18' + task jenkfgdas_fcst + endfamily + family grp19 + edit ENSGRP '19' + task jenkfgdas_fcst + endfamily + family grp20 + edit ENSGRP '20' + task jenkfgdas_fcst + endfamily + family grp21 + edit ENSGRP '21' + task jenkfgdas_fcst + endfamily + family grp22 + edit ENSGRP '22' + task jenkfgdas_fcst + endfamily + family grp23 + edit ENSGRP '23' + task jenkfgdas_fcst + endfamily + family grp24 + edit ENSGRP '24' + task jenkfgdas_fcst + endfamily + family grp25 + edit ENSGRP '25' + task jenkfgdas_fcst + endfamily + family grp26 + edit ENSGRP '26' + task jenkfgdas_fcst + endfamily + family grp27 + edit ENSGRP '27' + task jenkfgdas_fcst + endfamily + family grp28 + edit ENSGRP '28' + task jenkfgdas_fcst + endfamily + family grp29 + edit ENSGRP '29' + task jenkfgdas_fcst + endfamily + family grp30 + edit ENSGRP '30' + task jenkfgdas_fcst + endfamily + family grp31 + edit ENSGRP '31' + task jenkfgdas_fcst + endfamily + family grp32 + edit ENSGRP '32' + task jenkfgdas_fcst + endfamily + family grp33 + edit ENSGRP '33' + task jenkfgdas_fcst + endfamily + family grp34 + edit ENSGRP '34' + task jenkfgdas_fcst + endfamily + family grp35 + edit ENSGRP '35' + task jenkfgdas_fcst + endfamily + family grp36 + edit ENSGRP '36' + task jenkfgdas_fcst + endfamily + family grp37 + edit ENSGRP '37' + task jenkfgdas_fcst + endfamily + family grp38 + edit ENSGRP '38' + task jenkfgdas_fcst + endfamily + family grp39 + edit ENSGRP '39' + task jenkfgdas_fcst + endfamily + family grp40 + edit ENSGRP '40' + task jenkfgdas_fcst + endfamily + endfamily + family post + trigger ./forecast == complete + task jenkfgdas_post_f003 + edit FHMIN_EPOS '003' + edit FHMAX_EPOS '003' + edit FHOUT_EPOS '003' + task jenkfgdas_post_f004 + edit FHMIN_EPOS '004' + edit FHMAX_EPOS '004' + edit FHOUT_EPOS '004' + task jenkfgdas_post_f005 + edit FHMIN_EPOS '005' + edit FHMAX_EPOS '005' + edit FHOUT_EPOS '005' + task jenkfgdas_post_f006 + edit FHMIN_EPOS '006' + edit FHMAX_EPOS '006' + edit FHOUT_EPOS '006' + task jenkfgdas_post_f007 + edit FHMIN_EPOS '007' + edit FHMAX_EPOS '007' + edit FHOUT_EPOS '007' + task jenkfgdas_post_f008 + edit FHMIN_EPOS '008' + edit FHMAX_EPOS '008' + edit FHOUT_EPOS '008' + task jenkfgdas_post_f009 + edit FHMIN_EPOS '009' + edit FHMAX_EPOS '009' + edit FHOUT_EPOS '009' + endfamily + endfamily + endfamily + From 7ffbb249b50e3ec22258d52e2f8d783b1c9c9bcd Mon Sep 17 00:00:00 2001 From: lgannoaa <37596169+lgannoaa@users.noreply.github.com> Date: Tue, 3 May 2022 09:45:19 -0400 Subject: [PATCH 04/78] Update checkout.sh to remove git submodule update for upp checkout (#768) REF:767 --- sorc/checkout.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/sorc/checkout.sh b/sorc/checkout.sh index feda3a4516..2dfd6d1b21 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -78,7 +78,6 @@ if [[ ! -d gfs_post.fd ]] ; then git clone https://github.com/NOAA-EMC/UPP.git gfs_post.fd >> ${logdir}/checkout-gfs_post.log 2>&1 cd gfs_post.fd git checkout upp_v10.0.11 - git submodule update --init CMakeModules ################################################################################ # checkout_gtg ## yes: The gtg code at NCAR private repository is available for ops. GFS only. From 50410059a42b64f08db64426d3a1b3547c195aea Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Tue, 19 Jul 2022 19:34:32 +0000 Subject: [PATCH 05/78] Move transfer files into new transfer folder - In move to WCOSS2 the transfer*list files were moved into a new transfer folder under the upper-level parm folder. Refs: #419 --- parm/{ => transfer}/transfer_gdas_1a.list | 0 parm/{ => transfer}/transfer_gdas_1b.list | 0 parm/{ => transfer}/transfer_gdas_1c.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_05.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_10.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_15.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_20.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_25.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_30.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_35.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_40.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_45.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_50.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_55.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_60.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_65.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_70.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_75.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_80.list | 0 parm/{ => transfer}/transfer_gdas_enkf_enkf_misc.list | 0 parm/{ => transfer}/transfer_gdas_misc.list | 0 parm/{ => transfer}/transfer_gfs_1.list | 0 parm/{ => transfer}/transfer_gfs_10a.list | 0 parm/{ => transfer}/transfer_gfs_10b.list | 0 parm/{ => transfer}/transfer_gfs_2.list | 0 parm/{ => transfer}/transfer_gfs_3.list | 0 parm/{ => transfer}/transfer_gfs_4.list | 0 parm/{ => transfer}/transfer_gfs_5.list | 0 parm/{ => transfer}/transfer_gfs_6.list | 0 parm/{ => transfer}/transfer_gfs_7.list | 0 parm/{ => transfer}/transfer_gfs_8.list | 0 parm/{ => transfer}/transfer_gfs_9a.list | 0 parm/{ => transfer}/transfer_gfs_9b.list | 0 parm/{ => transfer}/transfer_gfs_gempak.list | 0 parm/{ => transfer}/transfer_gfs_misc.list | 0 parm/{ => transfer}/transfer_gfs_wave_restart1.list | 0 parm/{ => transfer}/transfer_gfs_wave_restart2.list | 0 parm/{ => transfer}/transfer_gfs_wave_restart3.list | 0 parm/{ => transfer}/transfer_gfs_wave_rundata.list | 0 parm/{ => transfer}/transfer_gfs_wave_wave.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_1.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_2.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_3.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_4.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_5.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_6.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_7.list | 0 parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_8.list | 0 parm/{ => transfer}/transfer_rdhpcs_gfs.list | 0 parm/{ => transfer}/transfer_rdhpcs_gfs_nawips.list | 0 51 files changed, 0 insertions(+), 0 deletions(-) rename parm/{ => transfer}/transfer_gdas_1a.list (100%) rename parm/{ => transfer}/transfer_gdas_1b.list (100%) rename parm/{ => transfer}/transfer_gdas_1c.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_05.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_10.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_15.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_20.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_25.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_30.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_35.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_40.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_45.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_50.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_55.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_60.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_65.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_70.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_75.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_80.list (100%) rename parm/{ => transfer}/transfer_gdas_enkf_enkf_misc.list (100%) rename parm/{ => transfer}/transfer_gdas_misc.list (100%) rename parm/{ => transfer}/transfer_gfs_1.list (100%) rename parm/{ => transfer}/transfer_gfs_10a.list (100%) rename parm/{ => transfer}/transfer_gfs_10b.list (100%) rename parm/{ => transfer}/transfer_gfs_2.list (100%) rename parm/{ => transfer}/transfer_gfs_3.list (100%) rename parm/{ => transfer}/transfer_gfs_4.list (100%) rename parm/{ => transfer}/transfer_gfs_5.list (100%) rename parm/{ => transfer}/transfer_gfs_6.list (100%) rename parm/{ => transfer}/transfer_gfs_7.list (100%) rename parm/{ => transfer}/transfer_gfs_8.list (100%) rename parm/{ => transfer}/transfer_gfs_9a.list (100%) rename parm/{ => transfer}/transfer_gfs_9b.list (100%) rename parm/{ => transfer}/transfer_gfs_gempak.list (100%) rename parm/{ => transfer}/transfer_gfs_misc.list (100%) rename parm/{ => transfer}/transfer_gfs_wave_restart1.list (100%) rename parm/{ => transfer}/transfer_gfs_wave_restart2.list (100%) rename parm/{ => transfer}/transfer_gfs_wave_restart3.list (100%) rename parm/{ => transfer}/transfer_gfs_wave_rundata.list (100%) rename parm/{ => transfer}/transfer_gfs_wave_wave.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_1.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_2.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_3.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_4.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_5.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_6.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_7.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gdas_enkf_enkf_8.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gfs.list (100%) rename parm/{ => transfer}/transfer_rdhpcs_gfs_nawips.list (100%) diff --git a/parm/transfer_gdas_1a.list b/parm/transfer/transfer_gdas_1a.list similarity index 100% rename from parm/transfer_gdas_1a.list rename to parm/transfer/transfer_gdas_1a.list diff --git a/parm/transfer_gdas_1b.list b/parm/transfer/transfer_gdas_1b.list similarity index 100% rename from parm/transfer_gdas_1b.list rename to parm/transfer/transfer_gdas_1b.list diff --git a/parm/transfer_gdas_1c.list b/parm/transfer/transfer_gdas_1c.list similarity index 100% rename from parm/transfer_gdas_1c.list rename to parm/transfer/transfer_gdas_1c.list diff --git a/parm/transfer_gdas_enkf_enkf_05.list b/parm/transfer/transfer_gdas_enkf_enkf_05.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_05.list rename to parm/transfer/transfer_gdas_enkf_enkf_05.list diff --git a/parm/transfer_gdas_enkf_enkf_10.list b/parm/transfer/transfer_gdas_enkf_enkf_10.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_10.list rename to parm/transfer/transfer_gdas_enkf_enkf_10.list diff --git a/parm/transfer_gdas_enkf_enkf_15.list b/parm/transfer/transfer_gdas_enkf_enkf_15.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_15.list rename to parm/transfer/transfer_gdas_enkf_enkf_15.list diff --git a/parm/transfer_gdas_enkf_enkf_20.list b/parm/transfer/transfer_gdas_enkf_enkf_20.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_20.list rename to parm/transfer/transfer_gdas_enkf_enkf_20.list diff --git a/parm/transfer_gdas_enkf_enkf_25.list b/parm/transfer/transfer_gdas_enkf_enkf_25.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_25.list rename to parm/transfer/transfer_gdas_enkf_enkf_25.list diff --git a/parm/transfer_gdas_enkf_enkf_30.list b/parm/transfer/transfer_gdas_enkf_enkf_30.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_30.list rename to parm/transfer/transfer_gdas_enkf_enkf_30.list diff --git a/parm/transfer_gdas_enkf_enkf_35.list b/parm/transfer/transfer_gdas_enkf_enkf_35.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_35.list rename to parm/transfer/transfer_gdas_enkf_enkf_35.list diff --git a/parm/transfer_gdas_enkf_enkf_40.list b/parm/transfer/transfer_gdas_enkf_enkf_40.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_40.list rename to parm/transfer/transfer_gdas_enkf_enkf_40.list diff --git a/parm/transfer_gdas_enkf_enkf_45.list b/parm/transfer/transfer_gdas_enkf_enkf_45.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_45.list rename to parm/transfer/transfer_gdas_enkf_enkf_45.list diff --git a/parm/transfer_gdas_enkf_enkf_50.list b/parm/transfer/transfer_gdas_enkf_enkf_50.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_50.list rename to parm/transfer/transfer_gdas_enkf_enkf_50.list diff --git a/parm/transfer_gdas_enkf_enkf_55.list b/parm/transfer/transfer_gdas_enkf_enkf_55.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_55.list rename to parm/transfer/transfer_gdas_enkf_enkf_55.list diff --git a/parm/transfer_gdas_enkf_enkf_60.list b/parm/transfer/transfer_gdas_enkf_enkf_60.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_60.list rename to parm/transfer/transfer_gdas_enkf_enkf_60.list diff --git a/parm/transfer_gdas_enkf_enkf_65.list b/parm/transfer/transfer_gdas_enkf_enkf_65.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_65.list rename to parm/transfer/transfer_gdas_enkf_enkf_65.list diff --git a/parm/transfer_gdas_enkf_enkf_70.list b/parm/transfer/transfer_gdas_enkf_enkf_70.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_70.list rename to parm/transfer/transfer_gdas_enkf_enkf_70.list diff --git a/parm/transfer_gdas_enkf_enkf_75.list b/parm/transfer/transfer_gdas_enkf_enkf_75.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_75.list rename to parm/transfer/transfer_gdas_enkf_enkf_75.list diff --git a/parm/transfer_gdas_enkf_enkf_80.list b/parm/transfer/transfer_gdas_enkf_enkf_80.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_80.list rename to parm/transfer/transfer_gdas_enkf_enkf_80.list diff --git a/parm/transfer_gdas_enkf_enkf_misc.list b/parm/transfer/transfer_gdas_enkf_enkf_misc.list similarity index 100% rename from parm/transfer_gdas_enkf_enkf_misc.list rename to parm/transfer/transfer_gdas_enkf_enkf_misc.list diff --git a/parm/transfer_gdas_misc.list b/parm/transfer/transfer_gdas_misc.list similarity index 100% rename from parm/transfer_gdas_misc.list rename to parm/transfer/transfer_gdas_misc.list diff --git a/parm/transfer_gfs_1.list b/parm/transfer/transfer_gfs_1.list similarity index 100% rename from parm/transfer_gfs_1.list rename to parm/transfer/transfer_gfs_1.list diff --git a/parm/transfer_gfs_10a.list b/parm/transfer/transfer_gfs_10a.list similarity index 100% rename from parm/transfer_gfs_10a.list rename to parm/transfer/transfer_gfs_10a.list diff --git a/parm/transfer_gfs_10b.list b/parm/transfer/transfer_gfs_10b.list similarity index 100% rename from parm/transfer_gfs_10b.list rename to parm/transfer/transfer_gfs_10b.list diff --git a/parm/transfer_gfs_2.list b/parm/transfer/transfer_gfs_2.list similarity index 100% rename from parm/transfer_gfs_2.list rename to parm/transfer/transfer_gfs_2.list diff --git a/parm/transfer_gfs_3.list b/parm/transfer/transfer_gfs_3.list similarity index 100% rename from parm/transfer_gfs_3.list rename to parm/transfer/transfer_gfs_3.list diff --git a/parm/transfer_gfs_4.list b/parm/transfer/transfer_gfs_4.list similarity index 100% rename from parm/transfer_gfs_4.list rename to parm/transfer/transfer_gfs_4.list diff --git a/parm/transfer_gfs_5.list b/parm/transfer/transfer_gfs_5.list similarity index 100% rename from parm/transfer_gfs_5.list rename to parm/transfer/transfer_gfs_5.list diff --git a/parm/transfer_gfs_6.list b/parm/transfer/transfer_gfs_6.list similarity index 100% rename from parm/transfer_gfs_6.list rename to parm/transfer/transfer_gfs_6.list diff --git a/parm/transfer_gfs_7.list b/parm/transfer/transfer_gfs_7.list similarity index 100% rename from parm/transfer_gfs_7.list rename to parm/transfer/transfer_gfs_7.list diff --git a/parm/transfer_gfs_8.list b/parm/transfer/transfer_gfs_8.list similarity index 100% rename from parm/transfer_gfs_8.list rename to parm/transfer/transfer_gfs_8.list diff --git a/parm/transfer_gfs_9a.list b/parm/transfer/transfer_gfs_9a.list similarity index 100% rename from parm/transfer_gfs_9a.list rename to parm/transfer/transfer_gfs_9a.list diff --git a/parm/transfer_gfs_9b.list b/parm/transfer/transfer_gfs_9b.list similarity index 100% rename from parm/transfer_gfs_9b.list rename to parm/transfer/transfer_gfs_9b.list diff --git a/parm/transfer_gfs_gempak.list b/parm/transfer/transfer_gfs_gempak.list similarity index 100% rename from parm/transfer_gfs_gempak.list rename to parm/transfer/transfer_gfs_gempak.list diff --git a/parm/transfer_gfs_misc.list b/parm/transfer/transfer_gfs_misc.list similarity index 100% rename from parm/transfer_gfs_misc.list rename to parm/transfer/transfer_gfs_misc.list diff --git a/parm/transfer_gfs_wave_restart1.list b/parm/transfer/transfer_gfs_wave_restart1.list similarity index 100% rename from parm/transfer_gfs_wave_restart1.list rename to parm/transfer/transfer_gfs_wave_restart1.list diff --git a/parm/transfer_gfs_wave_restart2.list b/parm/transfer/transfer_gfs_wave_restart2.list similarity index 100% rename from parm/transfer_gfs_wave_restart2.list rename to parm/transfer/transfer_gfs_wave_restart2.list diff --git a/parm/transfer_gfs_wave_restart3.list b/parm/transfer/transfer_gfs_wave_restart3.list similarity index 100% rename from parm/transfer_gfs_wave_restart3.list rename to parm/transfer/transfer_gfs_wave_restart3.list diff --git a/parm/transfer_gfs_wave_rundata.list b/parm/transfer/transfer_gfs_wave_rundata.list similarity index 100% rename from parm/transfer_gfs_wave_rundata.list rename to parm/transfer/transfer_gfs_wave_rundata.list diff --git a/parm/transfer_gfs_wave_wave.list b/parm/transfer/transfer_gfs_wave_wave.list similarity index 100% rename from parm/transfer_gfs_wave_wave.list rename to parm/transfer/transfer_gfs_wave_wave.list diff --git a/parm/transfer_rdhpcs_gdas.list b/parm/transfer/transfer_rdhpcs_gdas.list similarity index 100% rename from parm/transfer_rdhpcs_gdas.list rename to parm/transfer/transfer_rdhpcs_gdas.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_1.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_1.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_1.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_1.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_2.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_2.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_2.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_2.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_3.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_3.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_3.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_3.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_4.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_4.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_4.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_4.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_5.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_5.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_5.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_5.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_6.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_6.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_6.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_6.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_7.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_7.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_7.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_7.list diff --git a/parm/transfer_rdhpcs_gdas_enkf_enkf_8.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_8.list similarity index 100% rename from parm/transfer_rdhpcs_gdas_enkf_enkf_8.list rename to parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_8.list diff --git a/parm/transfer_rdhpcs_gfs.list b/parm/transfer/transfer_rdhpcs_gfs.list similarity index 100% rename from parm/transfer_rdhpcs_gfs.list rename to parm/transfer/transfer_rdhpcs_gfs.list diff --git a/parm/transfer_rdhpcs_gfs_nawips.list b/parm/transfer/transfer_rdhpcs_gfs_nawips.list similarity index 100% rename from parm/transfer_rdhpcs_gfs_nawips.list rename to parm/transfer/transfer_rdhpcs_gfs_nawips.list From d133ad8dc5c77782a16d229c08dc7012a04e137d Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Tue, 19 Jul 2022 19:38:16 +0000 Subject: [PATCH 06/78] Updated transfer list files from WCOSS2 ops - The transfer*list files were updated in operations during the move from WCOSS1 to WCOSS2. - The beginning of the path within the transfer*list files was updated from: com/gfs/_ENVIR_ to: _COMROOT_/gfs/_SHORTVER_ Refs: #419 --- parm/transfer/transfer_gdas_1a.list | 4 ++-- parm/transfer/transfer_gdas_1b.list | 4 ++-- parm/transfer/transfer_gdas_1c.list | 4 ++-- parm/transfer/transfer_gdas_enkf_enkf_05.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_10.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_15.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_20.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_25.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_30.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_35.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_40.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_45.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_50.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_55.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_60.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_65.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_70.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_75.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_80.list | 6 ++---- parm/transfer/transfer_gdas_enkf_enkf_misc.list | 6 ++---- parm/transfer/transfer_gdas_misc.list | 16 ++++++++-------- parm/transfer/transfer_gfs_1.list | 4 ++-- parm/transfer/transfer_gfs_10a.list | 4 ++-- parm/transfer/transfer_gfs_10b.list | 4 ++-- parm/transfer/transfer_gfs_2.list | 4 ++-- parm/transfer/transfer_gfs_3.list | 4 ++-- parm/transfer/transfer_gfs_4.list | 4 ++-- parm/transfer/transfer_gfs_5.list | 4 ++-- parm/transfer/transfer_gfs_6.list | 4 ++-- parm/transfer/transfer_gfs_7.list | 4 ++-- parm/transfer/transfer_gfs_8.list | 4 ++-- parm/transfer/transfer_gfs_9a.list | 4 ++-- parm/transfer/transfer_gfs_9b.list | 4 ++-- parm/transfer/transfer_gfs_gempak.list | 4 ++-- parm/transfer/transfer_gfs_misc.list | 4 ++-- parm/transfer/transfer_gfs_wave_restart1.list | 4 ++-- parm/transfer/transfer_gfs_wave_restart2.list | 4 ++-- parm/transfer/transfer_gfs_wave_restart3.list | 4 ++-- parm/transfer/transfer_gfs_wave_rundata.list | 4 ++-- parm/transfer/transfer_gfs_wave_wave.list | 4 ++-- parm/transfer/transfer_rdhpcs_gdas.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_1.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_2.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_3.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_4.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_5.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_6.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_7.list | 4 ++-- .../transfer_rdhpcs_gdas_enkf_enkf_8.list | 4 ++-- parm/transfer/transfer_rdhpcs_gfs.list | 2 +- parm/transfer/transfer_rdhpcs_gfs_nawips.list | 2 +- 51 files changed, 106 insertions(+), 140 deletions(-) diff --git a/parm/transfer/transfer_gdas_1a.list b/parm/transfer/transfer_gdas_1a.list index 01e67f6dd0..00c5306f3b 100644 --- a/parm/transfer/transfer_gdas_1a.list +++ b/parm/transfer/transfer_gdas_1a.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/*atmf000* @@ -39,7 +39,7 @@ com/gfs/_ENVIR_/gdas._PDY_/ B 100 -com/gfs/_ENVIR_/gdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/*atmf000* diff --git a/parm/transfer/transfer_gdas_1b.list b/parm/transfer/transfer_gdas_1b.list index ef4829740b..998c71d843 100644 --- a/parm/transfer/transfer_gdas_1b.list +++ b/parm/transfer/transfer_gdas_1b.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/*atmf007* @@ -37,7 +37,7 @@ com/gfs/_ENVIR_/gdas._PDY_/ B 100 -com/gfs/_ENVIR_/gdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/*atmf007* diff --git a/parm/transfer/transfer_gdas_1c.list b/parm/transfer/transfer_gdas_1c.list index 7c8ff99481..42b1bd4f64 100644 --- a/parm/transfer/transfer_gdas_1c.list +++ b/parm/transfer/transfer_gdas_1c.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDY_/ - /??/atmos/*atmf000* - /??/atmos/*atmf001* - /??/atmos/*atmf002* @@ -44,7 +44,7 @@ com/gfs/_ENVIR_/gdas._PDY_/ B 100 -com/gfs/_ENVIR_/gdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDYm1_/ - /??/atmos/*atmf000* - /??/atmos/*atmf001* - /??/atmos/*atmf002* diff --git a/parm/transfer/transfer_gdas_enkf_enkf_05.list b/parm/transfer/transfer_gdas_enkf_enkf_05.list index 518636342c..fe1be06e8c 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_05.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_05.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem001/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem001/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_10.list b/parm/transfer/transfer_gdas_enkf_enkf_10.list index db2b5c2568..b2298be8af 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_10.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_10.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem006/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem006/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_15.list b/parm/transfer/transfer_gdas_enkf_enkf_15.list index 30e10b51cc..435de61bba 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_15.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_15.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem011/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem011/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_20.list b/parm/transfer/transfer_gdas_enkf_enkf_20.list index 493bb2cc52..e329d227bd 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_20.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_20.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem016/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem016/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_25.list b/parm/transfer/transfer_gdas_enkf_enkf_25.list index 8e91b1af34..fb6d964369 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_25.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_25.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem021/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem021/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_30.list b/parm/transfer/transfer_gdas_enkf_enkf_30.list index d29b79e871..bce22494a4 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_30.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_30.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem026/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem026/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_35.list b/parm/transfer/transfer_gdas_enkf_enkf_35.list index 60e69aaeb6..6397c6693e 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_35.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_35.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem031/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem031/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_40.list b/parm/transfer/transfer_gdas_enkf_enkf_40.list index 1ce4d8e3d9..d8a85e529c 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_40.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_40.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem036/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem036/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_45.list b/parm/transfer/transfer_gdas_enkf_enkf_45.list index 50b2c35d6f..fd8b1d5299 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_45.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_45.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem041/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem041/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_50.list b/parm/transfer/transfer_gdas_enkf_enkf_50.list index 69a895bffb..dd7721505b 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_50.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_50.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem046/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem046/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_55.list b/parm/transfer/transfer_gdas_enkf_enkf_55.list index a1cbd458e7..4606feb727 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_55.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_55.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem051/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem051/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_60.list b/parm/transfer/transfer_gdas_enkf_enkf_60.list index 494b8003a3..e5764082dc 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_60.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_60.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem056/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem056/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_65.list b/parm/transfer/transfer_gdas_enkf_enkf_65.list index 63d5af0575..15e12a0660 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_65.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_65.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem061/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem061/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_70.list b/parm/transfer/transfer_gdas_enkf_enkf_70.list index b5d484407f..88accbffb9 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_70.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_70.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem066/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem066/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_75.list b/parm/transfer/transfer_gdas_enkf_enkf_75.list index f66df06e64..3db4f41a03 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_75.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_75.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem071/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem071/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_80.list b/parm/transfer/transfer_gdas_enkf_enkf_80.list index cbf1a8a9cd..58ca72515d 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_80.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_80.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/mem076/ @@ -42,8 +41,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/mem076/ diff --git a/parm/transfer/transfer_gdas_enkf_enkf_misc.list b/parm/transfer/transfer_gdas_enkf_enkf_misc.list index 14d052889e..141b4af1da 100644 --- a/parm/transfer/transfer_gdas_enkf_enkf_misc.list +++ b/parm/transfer/transfer_gdas_enkf_enkf_misc.list @@ -24,8 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -#com/gfs/_ENVIR_/enkfgdas._PDY_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/* @@ -33,8 +32,7 @@ B 100 -#com/gfs/_ENVIR_/enkfgdas._PDYm1_/ -/gpfs/dell1/nco/ops/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/* diff --git a/parm/transfer/transfer_gdas_misc.list b/parm/transfer/transfer_gdas_misc.list index 6687262a45..3d7fe47a88 100644 --- a/parm/transfer/transfer_gdas_misc.list +++ b/parm/transfer/transfer_gdas_misc.list @@ -30,30 +30,30 @@ #B 4500000 -com/gfs/_ENVIR_/syndat/ +_COMROOT_/gfs/_SHORTVER_/syndat/ B 180 -com/gfs/_ENVIR_/gdascounts/ +_COMROOT_/gfs/_SHORTVER_/gdascounts/ + /data_counts._MONPREV_/*** - * B 16000000 -com/gfs/_ENVIR_/gdascounts/ +_COMROOT_/gfs/_SHORTVER_/gdascounts/ + /data_counts._MONCUR_/*** - * B 16000000 -com/gfs/_ENVIR_/gdascounts/ +_COMROOT_/gfs/_SHORTVER_/gdascounts/ + /satcounts._MONPREV_/*** - * B 16000000 -com/gfs/_ENVIR_/gdascounts/ +_COMROOT_/gfs/_SHORTVER_/gdascounts/ + /satcounts._MONCUR_/*** - * B 16000000 -com/gfs/_ENVIR_/sdm_rtdm/ +_COMROOT_/gfs/_SHORTVER_/sdm_rtdm/ + /obcount_30day/ + /obcount_30day/gdas/ + /obcount_30day/gdas/gdas._PDYm1_/*** @@ -61,14 +61,14 @@ com/gfs/_ENVIR_/sdm_rtdm/ - * B 2000000 -com/gfs/_ENVIR_/sdm_rtdm/ +_COMROOT_/gfs/_SHORTVER_/sdm_rtdm/ + /avgdata/ + /avgdata/obcount_30davg.gdas._MONPREV_ + /avgdata/obcount_30davg.gdas.current - * B 256000 -com/gfs/_ENVIR_/gdascounts/ +_COMROOT_/gfs/_SHORTVER_/gdascounts/ + /index.shtml + /index_backup.shtml - * diff --git a/parm/transfer/transfer_gfs_1.list b/parm/transfer/transfer_gfs_1.list index ce70343214..84e852ff82 100644 --- a/parm/transfer/transfer_gfs_1.list +++ b/parm/transfer/transfer_gfs_1.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ - /??/atmos/gfs.t??z.atmf???.nc @@ -36,7 +36,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ - /??/wave/* B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ - /??/atmos/gfs.t??z.atmf???.nc diff --git a/parm/transfer/transfer_gfs_10a.list b/parm/transfer/transfer_gfs_10a.list index a938573073..3beb6d15fd 100644 --- a/parm/transfer/transfer_gfs_10a.list +++ b/parm/transfer/transfer_gfs_10a.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.master.*1 @@ -35,7 +35,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ - * B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.master.*1 diff --git a/parm/transfer/transfer_gfs_10b.list b/parm/transfer/transfer_gfs_10b.list index 83467d6d25..34522d1e2f 100644 --- a/parm/transfer/transfer_gfs_10b.list +++ b/parm/transfer/transfer_gfs_10b.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.master.*0 @@ -35,7 +35,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ - * B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.master.*0 diff --git a/parm/transfer/transfer_gfs_2.list b/parm/transfer/transfer_gfs_2.list index 373ebfae05..f0ea9bc9c5 100644 --- a/parm/transfer/transfer_gfs_2.list +++ b/parm/transfer/transfer_gfs_2.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf000.nc @@ -61,7 +61,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf000.nc diff --git a/parm/transfer/transfer_gfs_3.list b/parm/transfer/transfer_gfs_3.list index a5218e198a..636077381e 100644 --- a/parm/transfer/transfer_gfs_3.list +++ b/parm/transfer/transfer_gfs_3.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf001.nc @@ -61,7 +61,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf001.nc diff --git a/parm/transfer/transfer_gfs_4.list b/parm/transfer/transfer_gfs_4.list index 37acec25ab..b45e4027ff 100644 --- a/parm/transfer/transfer_gfs_4.list +++ b/parm/transfer/transfer_gfs_4.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf002.nc @@ -61,7 +61,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf002.nc diff --git a/parm/transfer/transfer_gfs_5.list b/parm/transfer/transfer_gfs_5.list index 01e01c2447..21f59df4f8 100644 --- a/parm/transfer/transfer_gfs_5.list +++ b/parm/transfer/transfer_gfs_5.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf003.nc @@ -61,7 +61,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf003.nc diff --git a/parm/transfer/transfer_gfs_6.list b/parm/transfer/transfer_gfs_6.list index de661359f7..5e90f975fc 100644 --- a/parm/transfer/transfer_gfs_6.list +++ b/parm/transfer/transfer_gfs_6.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf004.nc @@ -61,7 +61,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf004.nc diff --git a/parm/transfer/transfer_gfs_7.list b/parm/transfer/transfer_gfs_7.list index 841d671944..e3b8dad532 100644 --- a/parm/transfer/transfer_gfs_7.list +++ b/parm/transfer/transfer_gfs_7.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf005.nc @@ -61,7 +61,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf005.nc diff --git a/parm/transfer/transfer_gfs_8.list b/parm/transfer/transfer_gfs_8.list index 744ef24e70..df146fd207 100644 --- a/parm/transfer/transfer_gfs_8.list +++ b/parm/transfer/transfer_gfs_8.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf006.nc @@ -60,7 +60,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.atmf006.nc diff --git a/parm/transfer/transfer_gfs_9a.list b/parm/transfer/transfer_gfs_9a.list index 2f3c34aaaa..44d316c81e 100644 --- a/parm/transfer/transfer_gfs_9a.list +++ b/parm/transfer/transfer_gfs_9a.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.sfcf??0.nc @@ -36,7 +36,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.sfcf??0.nc diff --git a/parm/transfer/transfer_gfs_9b.list b/parm/transfer/transfer_gfs_9b.list index fd87ee88d4..b2571dfb7c 100644 --- a/parm/transfer/transfer_gfs_9b.list +++ b/parm/transfer/transfer_gfs_9b.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.sfcf??1.nc @@ -36,7 +36,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.sfcf??1.nc diff --git a/parm/transfer/transfer_gfs_gempak.list b/parm/transfer/transfer_gfs_gempak.list index 1db0755a47..e491821d69 100644 --- a/parm/transfer/transfer_gfs_gempak.list +++ b/parm/transfer/transfer_gfs_gempak.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gempak/ @@ -33,7 +33,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gempak/ diff --git a/parm/transfer/transfer_gfs_misc.list b/parm/transfer/transfer_gfs_misc.list index e8448e59cc..32f002d1e7 100644 --- a/parm/transfer/transfer_gfs_misc.list +++ b/parm/transfer/transfer_gfs_misc.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/sdm_rtdm/ +_COMROOT_/gfs/_SHORTVER_/sdm_rtdm/ + /avgdata/ + /avgdata/obcount_30davg.gfs._MONPREV_ + /avgdata/obcount_30davg.gfs.current @@ -32,7 +32,7 @@ com/gfs/_ENVIR_/sdm_rtdm/ B 256000 -com/gfs/_ENVIR_/sdm_rtdm/ +_COMROOT_/gfs/_SHORTVER_/sdm_rtdm/ + /obcount_30day/ + /obcount_30day/gfs/ + /obcount_30day/gfs/gfs._PDYm1_/*** diff --git a/parm/transfer/transfer_gfs_wave_restart1.list b/parm/transfer/transfer_gfs_wave_restart1.list index 7a669f9cc6..cdac47428a 100644 --- a/parm/transfer/transfer_gfs_wave_restart1.list +++ b/parm/transfer/transfer_gfs_wave_restart1.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/wave/ + /??/wave/restart/ @@ -32,7 +32,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ - * B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/wave/ + /??/wave/restart/ diff --git a/parm/transfer/transfer_gfs_wave_restart2.list b/parm/transfer/transfer_gfs_wave_restart2.list index 1f789855a8..6f4eb289af 100644 --- a/parm/transfer/transfer_gfs_wave_restart2.list +++ b/parm/transfer/transfer_gfs_wave_restart2.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/wave/ + /??/wave/restart/ @@ -32,7 +32,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ - * B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/wave/ + /??/wave/restart/ diff --git a/parm/transfer/transfer_gfs_wave_restart3.list b/parm/transfer/transfer_gfs_wave_restart3.list index e5e7b2abd7..c8005e53eb 100644 --- a/parm/transfer/transfer_gfs_wave_restart3.list +++ b/parm/transfer/transfer_gfs_wave_restart3.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/wave/ + /??/wave/restart/ @@ -32,7 +32,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ - * B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/wave/ + /??/wave/restart/ diff --git a/parm/transfer/transfer_gfs_wave_rundata.list b/parm/transfer/transfer_gfs_wave_rundata.list index d7f977f76d..dfacfe48f7 100644 --- a/parm/transfer/transfer_gfs_wave_rundata.list +++ b/parm/transfer/transfer_gfs_wave_rundata.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/wave/ + /??/wave/rundata/ @@ -33,7 +33,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/wave/ + /??/wave/rundata/ diff --git a/parm/transfer/transfer_gfs_wave_wave.list b/parm/transfer/transfer_gfs_wave_wave.list index 4628d02547..03cf074797 100644 --- a/parm/transfer/transfer_gfs_wave_wave.list +++ b/parm/transfer/transfer_gfs_wave_wave.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # tranatmferred. -com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/wave/ + /??/wave/gridded/ @@ -36,7 +36,7 @@ com/gfs/_ENVIR_/gfs._PDY_/ - * B 100 -com/gfs/_ENVIR_/gfs._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDYm1_/ + /??/ + /??/wave/ + /??/wave/gridded/ diff --git a/parm/transfer/transfer_rdhpcs_gdas.list b/parm/transfer/transfer_rdhpcs_gdas.list index e3811d3aa6..a154b022ed 100644 --- a/parm/transfer/transfer_rdhpcs_gdas.list +++ b/parm/transfer/transfer_rdhpcs_gdas.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # transferred. -com/gfs/_ENVIR_/gdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/gdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/gdas._PDYm1_/ + /??/ + /??/atmos/ + /??/atmos/gdas.t??z*tcvitals* @@ -45,7 +45,7 @@ com/gfs/_ENVIR_/gdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/gdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/gdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/gdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/gdas._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gdas.t??z*tcvitals* diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_1.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_1.list index f924cbd377..aae14dc120 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_1.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_1.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /00/ + /00/atmos/ + /00/atmos/mem???/ @@ -37,7 +37,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /00/ + /00/atmos/ + /00/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_2.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_2.list index f7b2f03f9e..1cf3b8f5e4 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_2.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_2.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /06/ + /06/atmos/ + /06/atmos/mem???/ @@ -37,7 +37,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /06/ + /06/atmos/ + /06/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_3.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_3.list index f51726923b..ee0dae4c34 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_3.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_3.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /12/ + /12/atmos/ + /12/atmos/mem???/ @@ -37,7 +37,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /12/ + /12/atmos/ + /12/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_4.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_4.list index 85c541beb8..29f1a601d1 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_4.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_4.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /18/ + /18/atmos/ + /18/atmos/mem???/ @@ -37,7 +37,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /18/ + /18/atmos/ + /18/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_5.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_5.list index 44bf0f4662..7d1dd9ff6a 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_5.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_5.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /00/ + /00/atmos/ + /00/atmos/mem???/ @@ -38,7 +38,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /00/ + /00/atmos/ + /00/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_6.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_6.list index 3af2fbae4d..124dbe3aad 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_6.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_6.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /06/ + /06/atmos/ + /06/atmos/mem???/ @@ -38,7 +38,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /06/ + /06/atmos/ + /06/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_7.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_7.list index 9a86b20c42..58ff55b5d6 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_7.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_7.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /12/ + /12/atmos/ + /12/atmos/mem???/ @@ -38,7 +38,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /12/ + /12/atmos/ + /12/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_8.list b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_8.list index 747be01fcd..99d3de2843 100644 --- a/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_8.list +++ b/parm/transfer/transfer_rdhpcs_gdas_enkf_enkf_8.list @@ -27,7 +27,7 @@ # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ + /18/ + /18/atmos/ + /18/atmos/mem???/ @@ -38,7 +38,7 @@ com/gfs/_ENVIR_/enkfgdas._PDYm1_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDYm1_/ E # This directory is a good candidate for compression #Z -com/gfs/_ENVIR_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ +_COMROOT_/gfs/_SHORTVER_/enkfgdas._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/enkfgdas._PDY_/ + /18/ + /18/atmos/ + /18/atmos/mem???/ diff --git a/parm/transfer/transfer_rdhpcs_gfs.list b/parm/transfer/transfer_rdhpcs_gfs.list index 34e006e179..78eedd1f24 100644 --- a/parm/transfer/transfer_rdhpcs_gfs.list +++ b/parm/transfer/transfer_rdhpcs_gfs.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # transferred. -com/gfs/_ENVIR_/gfs._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ _REMOTEPATH_/com/gfs/_ENVIR_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gfs.t??z.*bufr* diff --git a/parm/transfer/transfer_rdhpcs_gfs_nawips.list b/parm/transfer/transfer_rdhpcs_gfs_nawips.list index 02d80bac9f..3465d3c360 100644 --- a/parm/transfer/transfer_rdhpcs_gfs_nawips.list +++ b/parm/transfer/transfer_rdhpcs_gfs_nawips.list @@ -24,7 +24,7 @@ # directory are included, so if no exclude patterns match that file, it will be # transferred. -com/gfs/_ENVIR_/gfs._PDY_/ _REMOTEPATH_/com/nawips/_ENVIR_/gfs._PDY_/ +_COMROOT_/gfs/_SHORTVER_/gfs._PDY_/ _REMOTEPATH_/_ENVIR_/com/gfs/_SHORTVER_/gfs._PDY_/ + /??/ + /??/atmos/ + /??/atmos/gempak/ From a6b63d9b3d6a9f80258880bf3f054b174a4ebca1 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Tue, 19 Jul 2022 20:20:07 +0000 Subject: [PATCH 07/78] Add GFSv16.1 and GFSv16.2 release notes - Add release notes for GFSv16.1 and GFSv16.2 versions that were added into the operations branch but not yet in the develop branch. Refs: #419 --- docs/Release_Notes.gfs.v16.1.4.txt | 160 ++++++++++++ docs/Release_Notes.gfs.v16.1.5.txt | 118 +++++++++ docs/Release_Notes.gfs.v16.1.6.txt | 147 +++++++++++ docs/Release_Notes.gfs.v16.1.7.txt | 121 +++++++++ docs/Release_Notes.gfs.v16.1.8.txt | 128 +++++++++ docs/Release_Notes.gfs.v16.2.0.md | 399 +++++++++++++++++++++++++++++ docs/Release_Notes.gfs.v16.2.1.md | 129 ++++++++++ 7 files changed, 1202 insertions(+) create mode 100644 docs/Release_Notes.gfs.v16.1.4.txt create mode 100644 docs/Release_Notes.gfs.v16.1.5.txt create mode 100644 docs/Release_Notes.gfs.v16.1.6.txt create mode 100644 docs/Release_Notes.gfs.v16.1.7.txt create mode 100644 docs/Release_Notes.gfs.v16.1.8.txt create mode 100644 docs/Release_Notes.gfs.v16.2.0.md create mode 100644 docs/Release_Notes.gfs.v16.2.1.md diff --git a/docs/Release_Notes.gfs.v16.1.4.txt b/docs/Release_Notes.gfs.v16.1.4.txt new file mode 100644 index 0000000000..5cc9b6bbd7 --- /dev/null +++ b/docs/Release_Notes.gfs.v16.1.4.txt @@ -0,0 +1,160 @@ +GFS V16.1.4 RELEASE NOTES + + +PRELUDE + + NOAA awarded Delivery Order 3 (DO-3) of its commercial radio occultation + (RO) data purchase to Spire Global on August 12, 2021. This purchase + covers 3000 occultations per day over a six month period with the data + flow starting on September 16, 2021. On the same date, the GeoOptics + data from Delivery Order 2 (DO-2) will be discontinued. + + GNSSRO bending angle observations from GeoOptics and Spire were initially + evaluated as part of Delivery Order 1 (DO-1), covering a 30-day period + starting on December 15, 2020. The data from both vendors were found to + be of similar quality to other operationally assimilated RO data. Low + resolution experiments informed the configuration of the quality control + and observation errors for the following DO-2, which was awarded to + GeoOptics only, covering an average of 1300 occultations per day over a + six month period starting on March 17, 2021. These data began to be + assimilated operationally with the implementation of GFSv16.1.1 on + May 22, 2021 after two months of parallel testing at full resolution. + + Following the v16.1.1 implementation, the observation errors for + commercial RO were tuned to better utilize the new data. Additionally, + two fixes related to the handling of super-refractivity in the RO bending + angle observation operator were added. These fixes resolve minimization + issues that were related to the increased vertical resolution in v16. + Therefore, the stricter gross check quality control measures originally + put in place to mitigate minimization problems will now be relaxed. + + This implementation plans to: + * Turn off the active assimilation of GeoOptics data + * Turn on the active assimilation of Spire data + * Adjust the observation errors for the Spire data + * Address two issues within the RO bending angle observation operator + * Relax the strict gross check added because of those issues. + + These changes only affect two files within the GSI tag of the global workflow. + + In addition, a small bug fix is required to correct the ingest of new BUFR + observations from ships that was previously causing erroneous observations + to be assimilated. This alters one additional file in the GSI tag. + +IMPLEMENTATION INSTRUCTIONS + + The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com + are used to manage the GFS.v16.1.4 code. The SPA(s) handling the GFS.v16.1.4 + implementation need to have permissions to clone VLab gerrit repositories and + the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are + publicly readable and do not require access permissions. Please follow the + following steps to install the package on WCOSS-Dell: + + 1) cd $NWROOTp3 + + 2) mkdir gfs.v16.1.4 + + 3) cd gfs.v16.1.4 + + 4) git clone -b EMC-v16.1.4 https://github.com/NOAA-EMC/global-workflow.git . + + 5) cd sorc + + 6) ./checkout.sh -o + * This script extracts the following GFS components: + MODEL tag GFS.v16.0.16 Jun.Wang@noaa.gov + GSI tag gfsda.v16.1.4 Russ.Treadon@noaa.gov + GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov + UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov + POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov + WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov + + 7) ./build_all.sh + * This script compiles all GFS components. Runtime output from the build for + each package is written to log files in directory logs. To build an + individual program, for instance, gsi, use build_gsi.sh. + + 8) ./link_fv3gfs.sh nco dell + + +SORC CHANGES + +* sorc/ + * checkout.sh will checkout the following changed model tags: + * GSI; tag gfsda.v16.1.4 + * src/gsi/setupbend.f90: Add two fixes for handling of + super-refractivity layer, change the observation errors + of the commercial data, relax stricter gross check back to + original values + * src/read_nsstbufr.f90: Changes to handle NC001013, NC001101 + and NC001113 marine bufr subsets. + + +FIX CHANGES + +* fix/fix_gsi: + * global_convinfo.txt: Discontinue assimilating GeoOptics and + begin assimilating Spire, relax stricter gross check back to + original values. + * gfsv16_historical/: Add fix files for retrospective parallels. + Does not impact operations. + + +PARM/CONFIG CHANGES + +* parm/config/config.anal: Add historical fix file entries. Does + not impact operations. + + +JOBS CHANGES + +* No change from GFS v16.1.3 + + +SCRIPT CHANGES + +* No change from GFS v16.1.3 + + +CHANGES TO RESOURCES AND FILE SIZES + + There should be no change in analysis runtime nor cnvstat file size + greater than the normal cycle to cycle variation. + + +PRE-IMPLEMENTATION TESTING REQUIREMENTS + +* Which production jobs should be tested as part of this implementation? + * The entire GFS v16.1.4 package needs to be installed and tested. + +* Does this change require a 30-day evaluation? + * No. + + +DISSEMINATION INFORMATION + +* Where should this output be sent? + * No change from GFS v16.1.3 + +* Who are the users? + * No change from GFS v16.1.3 + +* Which output files should be transferred from PROD WCOSS to DEV WCOSS? + * No change from GFS v16.1.3 + +* Directory changes + * No change from GFS v16.1.3 + +* File changes + * No change from GFS v16.1.3 + + +HPSS ARCHIVE + +* No change from GFS v16.1.3 + + +JOB DEPENDENCIES AND FLOW DIAGRAM + +* No change from GFS v16.1.3 + diff --git a/docs/Release_Notes.gfs.v16.1.5.txt b/docs/Release_Notes.gfs.v16.1.5.txt new file mode 100644 index 0000000000..0a618367e9 --- /dev/null +++ b/docs/Release_Notes.gfs.v16.1.5.txt @@ -0,0 +1,118 @@ +GFS V16.1.5 RELEASE NOTES + +PRELUDE + +Metop-A, B and C all have similar orbits. Metop-C was launched on 7 November 2018 in a low-Earth polar orbit while Metop-A was launched in 2006. The Metop-A will be decommissioned in November 2021 and IASI_Metop-A data quality has degraded since September 17, so the assimilation of IASI_Metop-A was stopped on 9/22/2021 gfs.v16.1.3 implementation. The IASI_Metop-C data have similar quality as IASI_Metop-B. This implementation will start to assimilate IASI data on Metop-C. In addition, the correlated observation errors for hyperspectral Infrared instruments both IASI and CrIS were recomputed from recent operations, which should be a more accurate representation of the observation error statistics. Both low- and high-resolution parallel experiments show reasonable results as expected. + +In addition, a minimum value was set in gsi source code genqsat.f90 to limit the saturation specific humidity not smaller than 1.e-7, which is a risk mitigation feature and could avoid the potential risk of generating unphysical temperature in the analysis. + +This implementation plans to: + +* Turn on the active assimilation of Metop-C IASI data with correlated observation errors +* Update correlated observation errors for Metop-B IASI, N20 CrIS, and NPP CrIS +* Put in a minimum threshold for saturation specific humidity to avoid potential minimization issues. + +These changes affect one source code and several fix files within the GSI tag of the global workflow. + +Also bundled into this update are the new 2022 CO2 fix files (see files listed below) and a new FV3 model tag that adds traceback flags to compilation by default. The CO2 fix files will be included during the link setup step. Neither the CO2 fix file nor the FV3 tag updates impact model results. + +IMPLEMENTATION INSTRUCTIONS + +The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com are used to manage the GFS.v16.1.5 code. The SPA(s) handling the GFS.v16.1.5 implementation need to have permissions to clone VLab gerrit repositories and the private NCAR UPP_GTG repository (the nwprod account has access to the GTG repository). All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please follow the following steps to install the package on WCOSS-Dell. + +While logged in under the nwprod account: + +1) cd $NWROOTp3 +2) mkdir gfs.v16.1.5 +3) cd gfs.v16.1.5 +4) git clone -b EMC-v16.1.5 https://github.com/NOAA-EMC/global-workflow.git . +5) cd sorc +6) ./checkout.sh -o + * This script extracts the following GFS components: + MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov + GSI tag gfsda.v16.1.5 Russ.Treadon@noaa.gov + GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov + UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov + POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov + WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov + +7) ./build_all.sh + * This script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use build_gsi.sh. +8) ./link_fv3gfs.sh nco dell + +SORC CHANGES + +* checkout.sh will checkout the following changed model tags: + * MODEL tag GFS.v16.0.17 + * conf/configure.fv3.wcoss_dell_p3 and other platform configure.fv3 files: add “-g -traceback” to FFLAGS_OPT, CFLAGS_OPT, and CFLAGS_REPRO compilation settings + * GSI tag gfsda.v16.1.5 + * src/gsi/genqsat.f90: add a lower bound of qsat to avoid unphysical saturation specific humidity to be generated. + +FIX CHANGES + +* fix/fix_gsi: + * new files: + * Rcov_iasicsea + * Rcov_iasicland + * modified files: + * global_satinfo.txt: Turn on assimilating Metop-C IASI data and stop monitoring CrIS_NPP MW channels (iuse changed from -1 to -2) + * global_anavinfo.l127.txt: Add correlated observation errors for Metop-C IASI data and remove correlated observation errors for Metop-A IASI + * Rcov_iasibsea: recomputed from recent operations + * Rcov_iasibland: recomputed from recent operations + * Rcov_crisn20: recomputed from recent operations + * Rcov_crisnpp: updated and the MW channels are deleted from Rcov + * gfsv16_historical/: Add fix files for retrospective parallels. Does not impact operations. +* fix_am/co2dat_4a: + * global_co2historicaldata_2020.txt + * global_co2historicaldata_2021.txt_proj_u + * global_co2historicaldata_2022.txt_proj +* fix_am/fix_co2_proj: + * global_co2historicaldata_2022.txt +* fix_am/fix_co2_update: + * global_co2historicaldata_2021.txt + +PARM/CONFIG CHANGES + +* config.anal + * update global_convinfo.txt notes and global_satinfo.txt if-blocks for retrospective dates; no operational impact + +JOBS CHANGES + +* No change from GFS v16.1.4 + +SCRIPT CHANGES + +* No change from GFS v16.1.4 + +CHANGES TO RESOURCES AND FILE SIZES + +* There should be no change in analysis runtime nor radstat file size greater than the normal cycle to cycle variation. + +PRE-IMPLEMENTATION TESTING REQUIREMENTS + +* Which production jobs should be tested as part of this implementation? + * The entire GFS v16.1.5 package needs to be installed and tested. +* Does this change require a 30-day evaluation? + * No. + +DISSEMINATION INFORMATION + +* Where should this output be sent? + * No change from GFS v16.1.4 +* Who are the users? + * No change from GFS v16.1.4 +* Which output files should be transferred from PROD WCOSS to DEV WCOSS? + * No change from GFS v16.1.4 +* Directory changes + * No change from GFS v16.1.4 +* File changes + * No change from GFS v16.1.4 + +HPSS ARCHIVE + +* No change from GFS v16.1.4 + +JOB DEPENDENCIES AND FLOW DIAGRAM + +* No change from GFS v16.1.4 + diff --git a/docs/Release_Notes.gfs.v16.1.6.txt b/docs/Release_Notes.gfs.v16.1.6.txt new file mode 100644 index 0000000000..040a2028b0 --- /dev/null +++ b/docs/Release_Notes.gfs.v16.1.6.txt @@ -0,0 +1,147 @@ +GFS V16.1.6 RELEASE NOTES + + +PRELUDE + + NOAA awarded Delivery Order 4 (DO-4) of its commercial radio occultation (RO) + data purchase to both Spire Global and GeoOptics on February 10, 2022. This + purchase covers 5500 occultations per day from Spire and 500 occultations per + day from GeoOptics over a 10 month period with the data flow starting on + March 16, 2022. + + Both GeoOptics and Spire have been assimilated in operations as part of + previous delivery orders. DO-1 was awarded to both vendors, but was used + for evaluation purposes only and not assimilated operationally. DO-2 was + awarded to GeoOptics and subsequently assimilated in the operational GFS/GDAS + as v16.1. DO-3 was then awarded to Spire only. The v16.1.4 implementation + turned on the assimilation of Spire data as well as turned off the assimilation + of GeoOptics. + + If no changes are made to operations, we will assimilate the Spire portion of + the purchase, but would not assimilate the new GeoOptics data. In order to + assimilate data from both vendors, a single line change in the global_convinfo.txt + fix file is required. There are no other changes planned for this implementation. + Once data flow begins on March 16th, a one-week evaluation of the new GeoOptics + observations is needed before implementation. + + In addition to DO-4, a small change is needed to accompany a change in the + observation processing. Winds "NeXRaD VAD WINDS FROM LEVEL 2 DECODER" + (tank b002/xx017) will soon be included in the global observation processing. + Since these observations have not yet been evaluated in the GFS, this observation + type (uv 224) will be set to monitor mode. This requires a single line change + in the global_convinfo.txt file. + + +IMPLEMENTATION INSTRUCTIONS + + The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com + are used to manage the GFS.v16.1.6 code. The SPA(s) handling the GFS.v16.1.6 + implementation need to have permissions to clone VLab gerrit repositories and + the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are + publicly readable and do not require access permissions. Please follow the + following steps to install the package on WCOSS-Dell: + + 1) cd $NWROOTp3 + + 2) mkdir gfs.v16.1.6 + + 3) cd gfs.v16.1.6 + + 4) git clone -b EMC-v16.1.6.2 https://github.com/NOAA-EMC/global-workflow.git . + + 5) cd sorc + + 6) ./checkout.sh -o + * This script extracts the following GFS components: + MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov + GSI tag gfsda.v16.1.6 Catherine.Thomas@noaa.gov + GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov + UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov + POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov + WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov + + 7) ./build_all.sh + * This script compiles all GFS components. Runtime output from the build for + each package is written to log files in directory logs. To build an + individual program, for instance, gsi, use build_gsi.sh. + + 8) ./link_fv3gfs.sh nco dell + + +SORC CHANGES + +* sorc/ + * checkout.sh will checkout the following changed model tags: + * GSI; tag gfsda.v16.1.6 + * No changes to the source code. + + +FIX CHANGES + +* fix/fix_gsi: + * global_convinfo.txt: Turn on active assimilation of GeoOptics and + turn off active assimilation of uv 224 VADWND. + * gfsv16_historical/global_convinfo.txt.2022031612: Add dated + convinfo file for retrospective parallels. Does not impact operations. + * gfsv16_historical/0readme: Update documentation. Does not + impact operations. + + +PARM/CONFIG CHANGES + +* parm/config/config.anal: Add historical fix file entry. Does + not impact operations. + + +JOBS CHANGES + +* No change from GFS v16.1.5 + + +SCRIPT CHANGES + +* No change from GFS v16.1.5 + + +CHANGES TO RESOURCES AND FILE SIZES + + There should be no change in analysis runtime nor cnvstat file size + greater than the normal cycle to cycle variation. + + +PRE-IMPLEMENTATION TESTING REQUIREMENTS + +* Which production jobs should be tested as part of this implementation? + * The entire GFS v16.1.6 package needs to be installed and tested. + +* Does this change require a 30-day evaluation? + * No. + + +DISSEMINATION INFORMATION + +* Where should this output be sent? + * No change from GFS v16.1.5 + +* Who are the users? + * No change from GFS v16.1.5 + +* Which output files should be transferred from PROD WCOSS to DEV WCOSS? + * No change from GFS v16.1.5 + +* Directory changes + * No change from GFS v16.1.5 + +* File changes + * No change from GFS v16.1.5 + + +HPSS ARCHIVE + +* No change from GFS v16.1.5 + + +JOB DEPENDENCIES AND FLOW DIAGRAM + +* No change from GFS v16.1.5 + diff --git a/docs/Release_Notes.gfs.v16.1.7.txt b/docs/Release_Notes.gfs.v16.1.7.txt new file mode 100644 index 0000000000..e1b925c433 --- /dev/null +++ b/docs/Release_Notes.gfs.v16.1.7.txt @@ -0,0 +1,121 @@ +GFS V16.1.7 RELEASE NOTES + + +PRELUDE + + Two updates in GFS v16.1.7 release: + 1) Tropical storm names are updated for 2022 hurricane season following WMO storm name + changes for each tropical cyclone basins. + 2) JTWC changed the format of the TCvital information, and the code + sorc/syndat_getjtbul.fd/getjtbul.f + need to be updated in order to decode correctly the JTWC TCvital information + + +IMPLEMENTATION INSTRUCTIONS + + The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com + are used to manage the GFS.v16.1.7 code. The SPA(s) handling the GFS.v16.1.7 + implementation need to have permissions to clone VLab gerrit repositories and + the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are + publicly readable and do not require access permissions. Please follow the + following steps to install the package on WCOSS-Dell: + + 1) cd $NWROOTp3 + + 2) mkdir gfs.v16.1.7 + + 3) cd gfs.v16.1.7 + + 4) git clone -b EMC-v16.1.7 https://github.com/NOAA-EMC/global-workflow.git . + + 5) cd sorc + + 6) ./checkout.sh -o + * This script extracts the following GFS components: + MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov + GSI tag gfsda.v16.1.6 Catherine.Thomas@noaa.gov + GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov + UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov + POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov + WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov + + 7) ./build_all.sh + * This script compiles all GFS components. Runtime output from the build for + each package is written to log files in directory logs. To build an + individual program, for instance, gsi, use build_gsi.sh. + + 8) ./link_fv3gfs.sh nco dell + + +SORC CHANGES + +* sorc/ + * checkout.sh will checkout the following code changes: + * sorc/syndat_getjtbul.fd/getjtbul.fi: + JTWC changed the TCvitals data format (new data contains Tab and Return-Key). + The code update can decode the new JTWC data correctly + * No changes to other source code. + + +FIX CHANGES + +* fix/fix_am: + * fix_am/syndat_stmnames: update tropical storm names for 2022 hurricane season. + + +PARM/CONFIG CHANGES + +* No changes from GFS v16.1.6 + + +JOBS CHANGES + +* No change from GFS v16.1.6 + + +SCRIPT CHANGES + +* No change from GFS v16.1.6 + + +CHANGES TO RESOURCES AND FILE SIZES + +* No change from GFS v16.1.6 + + +PRE-IMPLEMENTATION TESTING REQUIREMENTS + +* Which production jobs should be tested as part of this implementation? + * job JGLOBAL_ATMOS_TROPCY_QC_RELOC should be tested. + +* Does this change require a 30-day evaluation? + * No. + + +DISSEMINATION INFORMATION + +* Where should this output be sent? + * No change from GFS v16.1.6 + +* Who are the users? + * No change from GFS v16.1.6 + +* Which output files should be transferred from PROD WCOSS to DEV WCOSS? + * No change from GFS v16.1.6 + +* Directory changes + * No change from GFS v16.1.6 + +* File changes + * No change from GFS v16.1.6 + + +HPSS ARCHIVE + +* No change from GFS v16.1.6 + + +JOB DEPENDENCIES AND FLOW DIAGRAM + +* No change from GFS v16.1.6 + diff --git a/docs/Release_Notes.gfs.v16.1.8.txt b/docs/Release_Notes.gfs.v16.1.8.txt new file mode 100644 index 0000000000..1a01576623 --- /dev/null +++ b/docs/Release_Notes.gfs.v16.1.8.txt @@ -0,0 +1,128 @@ +GFS V16.1.8 RELEASE NOTES + +PRELUDE + +Meteosat-9 replaces Meteosat-8 as the operational geostationary platform over the Indian Ocean on 20220601. To maintain continuity of operations, the /fix/fix_gsi/global_convinfo.txt file needs to be modified before this date (as soon as possible is preferable) + +IMPLEMENTATION INSTRUCTIONS + + The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com + are used to manage the GFS.v16.1.8 code. The SPA(s) handling the GFS.v16.1.8 + implementation need to have permissions to clone VLab gerrit repositories and + the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are + publicly readable and do not require access permissions. Please follow the + following steps to install the package on WCOSS-Dell: + + 1) cd $NWROOTp3 + + 2) mkdir gfs.v16.1.8 + + 3) cd gfs.v16.1.8 + + 4) git clone -b EMC-v16.1.8 https://github.com/NOAA-EMC/global-workflow.git . + + 5) cd sorc + + 6) ./checkout.sh -o + * This script extracts the following GFS components: + MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov + GSI tag gfsda.v16.1.8 Catherine.Thomas@noaa.gov + GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov + UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov + POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov + WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov + + 7) ./build_all.sh + * This script compiles all GFS components. Runtime output from the build for + each package is written to log files in directory logs. To build an + individual program, for instance, gsi, use build_gsi.sh. + + 8) ./link_fv3gfs.sh nco dell + +SORC CHANGES + +* No changes from GFS v16.1.7 + + +FIX CHANGES + +* fix/fix_gsi/ + *fix/fix_gsi/global_convinfo.txt: Turn on uv satid 56 (three character change) + +PARM/CONFIG CHANGES + +* No changes from GFS v16.1.7 + + +JOBS CHANGES + +* No change from GFS v16.1.7 + + +SCRIPT CHANGES + +* No change from GFS v16.1.7 + + +CHANGES TO RESOURCES AND FILE SIZES + +* No change from GFS v16.1.7 + + +PRE-IMPLEMENTATION TESTING REQUIREMENTS + +* Which production jobs should be tested as part of this implementation? + * jobs jgdas_atmos_analysis and jgfs_atmos_analysis should be tested. Prior to 20220601, results should be identical. + +* Does this change require a 30-day evaluation? + * No. + +DISSEMINATION INFORMATION + +* Where should this output be sent? + * No change from GFS v16.1.7 + +* Who are the users? + * No change from GFS v16.1.7 + +* Which output files should be transferred from PROD WCOSS to DEV WCOSS? + * No change from GFS v16.1.7 + +* Directory changes + * No change from GFS v16.1.7 + +* File changes + * No change from GFS v16.1.7 + + +HPSS ARCHIVE + +* No change from GFS v16.1.7 + + +JOB DEPENDENCIES AND FLOW DIAGRAM + +* No change from GFS v16.1.7 + + +Temporary Location of Changed Files on disk. + +On WCOSS: +Replace: + /gpfs/dell1/nco/ops/nwprod/gfs.v16.1.7/fix/fix_gsi/global_convinfo.txt +and +/gpfs/dell1/nco/ops/nwprod/gfs.v16.1.7/sorc/gsi.fd/fix/global_convinfo.txt +(the above two files should be identical) +with: +/gpfs/dell2/emc/modeling/save/Andrew.Collard/Meteosat9/global_convinfo.txt.gfs.v16.1.8 +(updating version numbers as appropriate) + +On WCOSS2: +Replace: +/lfs/h1/ops/prod/packages/gfs.v16.2.0/fix/fix_gsi/global_convinfo.txt +and +/lfs/h1/ops/prod/packages/gfs.v16.2.0/sorc/gsi.fd/fix/global_convinfo.txt +(the above two files should be identical) +with: +/u/Andrew.Collard/global_convinfo.txt.gfs.v16.2.1 +(updating version numbers as appropriate) diff --git a/docs/Release_Notes.gfs.v16.2.0.md b/docs/Release_Notes.gfs.v16.2.0.md new file mode 100644 index 0000000000..994282903e --- /dev/null +++ b/docs/Release_Notes.gfs.v16.2.0.md @@ -0,0 +1,399 @@ +GFS V16.2.0 RELEASE NOTES + +------- +PRELUDE +------- + +The GFSv16 is ported to the new WCOSS2 system (Cactus/Dogwood). + +IMPLEMENTATION INSTRUCTIONS +--------------------------- + +The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com are used to manage the GFS.v16.2.0 code. The SPA(s) handling the GFS.v16.2.0 implementation need to have permissions to clone VLab gerrit repositories and the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please follow the following steps to install the package on WCOSS2: + +```bash +cd $PACKAGEROOT +mkdir gfs.v16.2.0 +cd gfs.v16.2.0 +git clone -b EMC-v16.2.0.7 https://github.com/NOAA-EMC/global-workflow.git . +cd sorc +./checkout.sh -o +``` + +The checkout script extracts the following GFS components: + +| Component | Tag | POC | +| --------- | ----------- | ----------------- | +| MODEL | GFS.v16.2.0 | Jun.Wang@noaa.gov | +| GSI | gfsda.v16.2.0 | Russ.Treadon@noaa.gov | +| GLDAS | gldas_gfsv16_release.v.2.0.0 | Helin.Wei@noaa.gov | +| UFS_UTILS | ops-gfsv16.2.0 | George.Gayno@noaa.gov | +| POST | upp_v8.1.2 | Wen.Meng@noaa.gov | +| WAFS | gfs_wafs.v6.2.8 | Yali.Mao@noaa.gov | + +To build all the GFS components, execute: +```bash +./build_all.sh +``` +The `build_all.sh` script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use `build_gsi.sh`. + +Next, link the executables, fix files, parm files etc in their final respective locations by executing: +```bash +./link_fv3gfs.sh nco wcoss2 +``` + +Lastly, link the ecf scripts by moving back up to the ecf folder and executing: +```bash +cd ../ecf +./setup_ecf_links.sh +``` + +SORC CHANGES +------------ + +Necessary code changes for WCOSS2: + +* GSI: + * `src/gsi/ensctl2state.f90`: Nullify pointer declarations + * `src/gsi/ensctl2state_ad.f90`: Nullify pointer declarations + * `src/gsi/general_read_gfsatm.f90`: Bug fix to remove MPI rank issue that causes `global_gsi.x` to hang while using 1020 or more tasks. + * `src/gsi/read_obs.F90`: Remove verbose output causing a WARNING message to appear in the output. + * `src/enkf/mpi_readobs.f90`: Remove omp parallel, since they didn’t speed up the code and caused errors on WCOSS2. + +All components updated their codes to build on WCOSS2: + +* GLDAS + * `sorc/build_gdas2gldas.sh` + * `sorc/build_gldas2gdas.sh` + * `sorc/build_gldas_forcing.sh` + * `sorc/build_gldas_model.sh` + * `sorc/build_gldas_post.sh` + * `sorc/build_gldas_rst.sh` + * `sorc/gldas_model.fd/make/Makefile.noah` +* MODEL + * `conf/configure.fv3.wcoss2` - created +* GSI + * `ush/build_all_cmake.sh` +* POST + * `Externals.cfg` and `manage_externals` directory were removed - retire usage of `manage_externals`, use `git submodule` for GTG subcomponent now + * `sorc/build_ncep_post.sh` + * `sorc/ncep_post.fd/build_upp_lib.sh` + * `sorc/ncep_post.fd/makefile_lib` + * `sorc/ncep_post.fd/makefile_lib_wcoss2` + * `sorc/ncep_post.fd/makefile_module_wcoss2` +* UFS_UTILS + * `sorc/build_cycle.sh` + * `sorc/build_emcsfc.sh` + * `sorc/link_fixdirs.sh` + * `sorc/machine-setup.sh` + * `sorc/ufs_build.cfg` - disable chgres build +* WAFS + * `sorc/build_wafs.sh` +* Workflow - WCOSS2 and LUA module support changes throughout. Additional changes described below. + * `sorc/build_all.sh` + * `sorc/build_enkf_chgres_recenter.sh` + * `sorc/build_enkf_chgres_recenter_nc.sh` + * `sorc/build_fv3.sh` - add Orion support and consolidate compile commands + * `sorc/build_fv3nc2nemsio.sh` + * `sorc/build_gaussian_sfcanl.sh` + * `sorc/build_gfs_bufrsnd.sh` + * `sorc/build_gfs_fbwndgfs.sh` + * `sorc/build_regrid_nemsio.sh` + * `sorc/build_tropcy_NEMS.sh` - updated some library variable settings for hpc-stack + * `sorc/checkout.sh` - update component tags and adjust how GTG checkout occurs (Using `git submodules` now, no longer using `manage_externals`) + * `sorc/enkf_chgres_recenter_nc.fd/makefile` - hpc-stack library variable updates + * `sorc/fv3gfs_build.cfg` - remove duplicate gldas line + * `sorc/gaussian_sfcanl.fd/Makefile` - add CWD to line that needed it + * `sorc/gaussian_sfcanl.fd/makefile.sh` - hpc-stack library variable update + * `sorc/link_fv3gfs.sh` - add support for Orion, remove `global_chgres` exec link, add new emc/nco mode config check + * `sorc/machine-setup.sh` - add support for Orion, add `build.ver` sourcing + * `util/sorc/compile_gfs_util_wcoss.sh` + * `util/sorc/mkgfsawps.fd/makefile.wcoss2` - created + * `util/sorc/mkgfsawps.fd/compile_mkgfsawps_wcoss.sh` + * `util/sorc/overgridid.fd/compile_overgridid_wcoss.sh` + * `util/sorc/rdbfmsua.fd/makefile.wcoss2` - created + * `util/sorc/rdbfmsua.fd/compile_rdbfmsua_wcoss.sh` + * `util/sorc/webtitle.fd/compile_webtitle_wcoss.sh` + +FIX CHANGES +----------- + +* No changes from GFS v16.1.8 + +PARM/CONFIG CHANGES +------------------- + +* Workflow + * `env/WCOSS2.env` - created + * `parm/config/config.anal` - tiny whitespace cleanup + * `parm/config/config.base.emc.dyn` - a few QOL and Orion support updates for `dev`, also `jlogfile` removal, change `NWPROD` to `PACKAGEROOT` + * `parm/config/config.base.nco.static` - change default `machine` to `WCOSS2`, change `NWPROD` to `PACKAGEROOT` + * `parm/config/config.efcs` - update chunk settings for WCOSS2 + * `parm/config/config.fcst` - update chunk settings for WCOSS2 and set `io_layout="1,1"` when not C768 + * `parm/config/config.fv3.emc.dyn` - created to handle dev resource settings outside of ops for the FV3 dynamical core, link script picks when entered mode is “emc” + * `parm/config/config.fv3.nco.static` - formerly just `config.fv3`, contains resource settings for the FV3 in operations, link script picks when entered mode is “nco” + * `parm/config/config.gldas` - add needed `FINDDATE` setting + * `parm/config/config.prepbufr` - `GESROOT` for Orion + * `parm/config/config.resources.emc.dyn` - formerly known as `config.resources`, sets dev resource settings for running outside of ops, link script picks when entered mode is “emc” + * `parm/config/config.resources.nco.static` - created to handle ops resource settings, link script picks when entered mode is “nco” + * `parm/config/config.vrfy` - some dev updates + * `parm/config/config.wavepostbndpnt` - update to set `FHMAX_WAV_IBP=$FHMAX_GFS` when `$FHMAX_GFS < 180` + * `versions/build.ver` - created for WCOSS2 port + * `versions/run.ver` - created for WCOSS2 port + +JOBS CHANGES +------------ + +All job scripts listed here made the following changes: + +* Remove `postmsg`/`jlogfile` usage and references +* Add WCOSS2 checks where needed + +Other job script changes are noted under component bullets: + +* GLDAS + * `jobs/JGDAS_ATMOS_GLDAS` + * `ush/gldas_forcing.sh` - introduce `USE_CFP` and `cpc_precip` for EMC mode + * `ush/gldas_get_data.sh` +* GSI - The following job scripts were also updated to convert them from `ksh` to `bash`. A correction was also made to `JGDAS_ENKF_FCST` to fix `bash` treating `08` as an `octal`. + * `jobs/JGDAS_ATMOS_ANALYSIS_DIAG` + * `jobs/JGDAS_ATMOS_CHGRES_FORENKF` + * `jobs/JGDAS_ENKF_DIAG` + * `jobs/JGDAS_ENKF_ECEN` + * `jobs/JGDAS_ENKF_FCST` + * `jobs/JGDAS_ENKF_POST` + * `jobs/JGDAS_ENKF_SELECT_OBS` + * `jobs/JGDAS_ENKF_SFC` + * `jobs/JGDAS_ENKF_UPDATE` + * `jobs/JGLOBAL_ATMOS_ANALYSIS` + * `jobs/JGLOBAL_ATMOS_ANALYSIS_CALC` +* MODEL + * See main forecast job script (`JGLOBAL_FORECAST`) listed under workflow below +* POST + * `jobs/JGLOBAL_ATMOS_NCEPPOST` +* WAFS + * `jobs/JGFS_ATMOS_WAFS` + * `jobs/JGFS_ATMOS_WAFS_BLENDING` + * `jobs/JGFS_ATMOS_WAFS_BLENDING_0P25` + * `jobs/JGFS_ATMOS_WAFS_GCIP` + * `jobs/JGFS_ATMOS_WAFS_GRIB2` + * `jobs/JGFS_ATMOS_WAFS_GRIB2_0P25` +* Workflow + * `jobs/JGDAS_ATMOS_GEMPAK` + * `jobs/JGDAS_ATMOS_GEMPAK_META_NCDC` + * `jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG` + * `jobs/JGFS_ATMOS_AWIPS_G2` + * `jobs/JGFS_ATMOS_CYCLONE_GENESIS` + * `jobs/JGFS_ATMOS_CYCLONE_TRACKER` + * `jobs/JGFS_ATMOS_FBWIND` + * `jobs/JGFS_ATMOS_FSU_GENESIS` + * `jobs/JGFS_ATMOS_GEMPAK` + * `jobs/JGFS_ATMOS_GEMPAK_META` + * `jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF` + * `jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC` + * `jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS` + * `jobs/JGFS_ATMOS_POSTSND` + * `jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP` + * `jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC` + * `jobs/JGLOBAL_FORECAST` + * `jobs/JGLOBAL_WAVE_GEMPAK` + * `jobs/JGLOBAL_WAVE_INIT` + * `jobs/JGLOBAL_WAVE_POST_BNDPNT` + * `jobs/JGLOBAL_WAVE_POST_BNDPNTBLL` + * `jobs/JGLOBAL_WAVE_POST_PNT` + * `jobs/JGLOBAL_WAVE_POST_SBS` + * `jobs/JGLOBAL_WAVE_PRDGEN_BULLS` + * `jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED` + * `jobs/JGLOBAL_WAVE_PREP` + * `jobs/rocoto/awips.sh` + * `jobs/rocoto/gempak.sh` + * `jobs/rocoto/vrfy.sh` + * `jobs/rocoto/wafsgcip.sh` + * Remove duplicate rundir deletions: + * `jobs/rocoto/waveinit.sh` + * `jobs/rocoto/wavepostbndpnt.sh` + * `jobs/rocoto/wavepostbndpntbll.sh` + * `jobs/rocoto/wavepostpnt.sh` + * `jobs/rocoto/wavepostsbs.sh` + * `jobs/rocoto/waveprep.sh` + +SCRIPT CHANGES +-------------- + +The following scripts were updated for WCOSS2 (includes postmsg/jlogfile removal - other changes mentioned below): + +* GLDAS + * `scripts/exgdas_atmos_gldas.sh` - replace `WCOSS_DELL_P3` machine check with `$USE_CFP` for CFP usage +* GSI (shell scripts also converted from `ksh` to `bash`) + * `scripts/exgdas_atmos_chgres_forenkf.sh` + * `scripts/exgdas_enkf_ecen.sh` + * `scripts/exgdas_enkf_fcst.sh` + * `scripts/exgdas_enkf_post.sh` + * `scripts/exgdas_enkf_select_obs.sh` + * `scripts/exgdas_enkf_sfc.sh` + * `scripts/exgdas_enkf_update.sh` + * `scripts/exglobal_atmos_analysis.sh` - also refactor for loop limits in `GENDIAGS` block. + * `scripts/exglobal_atmos_analysis_calc.sh` + * `scripts/exglobal_diag.sh` + * `ush/calcanl_gfs.py` - add `mpiexec` launcher option +* MODEL + * See main forecast driver script (`exglobal_forecast.sh`) listed under workflow below +* POST + * `scripts/exgdas_atmos_nceppost.sh` + * `scripts/exgfs_atmos_nceppost.sh` + * `ush/fv3gfs_downstream_nems.sh` +* UFS_UTILS + * `scripts/exemcsfc_global_sfc_prep.sh` + * `ush/emcsfc_ice_blend.sh` + * `ush/emcsfc_snow.sh` +* WAFS + * `scripts/exgfs_atmos_wafs_blending.sh` + * `scripts/exgfs_atmos_wafs_blending_0p25.sh` + * `scripts/exgfs_atmos_wafs_gcip.sh` + * `scripts/exgfs_atmos_wafs_grib.sh` + * `scripts/exgfs_atmos_wafs_grib2.sh` + * `scripts/exgfs_atmos_wafs_grib2_0p25.sh` + * `ush/mkwfsgbl.sh` + * `ush/wafs_blending.sh` + * `ush/wafs_intdsk.sh` +* Workflow + * `driver/*` - Remove `jlogfile` references from driver scripts and add new wcoss2 driver scripts + * `gempak/ush/gempak_gdas_f000_gif.sh` + * `gempak/ush/gempak_gfs_f00_gif.sh` + * `gempak/ush/gempak_gfs_f12_gif.sh` + * `gempak/ush/gempak_gfs_f24_gif.sh` + * `gempak/ush/gempak_gfs_f36_gif.sh` + * `gempak/ush/gempak_gfs_f48_gif.sh` + * `ush/gfs_bufr.sh` + * `ush/gfs_sndp.sh` + * `scripts/exgdas_atmos_gempak_gif_ncdc.sh` + * `scripts/exgdas_atmos_nawips.sh` + * `scripts/exgfs_atmos_awips_20km_1p0deg.sh` + * `scripts/exgfs_atmos_fbwind.sh` + * `scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh` + * `scripts/exgfs_atmos_gempak_meta.sh` + * `scripts/exgfs_atmos_goes_nawips.sh` + * `scripts/exgfs_atmos_grib2_special_npoess.sh` + * `scripts/exgfs_atmos_grib_awips.sh` + * `scripts/exgfs_atmos_nawips.sh` + * `scripts/exgfs_atmos_postsnd.sh` + * `scripts/exgfs_wave_init.sh` + * `scripts/exgfs_wave_nawips.sh` + * `scripts/exgfs_wave_post_gridded_sbs.sh` + * `scripts/exgfs_wave_post_pnt.sh` + * `scripts/exgfs_wave_prdgen_bulls.sh` + * `scripts/exgfs_wave_prdgen_gridded.sh` + * `scripts/exgfs_wave_prep.sh` + * `scripts/exglobal_atmos_tropcy_qc_reloc.sh` + * `scripts/exglobal_forecast.sh` - update `$NWPROD` to `$PACKAGEROOT` + * `ush/gaussian_sfcanl.sh` - update `$NWPROD` to `$PACKAGEROOT` + * `ush/gfs_bufr.sh` - replace backticks with proper syntax + * `ush/gfs_sndp.sh` - replace backticks with proper syntax + * `ush/global_extrkr.sh` + * `ush/load_fv3gfs_modules.sh` - update to source run.ver and load `module_base` in LUA format + * `ush/rocoto/*` - numerous updates to rocoto setup scripts to support WCOSS2 and Orion, also scripts converted from `python2` to `python3` + * `ush/syndat_getjtbul.sh` + * `ush/syndat_qctropcy.sh` + * `ush/tropcy_relocate.sh` + * `ush/wave_grib2_sbs.sh` + * `ush/wave_grid_interp.sh` + * `ush/wave_grid_interp_sbs.sh` + * `ush/wave_grid_moddef.sh` + * `ush/wave_outp_cat.sh` + * `ush/wave_outp_spec.sh` + * `ush/wave_prnc_cur.sh` + * `ush/wave_prnc_ice.sh` + * `ush/wave_tar.sh` + * `util/ush/mkawpgrb.sh` + * `util/ush/ml7_slm30g.sh` + * `util/ush/snd2forgn` + * `util/ush/snd2forgntbl.sh` + * `util/ush/sndncdc` + +MODULE CHANGES +-------------- + +The following new WCOSS2 modulefiles were created and updated to conform with LUA format, as well as use new `*_ver` variables set by app-level build.ver versions files: + +* GLDAS + * `modulefiles/gdas2gldas.wcoss2.lua` + * `modulefiles/gldas2gdas.wcoss2.lua` + * `modulefiles/gldas_forcing.wcoss2.lua` + * `modulefiles/gldas_model.wcoss2.lua` + * `modulefiles/gldas_post.wcoss2.lua` + * `modulefiles/gldas_rst.wcoss2.lua` +* GSI + * `modulefiles/modulefile.ProdGSI.wcoss2.lua` +* MODEL + * `modulefiles/wcoss2/fv3` - not LUA format, given waiver +* POST + * `modulefiles/post/post_wcoss2.lua` + * `modulefiles/upp/upp_wcoss2.lua` +* UFS_UTILS + * `modulefiles/fv3gfs/global_cycle.wcoss2.lua` + * `modulefiles/modulefile.global_emcsfc_ice_blend.wcoss2.lua` + * `modulefiles/modulefile.global_emcsfc_snow2mdl.wcoss2.lua` +* WAFS + * `modulefiles/wafs/wafs_v6.0.0-wcoss2.lua` +* Workflow + * modulefiles to support Orion also included + * `modulefiles/fv3gfs/enkf_chgres_recenter.wcoss2.lua` + * `modulefiles/fv3gfs/enkf_chgres_recenter_nc.wcoss2.lua` + * `modulefiles/fv3gfs/gaussian_sfcanl.wcoss2.lua` + * `modulefiles/gfs_bufr.wcoss2.lua` + * `modulefiles/gfs_fbwndgfs.wcoss2.lua` + * `modulefiles/module-setup.csh.inc` + * `modulefiles/module-setup.sh.inc` + * `modulefiles/module_base.wcoss2.lua` + * `modulefiles/modulefile.fv3nc2nemsio.wcoss2.lua` + * `modulefiles/modulefile.regrid_nemsio.wcoss2.lua` + * `modulefiles/modulefile.storm_reloc_v6.0.0.wcoss2.lua` + * `util/modulefiles/gfs_util.wcoss2.lua` + +CHANGES TO RESOURCES AND FILE SIZES +----------------------------------- + +* File sizes + * No change to GFSv16.1.8. +* Resource changes to meet operational time windows: + * See updated Ecflow scripts for adjusted compute resources for WCOSS2. + * Pre-hand-off development testing results: + * Timing compared to WCOSS-Dell - Almost all jobs ran either within the +/-5min window or faster (exceptions noted below). Most serial jobs were faster. The largest MPI jobs were within their WCOSS-Dell windows and some even use fewer cores. + * Cores compared to WCOSS-Dell - On average the jobs used ~30% more cores in development testing, mainly as a result of getting jobs into timing windows. Optimization can improve this, particularly with the smaller jobs that could share nodes. See additional note on this below. + * A spreadsheet with development testing timings and resource settings is available upon request. + * Notes on important resource changes: + * Almost all 1 node jobs are serial and will use more cores due to the larger number of pes per node on WCOSS2 but they will also run considerably faster. Further optimization could improve this. + * The wave post point jobs all require about double the number of cores compared to WCOSS-Dell. There are also timing issues partly related to runtime variability on WCOSS2. Further optimization may improve these jobs. + * The `gdas[gfs]_analysis` jobs used just under double the number of cores but are snug in their WCOSS-Dell timing window. Further optimization could reduce the core number but retail timing. + * The `gfs_forecast` job runtime is fast but just under the WCOSS-Dell core number. Further optimization is needed to get it back into its WCOSS-Dell window. + +PRE-IMPLEMENTATION TESTING REQUIREMENTS +--------------------------------------- + +* Which production jobs should be tested as part of this implementation? + * The entire GFS v16.2.0 package needs to be installed and tested. +* Does this change require a 30-day evaluation? + * Yes. + +DISSEMINATION INFORMATION +------------------------- + +* Where should this output be sent? + * No change from GFS v16.1.8 +* Who are the users? + * No change from GFS v16.1.8 +* Which output files should be transferred from PROD WCOSS to DEV WCOSS? + * No change from GFS v16.1.8 +* Directory changes + * No change from GFS v16.1.8 +* File changes + * No change from GFS v16.1.8 + +HPSS ARCHIVE +------------ + +* No change from GFS v16.1.8 + +JOB DEPENDENCIES AND FLOW DIAGRAM +--------------------------------- +* No change from GFS v16.1.8 diff --git a/docs/Release_Notes.gfs.v16.2.1.md b/docs/Release_Notes.gfs.v16.2.1.md new file mode 100644 index 0000000000..5581db22dc --- /dev/null +++ b/docs/Release_Notes.gfs.v16.2.1.md @@ -0,0 +1,129 @@ +GFS V16.2.1 RELEASE NOTES + +------- +PRELUDE +------- + +Several bug fixes for the GFSv16.2 package to resolve issues with the gfs_forecast job (wave restart calculation) and the gfs_atmos_postsnd (bufr sounding) job. + +IMPLEMENTATION INSTRUCTIONS +--------------------------- + +The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com are used to manage the GFS.v16.2.1 code. The SPA(s) handling the GFS.v16.2.1 implementation need to have permissions to clone VLab gerrit repositories and the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please follow the following steps to install the package on WCOSS2: + +```bash +cd $PACKAGEROOT +mkdir gfs.v16.2.1 +cd gfs.v16.2.1 +git clone -b EMC-v16.2.1 https://github.com/NOAA-EMC/global-workflow.git . +cd sorc +./checkout.sh -o +``` + +The checkout script extracts the following GFS components: + +| Component | Tag | POC | +| --------- | ----------- | ----------------- | +| MODEL | GFS.v16.2.0 | Jun.Wang@noaa.gov | +| GSI | gfsda.v16.2.0 | Russ.Treadon@noaa.gov | +| GLDAS | gldas_gfsv16_release.v.2.0.0 | Helin.Wei@noaa.gov | +| UFS_UTILS | ops-gfsv16.2.0 | George.Gayno@noaa.gov | +| POST | upp_v8.1.2 | Wen.Meng@noaa.gov | +| WAFS | gfs_wafs.v6.2.8 | Yali.Mao@noaa.gov | + +To build all the GFS components, execute: +```bash +./build_all.sh +``` +The `build_all.sh` script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use `build_gsi.sh`. + +Next, link the executables, fix files, parm files etc in their final respective locations by executing: +```bash +./link_fv3gfs.sh nco wcoss2 +``` + +Lastly, link the ecf scripts by moving back up to the ecf folder and executing: +```bash +cd ../ecf +./setup_ecf_links.sh +``` + +SORC CHANGES +------------ + +* Workflow + * `sorc/gfs_bufr.fd/calpreciptype.f` + * `sorc/gfs_bufr.fd/meteorg.f` + +FIX CHANGES +----------- + +* No changes from GFS v16.2.0 + +PARM/CONFIG CHANGES +------------------- + +* Workflow + * `env/WCOSS2.env` - postsnd adjustments + * `parm/config/config.resources.nco.static` - postsnd adjustments + * `parm/config/config.resources.emc.dyn` - postsnd adjustments + * `parm/transfer/transfer_rdhpcs_gfs_nawips.list` + +JOBS CHANGES +------------ + +* No changes from GFS v16.2.0 + +SCRIPT CHANGES +-------------- + +* Workflow + * `ecf/scripts/gfs/atmos/post_processing/bulletins/jgfs_atmos_fbwind.ecf` - memory adjustment + * `ecf/scripts/gfs/atmos/post_processing/bufr_sounding/jgfs_atmos_postsnd.ecf` - resource adjustment + * `scripts/exglobal_forecast.sh` - update calculation of starting time of rerun based on if wave restarts exist + +MODULE CHANGES +-------------- + +* Workflow + * `modulefiles/gfs_bufr.wcoss2.lua` - no longer build with -qopenmp + +CHANGES TO RESOURCES AND FILE SIZES +----------------------------------- + +* File sizes + * No change to GFSv16.2.0. +* Resource changes + * Adjustment to the gfs_atmos_postsnd job resources. + * Increase to memory for fbwind job. + +PRE-IMPLEMENTATION TESTING REQUIREMENTS +--------------------------------------- + +* Which production jobs should be tested as part of this implementation? + * The entire GFS v16.2.1 package needs to be installed and tested. +* Does this change require a 30-day evaluation? + * No. + +DISSEMINATION INFORMATION +------------------------- + +* Where should this output be sent? + * No change from GFS v16.2.0 +* Who are the users? + * No change from GFS v16.2.0 +* Which output files should be transferred from PROD WCOSS2 to DEV WCOSS2? + * No change from GFS v16.2.0 +* Directory changes + * No change from GFS v16.2.0 +* File changes + * No change from GFS v16.2.0 + +HPSS ARCHIVE +------------ + +* No change from GFS v16.2.0 + +JOB DEPENDENCIES AND FLOW DIAGRAM +--------------------------------- +* No change from GFS v16.2.0 From c7d20de31ffddcf03c837430d24cf2c2a9efda77 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 20 Jul 2022 14:31:00 +0000 Subject: [PATCH 08/78] WCOSS2 updates to gempak ush scripts - Add /gempak subfolder where needed in gempak ush scripts. - Remove unneeded commented out path settings from older iterations. Refs: #419 --- gempak/ush/gdas_ukmet_meta_ver.sh | 3 +-- gempak/ush/gfs_meta_comp.sh | 6 ++---- gempak/ush/gfs_meta_crb.sh | 5 +---- gempak/ush/gfs_meta_hur.sh | 2 +- gempak/ush/gfs_meta_mar_comp.sh | 4 ++-- gempak/ush/gfs_meta_sa2.sh | 2 +- 6 files changed, 8 insertions(+), 14 deletions(-) diff --git a/gempak/ush/gdas_ukmet_meta_ver.sh b/gempak/ush/gdas_ukmet_meta_ver.sh index dcc350ea74..845fa1cc6b 100755 --- a/gempak/ush/gdas_ukmet_meta_ver.sh +++ b/gempak/ush/gdas_ukmet_meta_ver.sh @@ -139,8 +139,7 @@ for area in $areas sdatenum=$sdate9 cyclenum=$cycle9 fi - # JY grid="$COMROOT/nawips/${envir}/ukmet.20${sdatenum}/ukmet_20${sdatenum}${cyclenum}${dgdattim}" - grid="${COMINukmet}.20${sdatenum}/ukmet_20${sdatenum}${cyclenum}${dgdattim}" + grid="${COMINukmet}.20${sdatenum}/gempak/ukmet_20${sdatenum}${cyclenum}${dgdattim}" # 500 MB HEIGHT METAFILE diff --git a/gempak/ush/gfs_meta_comp.sh b/gempak/ush/gfs_meta_comp.sh index 4e9a3d8820..9bd27c5736 100755 --- a/gempak/ush/gfs_meta_comp.sh +++ b/gempak/ush/gfs_meta_comp.sh @@ -217,8 +217,7 @@ export err=$?;err_chk done # COMPARE THE 1200 UTC GFS MODEL TO THE 0000 UTC UKMET MODEL grid="F-${MDL} | ${PDY2}/${cyc}00" - # JY export HPCUKMET=$COMROOT/nawips/prod/ukmet.${PDY} - export HPCUKMET=${COMINukmet}.${PDY} + export HPCUKMET=${COMINukmet}.${PDY}/gempak grid2="F-UKMETHPC | ${PDY2}/0000" # for gfsfhr in 00 12 24 36 48 60 84 108 for gfsfhr in 00 12 24 84 108 @@ -593,8 +592,7 @@ export err=$?;err_chk done # COMPARE THE 0000 UTC GFS MODEL TO THE 1200 UTC UKMET FROM YESTERDAY grid="F-${MDL} | ${PDY2}/${cyc}00" - #XXW export HPCUKMET=${MODEL}/ukmet.${PDYm1} - export HPCUKMET=${COMINukmet}.${PDYm1} + export HPCUKMET=${COMINukmet}.${PDYm1}/gempak grid2="F-UKMETHPC | ${PDY2m1}/1200" # for gfsfhr in 00 12 24 36 48 60 84 108 for gfsfhr in 00 12 24 84 108 diff --git a/gempak/ush/gfs_meta_crb.sh b/gempak/ush/gfs_meta_crb.sh index 4800578238..82fa7795e8 100755 --- a/gempak/ush/gfs_meta_crb.sh +++ b/gempak/ush/gfs_meta_crb.sh @@ -260,11 +260,8 @@ export err=$?;err_chk if [ ${cyc} -eq 00 ] ; then - # BV export MODEL=/com/nawips/prod - # JY export HPCECMWF=${MODEL}/ecmwf.${PDY} - # JY export HPCUKMET=${MODEL}/ukmet.${PDYm1} export HPCECMWF=${COMINecmwf}.${PDY}/gempak - export HPCUKMET=${COMINukmet}.${PDYm1} + export HPCUKMET=${COMINukmet}.${PDYm1}/gempak grid1="F-${MDL} | ${PDY2}/${cyc}00" grid2="${COMINecmwf}.${PDYm1}/gempak/ecmwf_glob_${PDYm1}12" grid3="F-UKMETHPC | ${PDY2m1}/1200" diff --git a/gempak/ush/gfs_meta_hur.sh b/gempak/ush/gfs_meta_hur.sh index 9590f07b3e..aed25d6d78 100755 --- a/gempak/ush/gfs_meta_hur.sh +++ b/gempak/ush/gfs_meta_hur.sh @@ -338,7 +338,7 @@ if [ ${cyc} -eq 00 ] ; then # JY export HPCECMWF=${MODEL}/ecmwf.${PDY} # JY export HPCUKMET=${MODEL}/ukmet.${PDY} export HPCECMWF=${COMINecmwf}.${PDY}/gempak - export HPCUKMET=${COMINukmet}.${PDY} + export HPCUKMET=${COMINukmet}.${PDY}/gempak grid1="F-${MDL} | ${PDY2}/${cyc}00" grid2="${COMINecmwf}.${PDYm1}/gempak/ecmwf_glob_${PDYm1}12" grid3="F-UKMETHPC | ${PDY2}/${cyc}00" diff --git a/gempak/ush/gfs_meta_mar_comp.sh b/gempak/ush/gfs_meta_mar_comp.sh index d7262814b5..a55fa3c642 100755 --- a/gempak/ush/gfs_meta_mar_comp.sh +++ b/gempak/ush/gfs_meta_mar_comp.sh @@ -181,7 +181,7 @@ export err=$?;err_chk done # COMPARE THE 1200 UTC GFS MODEL TO THE 0000 UTC UKMET MODEL grid="F-${MDL} | ${PDY2}/${cyc}00" - export HPCUKMET=${COMINukmet}.${PDY} + export HPCUKMET=${COMINukmet}.${PDY}/gempak grid2="F-UKMETHPC | ${PDY2}/0000" # for gfsfhr in 00 12 24 36 48 60 84 108 for gfsfhr in 00 12 24 84 108 @@ -534,7 +534,7 @@ export err=$?;err_chk done # COMPARE THE 0000 UTC GFS MODEL TO THE 1200 UTC UKMET FROM YESTERDAY grid="F-${MDL} | ${PDY2}/${cyc}00" - export HPCUKMET=${COMINukmet}.${PDYm1} + export HPCUKMET=${COMINukmet}.${PDYm1}/gempak grid2="F-UKMETHPC | ${PDY2m1}/1200" # for gfsfhr in 00 12 24 36 48 60 84 108 for gfsfhr in 00 12 24 84 108 diff --git a/gempak/ush/gfs_meta_sa2.sh b/gempak/ush/gfs_meta_sa2.sh index de538a249d..a566031030 100755 --- a/gempak/ush/gfs_meta_sa2.sh +++ b/gempak/ush/gfs_meta_sa2.sh @@ -303,7 +303,7 @@ do ukmetfhr=${gfsfhr} fi gfsfhr="F${gfsfhr}" - grid3="${COMINukmet}.${PDY}/ukmet_${PDY}00f${ukmetfhr}" + grid3="${COMINukmet}.${PDY}/gempak/ukmet_${PDY}00f${ukmetfhr}" $GEMEXE/gdplot2_nc << EOF25 \$MAPFIL = mepowo.gsf From 2179e446ab4f6b0fee43e474d157242ea2d27346 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 20 Jul 2022 14:34:29 +0000 Subject: [PATCH 09/78] Removing older release notes - Cleaning out older GFS version release notes. - Includes current GFSv16.2.1 release notes, will commit GFSv16.3 release notes with implementation this fall. - Will then keep only the latest release notes moving forward. Refs: #419 --- docs/Release_Notes.gfs.v15.2.0.txt | 261 ----------- docs/Release_Notes.gfs.v15.2.2.txt | 269 ------------ docs/Release_Notes.gfs.v16.0.0.md | 413 ------------------ docs/Release_Notes.gfs.v16.1.0.txt | 193 -------- docs/Release_Notes.gfs.v16.1.4.txt | 160 ------- docs/Release_Notes.gfs.v16.1.5.txt | 118 ----- docs/Release_Notes.gfs.v16.1.6.txt | 147 ------- docs/Release_Notes.gfs.v16.1.7.txt | 121 ----- docs/Release_Notes.gfs.v16.1.8.txt | 128 ------ docs/Release_Notes.gfs.v16.2.0.md | 399 ----------------- docs/Release_Notes.gfs.v16.2.1.md | 129 ------ docs/Release_Notes.gfs_downstream.v15.2.0.txt | 104 ----- docs/Release_Notes.gfs_downstream.v16.0.0.txt | 114 ----- 13 files changed, 2556 deletions(-) delete mode 100644 docs/Release_Notes.gfs.v15.2.0.txt delete mode 100644 docs/Release_Notes.gfs.v15.2.2.txt delete mode 100644 docs/Release_Notes.gfs.v16.0.0.md delete mode 100644 docs/Release_Notes.gfs.v16.1.0.txt delete mode 100644 docs/Release_Notes.gfs.v16.1.4.txt delete mode 100644 docs/Release_Notes.gfs.v16.1.5.txt delete mode 100644 docs/Release_Notes.gfs.v16.1.6.txt delete mode 100644 docs/Release_Notes.gfs.v16.1.7.txt delete mode 100644 docs/Release_Notes.gfs.v16.1.8.txt delete mode 100644 docs/Release_Notes.gfs.v16.2.0.md delete mode 100644 docs/Release_Notes.gfs.v16.2.1.md delete mode 100644 docs/Release_Notes.gfs_downstream.v15.2.0.txt delete mode 100644 docs/Release_Notes.gfs_downstream.v16.0.0.txt diff --git a/docs/Release_Notes.gfs.v15.2.0.txt b/docs/Release_Notes.gfs.v15.2.0.txt deleted file mode 100644 index 4f3cbcddd9..0000000000 --- a/docs/Release_Notes.gfs.v15.2.0.txt +++ /dev/null @@ -1,261 +0,0 @@ -GFS v15.2.0 RELEASE NOTES - - -PRELUDE (taken from GFS v15.2.0 SCN) - - GFS version 15.1 was implemented into operation at the 12Z cycle on June 12, 2019. It was the first - GFS implementation with the finite­ volume cubed-sphere (FV3) dynamical core as the Weather Service’s - Next Generation Global Prediction System (NGGPS). - - GFS version 15.2 is a minor upgrade. The major change to the system is to ingest new and replacement - satellite observations for data assimilation. It also contains a few other minor upgrades and bug fixes. - - 1) Assimilate new satellite observations - * GOES-17 AMVs - * GOES-17 has already replaced GOES-15 as the operational GOES-West satellite. Distribution of - GOES-15 products is expected to cease around December 2019 and active assimilation of GOES-17 - AMVs is required to prevent a gap in data coverage. - * Metop-C AMSU and MHS - * Metop-C is now the primary satellite in the 9:30 AM orbit. Assimilation of these data provide - additional impact as well as adding robustness to the system. - * KOMPSAT-5 (GPS-RO) - * Provides additional robustness to the system. - * Addition changes are made to VIIRS AMV ingest code to allow continued use after an expected change - to the BUFR format. - - 2) Assimilate buoyb sea-surface temperature (SST) data - TAC2BUFR changes in the buoy network resulted in a reduction of available SST measurements from buoys - to 10% or less of expected levels. Obsproc and GSI changes were required to restore data counts to - previous levels. - - 3) New product: Graphical Turbulence Guidance (GTG) - Global Turbulence product generated using NCAR GTG algorithm will start being disseminated on NOMADS. - The product will be available 3 hourly from F06 to F36 and horizontal resolution will be a quarter - degree. gfs.t{CC}Z.gtg.0p25.grb2f{HHH} - - 4) Update the Unified Post Processor(UPP) to address a mask issue of several land surface fields over - water bodies in grib2 products. - - This update will make GFS.v15.2 p-grid products to be more consistent with GFS.v14 products, and - remove spurious soil moisture along coastlines. These land surface fields include Soil Moisture, - Soil Temperature, Liquid Volumetric Soil Moisture, WEASD, Snow Depth, Water Runoff, GFLUX Ground - Heat Flux, WILT Wilting Point, and FLDCP Field Capacity. - - Affected product files are: - gfs.t{CC}Z.pgrb2.0p25.F{HHH} - gfs.t{CC}Z.pgrb2b.0p25.g{HHH} - gfs.t{CC}Z.pgrb2.0p50.F{HHH} - gfs.t{CC}Z.pgrb2b.0p50.g{HHH} - gfs.t{CC}Z.pgrb2.1p00.F{HHH} - gfs.t{CC}Z.pgrb2b.1p00.g{HHH} - gfs.t{CC}Z.sfluxgrbf{HHH}.grib2 - Where CC is cycle for 00, 06, 12, 18 UTC, and HHH is forecast hour. - - 5) The vessel icing program uses OISST as input. OISST will not be ported from WCOSS Phase 1 to Phase 3 - after Phase 1 is decommissioned in 2020. A decision was made to move the vessel icing program - within the Unified Post Processor(UPP) and use GFS forecast skin temperature as input. Current vessel - icing product in operation (sice.tCCz.siceg) has a 1-deg resolution and is disseminated to the public at - - ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/omb/prod/sice.yyyymmdd/ - - New vessel icing product will be included as a variable (ICEG) in GFS p-grid products gfs.tCCz.pgrb2.xpxx.fxxx - and gfs.tCCz.pgrb2b.xpxx.fxxx at 0.25, 0.5, and 1.0-deg resolutions, and be disseminated to the public at - - ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.yyyymmdd/ - - 6) Added three stations to station time series bufr soundings: - - 006011 62.02N 6.76W TOR 00 Thorshvan, Denmark 54 Usr Rqst 4-19 - 999913 15.51S 128.15E WYN 00 Wyndham aerodrome Australia 4 Usr Rqst 1-19 - 999914 57.48N 7.36W EGPL 00 Benbecula, Scotland, UK 6 Usr Rqst 1-19 - - The affected output files are: - gfs_yyyymmddhh.sfc - gfs_yyyymmddhh.snd - gfs.tCCz.bufrsnd.tar.gz - - Three additional files for the stations: - bufr.006011.yyyymmddhh - bufr.999913.yyyymmddhh - bufr.999914.yyyymmddhh - - 7) Reduction of water temperature biases in small lakes. - For small lakes adequate observations do not always exit to support the analysis of lake surface - temperature, often leading to significant departures from both the climatology and real-time observation. - Two changes were introduced to ensure that lake temperatures do not deviate from the climatology when - observations are not available. The first change is to replace a surface mask file at 0.5-degree - resolution with the one on the T1534 Gaussian grid (~13km) to prevent unrealistic SST climatology - from being used for updating the background of the near sea-surface temperature analysis over small - water bodies, such as those in the Great Salt Lake. The second change is to reduce the relaxation - time scale of the SST to climatology in GDAS forecast step from 90 days to 10 days. - - 8) Changes to NOAAPORT/SBN - Product Removals - * GADS FAX product which contains tropical surface analysis in TIF format with G4 compression. - - - -IMPLEMENTATION INSTRUCTIONS - - * NOAA Vlab GIT is used to manage GFS.v15.2 code. The SPA(s) handling the GFS.v15.2 implementation need to have - permission to clone Vlab gerrit repositories. So far Wojciech Cencek has been given access to all GFS.v15.2 - related git repositories. Please contact Kate.Friedman@noaa.gov or Hang.Lei@noaa.gov if there is any VLAB - access issue and/or the individual code managers listed under item #6) below. Please follow the following - steps to install the package on WCOSS DELL - - 1) cd $NWROOTp3 - 2) mkdir gfs.v15.2.0 - 3) cd gfs.v15.2.0 - 4) git clone --recursive gerrit:global-workflow . - 5) git checkout feature/dev-v15.2 - 6) cd sorc - 7) ./checkout.sh - This script extracts the following GFS components from gerrit - MODEL -- tag nemsfv3_gfsv15.2.1 Jun.Wang@noaa.gov - GSI -- tag fv3da_gfs.v15.2.0 Russ.Treadon@noaa.gov - UPP -- tag ncep_post_gtg.v1.1.4 Wen.Meng@noaa.gov - WAFS -- tag gfs_wafs.v5.0.9 Yali.Mao@noaa.gov - - - 8) ./build_all.sh - *This script compiles all GFS components. Runtime output from the build for each package is written - to log files in directory logs. To build an individual program, for instance, gsi, use build_gsi.sh. - - 9) ./link_fv3gfs.sh nco dell - - * Note: 1) ecflow suite definition and scripts are saved in gfs.v15.2.0/ecflow/ecf - 2) ncep_post_gtg.v1.1.4 contains restricted GTG (Graphic Turbulence Guidance) code provided by - NCAR. Please do not post the GTG code in any public domain. - - - - -JOB CHANGES - - * See docs/Release_Notes.gfs_downstream.v15.2.0.txt - - -SORC CHANGES - - * sorc/ - * checkout.sh - update to check out the following tags - * NEMSfv3gfs nemsfv3_gfsv15.2.1 - * ProdGSI fv3da_gfsv15.2.0 - * EMC_post_gtg ncep_post_gtg.v1.1.4 - * EMC_gfs_wafs gfs_wafs.v5.0.9 - * sorc/global_chgres.fd/ - * sfcsub.F - bug fix. set logical variable (lmask) to be false for a land surface variable - * sorc/global_cycle.fd/ - * sfcsub.F - bug fix. set logical variable (lmask) to be false for a land surface variable - - -SCRIPT CHANGES - - * scripts/ - * run_gfsmos_master.sh.cray - remove reference to COMROOTp1 - * run_gfsmos_master.sh.dell - remove reference to COMROOTp1 - * additional script changes documented in docs/Release_Notes.gfs_downstream.v15.2.0.txt - - -PARM/CONFIG CHANGES - - * parm/ - * Two files are modified to set a - * parm/config/config.base.emc.dyn - set 10 day relaxaion time scale to SST climatology in GDAS forecast - * parm/config/config.base.nco.static - set 10 day relaxaion time scale to SST climatology in GDAS forecast - - * Two files were modified for adding three bufr stations: - * parm/product/bufr_stalist.meteo.gfs - * parm/product/bufr_stalist.meteo.gfs3 - - -FIX CHANGES - - * Files in fix/fix_gsi altered by GFS DA v15.2. See GFS DA v15.2 release notes - (sorc/gsi.fd/doc/Release_Notes.gfs_da.v15.2.0.txt) for details - - -PRODUCT CHANGES - - * see SCN - - -RESOURCE INFORMATION - - * Frequency of run - * No change from GFS v15.1 - - * Commonly used libraries, compiler, and modules are defined in gfs.v15.2.0/modulefiles. For nemsfv3gfs, gsi, upp, wafs - they maintain their own module files under gfs.v15.2.0/sorc/(fv3gfs gsi gfs_post global_wafs).fd/modulefiles - * GSI updated to use bufr/11.3.0 - - * Data retention time under $COMROOTp3 for GFS.v15.2 should be the same as GFS.v15.1. - - * Disk space: - * About 4 Gb more per gdas cycle due to additional observation data in gdas and enkf diagnostic files - - * Computational resources and run times: - * Due to processing additional observation data the runtime for the following jobs increases with - respect to GFS v15.1 as noted below - * gfs_analysis : about 30 seconds longer (27.4 minutes for GFS v15.1 -vs- 27.9 minutes for GFS v15.2) - * gdas_enkf_select_obs : about 1 minute longer (3.7 for GFS v15.1 -vs- 4.7 for GFS v15.2) - * gdas_enkf_innovate_obs_grp*: about 30 seconds longer (14.8 for GFS v15.1 -vs - 15.3 for GFS v15.2) - * gdas_enkf_update : about 20 seconds longer (6.4 for GFS v15.1 -vs- 6.7 for GFS v15.2) - - - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - - * Which production jobs should be tested as part of this implementation? - * The entire GFS v15.2 package needs to be installed and tested. EMC can run the same date - and compare NCO and EMC output to confirm the EMC and NCO tests reproduce each other - - * Does this change require a 30-day evaluation? - * No. - - - * Suggested evaluators - * Please contact the following EMC staff for the indicated components - Fanglin.Yang@noaa.gov - MODEL - Russ.Treadon@noaa.gov - DA - Wen.Meng@noaa.gov - UPP - Yali.Mao@noaa.gov - WAFS - Boi.Vuong@noaa.gov - downstream products - - -DISSEMINATION INFORMATION - - * Where should this output be sent? - * No change from GFS v15.1 - - * Who are the users? - * No change from GFS v15.1 - - * Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v15.1 - - * Directory changes - * No change from GFS v15.1 - - * File changes. - * See SCN - - -HPSS ARCHIVE - - No change from GFS v15.1 - - - -JOB DEPENDENCIES & FLOW DIAGRAM - * No change from GFS v15.1 - - -=========== -Prepared by -Fanglin.Yang@noaa -Russ.Treadon@noaa.gov -Boi.Vuong@noaa.gov -Wen.Meng@noaa.gov - - diff --git a/docs/Release_Notes.gfs.v15.2.2.txt b/docs/Release_Notes.gfs.v15.2.2.txt deleted file mode 100644 index c1978fcf23..0000000000 --- a/docs/Release_Notes.gfs.v15.2.2.txt +++ /dev/null @@ -1,269 +0,0 @@ -GFS v15.2.2 - updated by SPA on 11/13/2019 - -Fixed missing gempak pathes in GFS_GEMPAK_NCDC_UPAPGIF job that caused the black/white background switch in the Fax chart. - -Change: -jobs/JGFS_GEMPAK_NCDC_UPAPGIF - - -GFS v15.2.0 RELEASE NOTES - - -PRELUDE (taken from GFS v15.2.0 SCN) - - GFS version 15.1 was implemented into operation at the 12Z cycle on June 12, 2019. It was the first - GFS implementation with the finite­ volume cubed-sphere (FV3) dynamical core as the Weather Service’s - Next Generation Global Prediction System (NGGPS). - - GFS version 15.2 is a minor upgrade. The major change to the system is to ingest new and replacement - satellite observations for data assimilation. It also contains a few other minor upgrades and bug fixes. - - 1) Assimilate new satellite observations - * GOES-17 AMVs - * GOES-17 has already replaced GOES-15 as the operational GOES-West satellite. Distribution of - GOES-15 products is expected to cease around December 2019 and active assimilation of GOES-17 - AMVs is required to prevent a gap in data coverage. - * Metop-C AMSU and MHS - * Metop-C is now the primary satellite in the 9:30 AM orbit. Assimilation of these data provide - additional impact as well as adding robustness to the system. - * KOMPSAT-5 (GPS-RO) - * Provides additional robustness to the system. - * Addition changes are made to VIIRS AMV ingest code to allow continued use after an expected change - to the BUFR format. - - 2) Assimilate buoyb sea-surface temperature (SST) data - TAC2BUFR changes in the buoy network resulted in a reduction of available SST measurements from buoys - to 10% or less of expected levels. Obsproc and GSI changes were required to restore data counts to - previous levels. - - 3) New product: Graphical Turbulence Guidance (GTG) - Global Turbulence product generated using NCAR GTG algorithm will start being disseminated on NOMADS. - The product will be available 3 hourly from F06 to F36 and horizontal resolution will be a quarter - degree. gfs.t{CC}Z.gtg.0p25.grb2f{HHH} - - 4) Update the Unified Post Processor(UPP) to address a mask issue of several land surface fields over - water bodies in grib2 products. - - This update will make GFS.v15.2 p-grid products to be more consistent with GFS.v14 products, and - remove spurious soil moisture along coastlines. These land surface fields include Soil Moisture, - Soil Temperature, Liquid Volumetric Soil Moisture, WEASD, Snow Depth, Water Runoff, GFLUX Ground - Heat Flux, WILT Wilting Point, and FLDCP Field Capacity. - - Affected product files are: - gfs.t{CC}Z.pgrb2.0p25.F{HHH} - gfs.t{CC}Z.pgrb2b.0p25.g{HHH} - gfs.t{CC}Z.pgrb2.0p50.F{HHH} - gfs.t{CC}Z.pgrb2b.0p50.g{HHH} - gfs.t{CC}Z.pgrb2.1p00.F{HHH} - gfs.t{CC}Z.pgrb2b.1p00.g{HHH} - gfs.t{CC}Z.sfluxgrbf{HHH}.grib2 - Where CC is cycle for 00, 06, 12, 18 UTC, and HHH is forecast hour. - - 5) The vessel icing program uses OISST as input. OISST will not be ported from WCOSS Phase 1 to Phase 3 - after Phase 1 is decommissioned in 2020. A decision was made to move the vessel icing program - within the Unified Post Processor(UPP) and use GFS forecast skin temperature as input. Current vessel - icing product in operation (sice.tCCz.siceg) has a 1-deg resolution and is disseminated to the public at - - ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/omb/prod/sice.yyyymmdd/ - - New vessel icing product will be included as a variable (ICEG) in GFS p-grid products gfs.tCCz.pgrb2.xpxx.fxxx - and gfs.tCCz.pgrb2b.xpxx.fxxx at 0.25, 0.5, and 1.0-deg resolutions, and be disseminated to the public at - - ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.yyyymmdd/ - - 6) Added three stations to station time series bufr soundings: - - 006011 62.02N 6.76W TOR 00 Thorshvan, Denmark 54 Usr Rqst 4-19 - 999913 15.51S 128.15E WYN 00 Wyndham aerodrome Australia 4 Usr Rqst 1-19 - 999914 57.48N 7.36W EGPL 00 Benbecula, Scotland, UK 6 Usr Rqst 1-19 - - The affected output files are: - gfs_yyyymmddhh.sfc - gfs_yyyymmddhh.snd - gfs.tCCz.bufrsnd.tar.gz - - Three additional files for the stations: - bufr.006011.yyyymmddhh - bufr.999913.yyyymmddhh - bufr.999914.yyyymmddhh - - 7) Reduction of water temperature biases in small lakes. - For small lakes adequate observations do not always exit to support the analysis of lake surface - temperature, often leading to significant departures from both the climatology and real-time observation. - Two changes were introduced to ensure that lake temperatures do not deviate from the climatology when - observations are not available. The first change is to replace a surface mask file at 0.5-degree - resolution with the one on the T1534 Gaussian grid (~13km) to prevent unrealistic SST climatology - from being used for updating the background of the near sea-surface temperature analysis over small - water bodies, such as those in the Great Salt Lake. The second change is to reduce the relaxation - time scale of the SST to climatology in GDAS forecast step from 90 days to 10 days. - - 8) Changes to NOAAPORT/SBN - Product Removals - * GADS FAX product which contains tropical surface analysis in TIF format with G4 compression. - - - -IMPLEMENTATION INSTRUCTIONS - - * NOAA Vlab GIT is used to manage GFS.v15.2 code. The SPA(s) handling the GFS.v15.2 implementation need to have - permission to clone Vlab gerrit repositories. So far Wojciech Cencek has been given access to all GFS.v15.2 - related git repositories. Please contact Kate.Friedman@noaa.gov or Hang.Lei@noaa.gov if there is any VLAB - access issue and/or the individual code managers listed under item #6) below. Please follow the following - steps to install the package on WCOSS DELL - - 1) cd $NWROOTp3 - 2) mkdir gfs.v15.2.0 - 3) cd gfs.v15.2.0 - 4) git clone --recursive gerrit:global-workflow . - 5) git checkout feature/dev-v15.2 - 6) cd sorc - 7) ./checkout.sh - This script extracts the following GFS components from gerrit - MODEL -- tag nemsfv3_gfsv15.2.1 Jun.Wang@noaa.gov - GSI -- tag fv3da_gfs.v15.2.0 Russ.Treadon@noaa.gov - UPP -- tag ncep_post_gtg.v1.1.4 Wen.Meng@noaa.gov - WAFS -- tag gfs_wafs.v5.0.9 Yali.Mao@noaa.gov - - - 8) ./build_all.sh - *This script compiles all GFS components. Runtime output from the build for each package is written - to log files in directory logs. To build an individual program, for instance, gsi, use build_gsi.sh. - - 9) ./link_fv3gfs.sh nco dell - - * Note: 1) ecflow suite definition and scripts are saved in gfs.v15.2.0/ecflow/ecf - 2) ncep_post_gtg.v1.1.4 contains restricted GTG (Graphic Turbulence Guidance) code provided by - NCAR. Please do not post the GTG code in any public domain. - - - - -JOB CHANGES - - * See docs/Release_Notes.gfs_downstream.v15.2.0.txt - - -SORC CHANGES - - * sorc/ - * checkout.sh - update to check out the following tags - * NEMSfv3gfs nemsfv3_gfsv15.2.1 - * ProdGSI fv3da_gfsv15.2.0 - * EMC_post_gtg ncep_post_gtg.v1.1.4 - * EMC_gfs_wafs gfs_wafs.v5.0.9 - * sorc/global_chgres.fd/ - * sfcsub.F - bug fix. set logical variable (lmask) to be false for a land surface variable - * sorc/global_cycle.fd/ - * sfcsub.F - bug fix. set logical variable (lmask) to be false for a land surface variable - - -SCRIPT CHANGES - - * scripts/ - * run_gfsmos_master.sh.cray - remove reference to COMROOTp1 - * run_gfsmos_master.sh.dell - remove reference to COMROOTp1 - * additional script changes documented in docs/Release_Notes.gfs_downstream.v15.2.0.txt - - -PARM/CONFIG CHANGES - - * parm/ - * Two files are modified to set a - * parm/config/config.base.emc.dyn - set 10 day relaxaion time scale to SST climatology in GDAS forecast - * parm/config/config.base.nco.static - set 10 day relaxaion time scale to SST climatology in GDAS forecast - - * Two files were modified for adding three bufr stations: - * parm/product/bufr_stalist.meteo.gfs - * parm/product/bufr_stalist.meteo.gfs3 - - -FIX CHANGES - - * Files in fix/fix_gsi altered by GFS DA v15.2. See GFS DA v15.2 release notes - (sorc/gsi.fd/doc/Release_Notes.gfs_da.v15.2.0.txt) for details - - -PRODUCT CHANGES - - * see SCN - - -RESOURCE INFORMATION - - * Frequency of run - * No change from GFS v15.1 - - * Commonly used libraries, compiler, and modules are defined in gfs.v15.2.0/modulefiles. For nemsfv3gfs, gsi, upp, wafs - they maintain their own module files under gfs.v15.2.0/sorc/(fv3gfs gsi gfs_post global_wafs).fd/modulefiles - * GSI updated to use bufr/11.3.0 - - * Data retention time under $COMROOTp3 for GFS.v15.2 should be the same as GFS.v15.1. - - * Disk space: - * About 4 Gb more per gdas cycle due to additional observation data in gdas and enkf diagnostic files - - * Computational resources and run times: - * Due to processing additional observation data the runtime for the following jobs increases with - respect to GFS v15.1 as noted below - * gfs_analysis : about 30 seconds longer (27.4 minutes for GFS v15.1 -vs- 27.9 minutes for GFS v15.2) - * gdas_enkf_select_obs : about 1 minute longer (3.7 for GFS v15.1 -vs- 4.7 for GFS v15.2) - * gdas_enkf_innovate_obs_grp*: about 30 seconds longer (14.8 for GFS v15.1 -vs - 15.3 for GFS v15.2) - * gdas_enkf_update : about 20 seconds longer (6.4 for GFS v15.1 -vs- 6.7 for GFS v15.2) - - - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - - * Which production jobs should be tested as part of this implementation? - * The entire GFS v15.2 package needs to be installed and tested. EMC can run the same date - and compare NCO and EMC output to confirm the EMC and NCO tests reproduce each other - - * Does this change require a 30-day evaluation? - * No. - - - * Suggested evaluators - * Please contact the following EMC staff for the indicated components - Fanglin.Yang@noaa.gov - MODEL - Russ.Treadon@noaa.gov - DA - Wen.Meng@noaa.gov - UPP - Yali.Mao@noaa.gov - WAFS - Boi.Vuong@noaa.gov - downstream products - - -DISSEMINATION INFORMATION - - * Where should this output be sent? - * No change from GFS v15.1 - - * Who are the users? - * No change from GFS v15.1 - - * Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v15.1 - - * Directory changes - * No change from GFS v15.1 - - * File changes. - * See SCN - - -HPSS ARCHIVE - - No change from GFS v15.1 - - - -JOB DEPENDENCIES & FLOW DIAGRAM - * No change from GFS v15.1 - - -=========== -Prepared by -Fanglin.Yang@noaa -Russ.Treadon@noaa.gov -Boi.Vuong@noaa.gov -Wen.Meng@noaa.gov - - diff --git a/docs/Release_Notes.gfs.v16.0.0.md b/docs/Release_Notes.gfs.v16.0.0.md deleted file mode 100644 index 19ce4e5600..0000000000 --- a/docs/Release_Notes.gfs.v16.0.0.md +++ /dev/null @@ -1,413 +0,0 @@ -GFS RELEASE NOTES (GFS.v16.0.0) -- October 9, 2020 - -------- -PRELUDE -------- - -* GFS version 16.0 is the first major upgrade to Finite Volume Cubed Sphere (FV3) dynamical core based GFS which replaced the spectral dynamical core in June 2019. In this upgrade, the number of model vertical layers is increased from 64 to 127 and the model top is extended from the upper stratosphere (~55 km height) to the mesopause (~80 km height). With this upgrade, for the first time, the operational stand alone global deterministic WAVEWATCH III based wave model Multi_1 (wave_multi_1.v3.3) is merged into the GFS system. The WAVEWATCH III model is updated and coupled to the GFS using a one-way coupling scheme where the atmospheric model provides forcing to the wave model using the NOAA Environmental Modeling System (NEMS). Major changes have also been made in other components of the forecast system including model physics, data assimilation, system infrastructure, post-processing and product generation. - -EMC has conducted a set of retrospective and real-time experiments, covering part of the 2018 hurricane season and the entire period from May 10, 2019 to the present, for a comprehensive evaluation of the model upgrades. GFSv16 showed improved forecast skills in many areas. For more details please refer to the Science Change Notice: https://docs.google.com/document/d/1pDLqP6ne2grEJ2vMfw7RnkwyzRsGpGPMb1d2DeDuu2E/edit. - -* GFS.v16 has been reorganized to use a COMPONENT directory structure to separate the atmos and wave components. - -* This release note describes the overall changes made to the entire system. More details about changes in science and structure of the data assimilation system are documented in gfs.v16.0.0/sorc/gsi.fd/doc/Release_Notes.gfsda.v16.0.0.txt. Details about downstream product generation is documented in Release_Notes.gfs_downstream.v16.0.0.txt. - ---------------------------- -IMPLEMENTATION INSTRUCTIONS ---------------------------- - -* The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com are used to manage the GFS.v16 code. The SPA(s) handling the GFS.v16 implementation need to have permissions to clone VLab gerrit repositories and the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please contact Fanglin.Yang@noaa.gov if there is any VLAB access issue and/or the individual code managers listed under item #6) below. Please follow the following steps to install the package on WCOSS-Dell: - - 1) cd $NWROOTp3 - 2) mkdir gfs.v16.0.0 - 3) cd gfs.v16.0.0 - 4) git clone -b EMC-v16.0.0 https://github.com/NOAA-EMC/global-workflow.git . - 5) cd sorc - 6) ./checkout.sh -o - * This script extracts the following GFS components: - MODEL tag GFS.v16.0.13 Jun.Wang@noaa.gov - GSI tag gfsda.v16.0.0 Russ.Treadon@noaa.gov - GLDAS tag gldas_gfsv16_release.v1.11.0 Helin.Wei@noaa.gov - UFS_UTIL tag ops-gfsv16.0.0 George.Gayno@noaa.gov - POST tag upp_gfsv16_release.v1.1.0 Wen.Meng@noaa.gov - WAFS tag gfs_wafs.v6.0.9 Yali.Mao@noaa.gov - - 7) ./build_all.sh - *This script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use build_gsi.sh. - - 8) ./link_fv3gfs.sh nco dell - - 9) Please use the script /gpfs/dell6/emc/modeling/noscrub/emc.glopara/para_gfs/misc/copyic_v16rt2_nco.sh on Mars to copy initial conditions from EMC real-time parallel v16rt2 to $COM directory to start NCO’s parallel from the dump step of next cycle. Please remember to change the COMROOT setting in this script to /gpfs/dell1/nco/ops/com. It will rsync v16rt2 data from the dev machine to either dev or prod machine. - -Instruction notes: ------------------- - -* The GSI build script ($HOMEgfs/sorc/build_gsi.sh) must be executed prior to $HOMEgfs/sorc/build_enkf_chgres_recenter_nc.sh. This automatically happens when executing $HOMEgfs/sorc/build_all.sh to build all GFS v16 executables. - -* The RTOFS curfile*h variable settings must be updated in scripts/exgfs_wave_prep.sh when the RTOFS implementation occurs. The “_1hrly” and “_3hrly” text will be removed to update the filenames: - - Before RTOFS implementation (current settings): - - curfile1h=${COMIN_WAV_CUR}/rtofs_glo_2ds_${fext}${fh3_rtofs}_1hrly_prog.nc - curfile3h=${COMIN_WAV_CUR}/rtofs_glo_2ds_${fext}${fh3_rtofs}_3hrly_prog.nc - - After RTOFS implementation: - - curfile1h=${COMIN_WAV_CUR}/rtofs_glo_2ds_${fext}${fh3_rtofs}_prog.nc - curfile3h=${COMIN_WAV_CUR}/rtofs_glo_2ds_${fext}${fh3_rtofs}_prog.nc - -* ecflow suite definition and scripts are saved in gfs.v16.0.0/ecflow/ecf - -* POST contains restricted GTG (Graphic Turbulence Guidance) code provided NCAR. Please do not post the GTG code in any public domain. - ------------ -JOB CHANGES ------------ - -Many job scripts have been added, removed or renamed to meet NCO script naming conventions for GFS.v16. - -Renamed job scripts are: - -* JGDAS_ENKF_RECENTER -> JGDAS_ENKF_ECEN -* JGDAS_GEMPAK -> JGDAS_ATMOS_GEMPAK -* JGDAS_GEMPAK_META -> JGDAS_ATMOS_GEMPAK_META_NCDC -* JGDAS_VMINMON -> JGDAS_ATMOS_VMINMON -* JGDAS_VERFRAD -> JGDAS_ATMOS_VERFRAD -* JGDAS_VERFOZN -> JGDAS_ATMOS_VERFOZN -* JGFS_AWIPS_20KM_1P0DEG -> JGFS_ATMOS_AWIPS_20KM_1P0DEG -* JGFS_AWIPS_G2 -> JGFS_ATMOS_AWIPS_G2 -* JGFS_CYCLONE_GENESIS -> JGFS_ATMOS_CYCLONE_GENESIS -* JGFS_CYCLONE_TRACKER -> JGFS_ATMOS_CYCLONE_TRACKER -* JGFS_FBWIND -> JGFS_ATMOS_FBWIND -* JGFS_GEMPAK -> JGFS_ATMOS_GEMPAK -* JGFS_GEMPAK_META -> JGFS_ATMOS_GEMPAK_META -* JGFS_GEMPAK_NCDC_UPAPGIF -> JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF -* JGFS_GEMPAK_PGRB2_SPEC -> JGFS_ATMOS_GEMPAK_PGRB2_SPEC -* JGFS_PGRB2_SPEC_NPOESS -> JGFS_ATMOS_PGRB2_SPEC_NPOESS -* JGFS_POSTSND -> JGFS_ATMOS_POSTSND -* JGFS_VMINMON -> JGFS_ATMOS_VMINMON -* JGFS_WAFS -> JGFS_ATMOS_WAFS -* JGFS_WAFS_BLENDING -> JGFS_ATMOS_WAFS_BLENDING -* JGFS_WAFS_GCIP -> JGFS_ATMOS_WAFS_GCIP -* JGFS_WAFS_GRIB2 -> JGFS_ATMOS_WAFS_GRIB2 -* JGLOBAL_ANALYSIS -> JGLOBAL_ATMOS_ANALYSIS -* JGLOBAL_EMCSFC_SFC_PREP -> JGLOBAL_ATMOS_EMCSFC_SFC_PREP -* JGLOBAL_ENKF_SELECT_OBS -> JGDAS_ENKF_SELECT_OBS -* JGLOBAL_ENKF_UPDATE -> JGDAS_ENKF_UPDATE -* JGLOBAL_TROPCY_QC_RELOC -> JGLOBAL_ATMOS_TROPCY_QC_RELOC -* JGLOBAL_NCEPPOST -> JGLOBAL_ATMOS_NCEPPOST -* JGLOBAL_POST_MANAGER -> JGLOBAL_ATMOS_POST_MANAGER - -New job scripts are: - -* JGDAS_ATMOS_ANALYSIS_DIAG -* JGDAS_ATMOS_CHGRES_FORENKF -* JGDAS_ATMOS_GLDAS -* JGDAS_ENKF_DIAG -* JGDAS_ENKF_SFC -* JGFS_ATMOS_FSU_GENESIS -* JGFS_ATMOS_WAFS_GRIB2_0P25 -* JGFS_ATMOS_WAFS_BLENDING_0P25 -* JGLOBAL_ATMOS_ANALYSIS_CALC -* JGLOBAL_WAVE_GEMPAK -* JGLOBAL_WAVE_INIT -* JGLOBAL_WAVE_POST_BNDPNT -* JGLOBAL_WAVE_POST_PNT -* JGLOBAL_WAVE_POST_SBS -* JGLOBAL_WAVE_PRDGEN_BULLS -* JGLOBAL_WAVE_PRDGEN_GRIDDED -* JGLOBAL_WAVE_PREP - -Removed job scripts are: - -* JGDAS_BULLS_NAVY -* JGDAS_TROPC -* JGFS_FAX -* JGFS_FAX_WAFS -* JGLOBAL_ENKF_INNOVATE_OBS - --------------- -SCRIPT CHANGES --------------- - -Many scripts have been added, removed or renamed to meet NCO script naming conventions for GFS.v16. - -Renamed scripts are: - -* exemcsfc_global_sfc_prep.sh.ecf -> exemcsfc_global_sfc_prep.sh -* exgdas_nawips.sh.ecf -> exgdas_atmos_nawips.sh -* exgdas_nceppost.sh.ecf -> exgdas_atmos_nceppost.sh -* exgdas_vrfminmon.sh.ecf -> exgdas_atmos_vminmon.sh -* exgdas_vrfyrad.sh.ecf -> exgdas_atmos_verfrad.sh -* exgdas_vrfyozn.sh.ecf -> exgdas_atmos_verfozn.sh -* exgempak_gdas_gif_ncdc.sh.ecf -> exgdas_atmos_gempak_gif_ncdc.sh -* exgempak_gfs_gif_ncdc_skew_t.sh.ecf -> exgfs_atmos_gempak_gif_ncdc_skew_t.sh -* exgfs_awips_20km_1p0deg.sh.ecf -> exgfs_atmos_awips_20km_1p0deg.sh -* exgfs_fbwind.sh.ecf -> exgfs_atmos_fbwind.sh -* exgfs_gempak_meta.sh.ecf -> exgfs_atmos_gempak_meta.sh -* exgfs_grib_awips.sh.ecf -> exgfs_atmos_grib_awips.sh -* exgfs_nawips.sh.ecf -> exgfs_atmos_nawips.sh -* exgfs_nceppost.sh.ecf -> exgfs_atmos_nceppost.sh -* exgfs_pmgr.sh.ecf -> exgfs_pmgr.sh -* exgfs_postsnd.sh.ecf -> exgfs_atmos_postsnd.sh -* exgfs_prdgen_manager.sh.ecf -> exgfs_prdgen_manager.sh -* exgfs_vrfminmon.sh.ecf -> exgfs_atmos_vminmon.sh -* exgfs_wafs_blending.sh.ecf -> exgfs_atmos_wafs_blending.sh -* exgfs_wafs_gcip.sh.ecf -> exgfs_atmos_wafs_gcip.sh -* exgfs_wafs_grib.sh.ecf -> exgfs_atmos_wafs_grib.sh -* exgfs_wafs_grib2.sh.ecf -> exgfs_atmos_wafs_grib2.sh -* exglobal_analysis_fv3gfs.sh.ecf -> exglobal_atmos_analysis.sh -* exglobal_enkf_fcst_fv3gfs.sh.ecf -> exgdas_enkf_fcst.sh -* exglobal_enkf_recenter_fv3gfs.sh.ecf -> exgdas_enkf_ecen.sh -* exglobal_enkf_post_fv3gfs.sh.ecf -> exgdas_enkf_post.sh -* exglobal_enkf_update_fv3gfs.sh.ecf -> exgdas_enkf_update.sh -* exglobal_fcst_nemsfv3gfs.sh -> exglobal_forecast.sh -* exglobal_grib2_special_npoess.sh.ecf -> exgfs_atmos_grib2_special_npoess.sh -* exglobal_innovate_obs_fv3gfs.sh.ecf -> exgdas_enkf_select_obs.sh -* exglobal_pmgr.sh.ecf -> exglobal_atmos_pmgr.sh -* exgoes_nawips.sh.ecf -> exgfs_atmos_goes_nawips.sh -* exnawips.sh.ecf -> exgfs_atmos_nawips.sh -* extropcy_qc_reloc.sh.ecf -> exglobal_atmos_tropcy_qc_reloc.sh - -New scripts are: - -* exgdas_atmos_gldas.sh -* exgdas_enkf_sfc.sh -* exgfs_atmos_wafs_grib2_0p25.sh -* exgfs_atmos_wafs_blending_0p25.sh -* exgfs_wave_init.sh -* exgfs_wave_nawips.sh -* exgfs_wave_post_bndpnt.sh -* exgfs_wave_post_gridded_sbs.sh -* exgfs_wave_post_pnt.sh -* exgfs_wave_prdgen_bulls.sh -* exgfs_wave_prdgen_gridded.sh -* exgfs_wave_prep.sh -* exgdas_atmos_chgres_forenkf.sh -* exglobal_atmos_analysis_calc.sh -* exglobal_diag.sh - -Removed scripts are: - -* exgdas_bulls_navy.sh.ecf -* exgdas_tropc.sh.ecf -* exgfs_fax.sh.ecf -* exgfs_fax_wafs.sh.ecf -* exgfs_grib_awips_g2.sh.ecf -* exgfs_grib_wafs.sh.ecf - -------------------- -PARM/CONFIG CHANGES -------------------- - -All JJOBS except for those used by downstream product generation source config files under ./gfs.v16.0.0/parm/config to set up job-specific parameters. The config.base is sourced by all JJOBS to set parameters that are common to either all JJOBS or are shared by more than one JJOBS. The config.anal is shared by a few analysis steps, config.wave is shared by the wave steps, and config.wafs is shared by the WAFS jobs. Below are the parm (config) files modified or added in GFS.v16. - -Modified configs: - -* config.anal -* config.arch -* config.awips -* config.base.emc.dyn -* config.base.nco.static -* config.earc -* config.ecen -* config.efcs -* config.eobs -* config.epos -* config.eupd -* config.fcst -* config.fv3 -* config.fv3ic -* config.gempak -* config.post -* config.postsnd -* config.prep -* config.prepbufr -* config.resources -* config.vrfy - -New configs: - -* config.analcalc -* config.analdiag -* config.echgres -* config.ediag -* config.esfc -* config.gldas -* config.metp -* config.wafs -* config.wafsblending -* config.wafsblending0p25 -* config.wafsgcip -* config.wafsgrib2 -* config.wafsgrib20p25 -* config.wave -* config.waveawipsbulls -* config.waveawipsgridded -* config.wavegempak -* config.waveinit -* config.wavepostbndpnt -* config.wavepostpnt -* config.wavepostsbs -* config.waveprep - ------------ -FIX CHANGES ------------ - -* All fixed fields used by the system are placed under gfs.v16.0.0/fix, and further categorized based on the type of applications. During the NCO implementation process the fix_gsi and wafs fix files are copied from external repositories via sorc/checkout.sh and linked under /fix via sorc/link_fv3gfs.sh. All other fix files are copied from EMC's local archives via sorc/link_fv3gfs.sh: fix_am, fix_fv3_gmted2010, fix_gldas, fix_orog, fix_verif, fix_wave_gfs - -The entire package takes 165 GB disk space to install. This ./fix directory alone takes ~153G. - -New fix files: - -* fix_am - new solar constants, Thompson MP climatology, salinity climatology -* fix_fv3_gmted2010 - new fix_sfc subfolder -* fix_gldas - new folder with files for GLDAS package -* fix_orog - new global lake files -* fix_verif - new grid2obs files -* fix_wave_gfs - new folder with files for wave component - ---------------- -PRODUCT CHANGES ---------------- - -* Please refer to GFSv16 SCN: https://docs.google.com/document/d/1pDLqP6ne2grEJ2vMfw7RnkwyzRsGpGPMb1d2DeDuu2E/edit - --------------------- -RESOURCE INFORMATION --------------------- - -* Frequency of run - 6 hourly cycle (00, 06, 12, 18Z) - no change from current operations - -* Commonly used libraries, compiler, and modules are defined in gfs.v16.0.0/modulefiles. For FV3, GSI, GLDAS, UPP, WAFS they maintain their own module files under gfs.v16.0.0/sorc/(fv3gfs gsi gldas gfs_post gfs_wafs).fd/modulefiles - -* Data retention time under $COMROOTp3 for GFS.v16 should be the same as GFS.v15. - -* Disk space: The current operational GFS.v15 takes about 10.7 TB online COM disk space per cycle, while GFS.v16 will require about 8.0 TB per cycle. - -* Computational resources and run times: - - * Please refer to the following document for the details of node usage,threading, and walltimes set in ECFLOW job cards for all jobs: - https://docs.google.com/spreadsheets/d/1XAa5mDWLQJSMgyxhR8W7RRuENJN7koJN-rIHLkTgieo/edit#gid=0 - - * Please refer to the following document for the high watermark test results for the overall computational cost of the system: - https://docs.google.com/presentation/d/1aNi5doryHO_lNhtTq-jGzFh9Wi4Xu1Z5DNb921nhw74/edit#slide=id.ga069802256_0_377 - -* Information about the major steps and actual runtimes from EMC high watermark tests are listed below: - - * JGLOBAL_FORECAST (GFS) - * 484 nodes, 3388 tasks, ptile=7, 4 threads/task - * Runtime: 125 minutes - - * JGLOBAL_FORECAST (GDAS) - * 119 nodes, 833 tasks, ptile=7, 4 threads/task - * Runtime: 22 minutes - - * JGLOBAL_ATMOS_ANALYSIS (GFS) - * 250 nodes, 1000 tasks, ptile=4, 7 threads/task - * Runtime: 29 minutes - - * JGLOBAL_ATMOS_ANALYSIS (GDAS) - * 250 nodes, 1000 tasks, ptile=4, 7 threads/task - * Runtime: 38 minutes - - * JGDAS_ENKF_SELECT_OBS - * 120 nodes, 480 tasks, ptile=4, 7 threads/task - * Runtime: 3.8 minutes - - * JGDAS_ENKF_UPDATE - * 240 nodes, 960 tasks, ptile=4, 7 threads/task - * Runtime: 26 minutes - - * JGDAS_ENKF_ECEN - * 20 nodes, 80 tasks, ptile=4, 7 threads/task - * Runtime: 4.4 minutes per realization - * Concurrently run 3 realizations of JGDAS_ENKF_ECEN. Total node usage for 3 jobs x 20 nodes each = 60 nodes. - - * JGDAS_ENKF_FCST - * 15 nodes, 420 tasks, ptile=28, 1 threads/task - * Runtime: 29 minutes per realization - * Concurrently run 40 realizations of JGDAS_ENKF_FCST. Each job processes 2 EnKF - members. Total node usage for 40 jobs x 15 nodes each = 600 nodes - * 40 EnKF forecast groups for GFS.v16 is an increase from the 20 EnKF forecast groups - currently run in operations. - - * JGDAS_ENKF_POST - * 20 nodes, 80 tasks, ptile=4, 7 threads/task - * Runtime: 11 minutes per realization - * Concurrently run 7 realizations of JGDAS_ENKF_POST. 7 forecasts processed, one - per job. Total node usage for 7 jobs x 20 nodes each = 140 nodes. - ---------------------------------------- -PRE-IMPLEMENTATION TESTING REQUIREMENTS ---------------------------------------- - -* Which production jobs should be tested as part of this implementation? - * All components of this package need to be tested. EMC is running a real-time parallel using the same system. We will work with the SPA to provide initial conditions from this parallel to run the NCO parallel during the implementation process. We will compare results from EMC and NCO parallels to ensure they reproduce each other. - -* Does this change require a 30-day evaluation? - * Yes, the entire GFS.v16 package requires a 30-day evaluation - -* Suggested evaluators - * Please contact fanglin.yang@noaa.gov, russ.treadon@noaa.gov, and kate.friedman@noaa.gov for evaluation. - -------------------------- -DISSEMINATION INFORMATION -------------------------- - -* Where should this output be sent? - * Please refer to GFSv16 SCN. Additionally, we have sent a request to NCO Dataflow to start sending new files WAFS_0p25_blended_YYYYMMDDHHfFF.grib2 to AWC only. - -* Who are the users? - * same as current operations plus multi_1 users - -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * Same as current operational gfs, plus wave products. As there are certain changes in product names and types, EMC will provide support for NCO dataflow team to finalize the list.The amount of data to be transferred also depends on NCO’s network bandwidth. - -* Directory changes - - * Add $COMPONENT subfolder to gfs, gdas, and enkf paths for atmospheric component underneath the $cyc folder: - - $COMROOTp3/gfs/prod/gfs.$PDY/$cyc/atmos - $COMROOTp3/gfs/prod/gdas.$PDY/$cyc/atmos - $COMROOTp3/gfs/prod/enkf.gdas.$PDY/$cyc/atmos/memXXX - - * Introduce wave model via $COMPONENT subfolder under gfs and gfs $cyc folders: - - $COMROOTp3/gfs/prod/gfs.$PDY/$cyc/wave - $COMROOTp3/gfs/prod/gdas.$PDY/$cyc/wave - -* File changes - - * The UPP(post) file changes can be referred to: - https://docs.google.com/spreadsheets/d/1I-nqfVO67qE3uHah1p9UNbBPgcStXptEj91MBucSTb4/edit?usp=sharing - ------------- -HPSS ARCHIVE ------------- - -Please refer to the following document for current operational GFS.v15 archives and the proposed archives for GFS.v16: -https://docs.google.com/spreadsheets/d/1KkyXa-ZyWCjKul_kijUM4241VBzAerMifMOShLy0crY/edit#gid=0 - -Please check WCOSS /gpfs/dell1/nco/ops/nwprod/runhistory.v2.3.2/parm/gfs to see a full list of GFS.v15 files archived in HPSS tape. - -------------------------------- -JOB DEPENDENCIES & FLOW DIAGRAM -------------------------------- - -GDAS and GFS flowchart (downstream jobs compressed): -https://docs.google.com/presentation/d/1grydJSn3LxNishdHOxwOQMyxkLsEzlIfj1PHiTUrAkE/edit#slide=id.g6ee6c85d17_0_0 - -=========== -Prepared by -Kate.Friedman@noaa.gov -Fanglin.Yang@noaa.gov -Russ.Treadon@noaa.gov -Jun.Wang@noaa.gov -Helin.Wei@noaa.gov -George.Gayno@noaa.gov -Wen.Meng@noaa.gov -Yali.Mao@noaa.gov -Jessica.Meixner@noaa.gov -=========== diff --git a/docs/Release_Notes.gfs.v16.1.0.txt b/docs/Release_Notes.gfs.v16.1.0.txt deleted file mode 100644 index 82960aee09..0000000000 --- a/docs/Release_Notes.gfs.v16.1.0.txt +++ /dev/null @@ -1,193 +0,0 @@ -GFS V16.1.0 RELEASE NOTES - - -PRELUDE - - NOAA awarded Delivery Order 2 (DO-2) of its commercial radio occultation (RO) - data purchase to GeoOptics on February 19, 2021. This purchase covers 1300 - occultations a day over a six month period with the data flow starting on - March 17, 2021. - - The quality of the GeoOptics occultations was examined during Delivery - Order 1 (DO-1) in December 2020 and January 2021. Forecast impact assessment - was conducted using half resolution parallels in the GFSv16 framework. - - Testing of the DO-2 data is being carried out using a real time full - resolution parallel, v161rt1. It was initially started in mid-February - to test reproducibility with the GFSv16 NCO parallel, then adjusted to reduce - computational footprint. Data from GeoOptics began to be assimilated as soon - as it was available on March 17. Configuration for the use of the commercial - data was informed by the results of DO-1 experimentation, with the quality - control and observation errors being treated as other RO data with the - exception of lowering the upper bound of data. - - This package also addresses several GFS v16 bugzilla tickets. GFS v16 - bugzilla tickets #1196 and #1205 are resolved in this package. The error - reported in bugzilla ticket #1206 has been documented to be compiler, not - code, specific. The DA aspect of GFS v16 bugzilla tickets #216, #1198, #1218, - #1221, and #1222 are also addressed by this package. None of the DA - bugzilla changes alter analysis results. - - GFSv16 introduced a bug where the sign of the layer height (delz) increment - was flipped. The included bugfix reverts the sign as originally intended. - This fix was tested in both a low resolution setting and with a full - resolution parallel, v16rt2c. Once v16rt2c was seen as viable, it also - began assimilating the GeoOptics data so both changes were tested in one - package. - - There are several wave related fixes being included in this update: - * Including the RW-NH* boundary points which are used in NHC's - offline NWPS system were removed from multi_1 to GFSv16, which - also requires a minor script bug fix. - * Fix the interpolation to the East Pacific wave grid to include - all of the American Samoa islands. - * Unmask the Gulf of California, Red Sea and Persian Gulf in the - global 0p25 interpolated wave output grid. - - -CHANGES TO RESOURCES AND FILE SIZES - - Impact of including RW-NHC points is: There should be no impact to the - forecast job timing, however the *wave.out_pnt.points* files in the - wave/rundata com directories will each increase in size by 6MB. The - JGLOBAL_WAVE_POST_BNDPNTBLL and JGLOBAL_WAVE_POST_BNDPNT will now take - approximately 20 minutes longer. The gfswave.tZZz.ibpbull_tar will - increase in size to be 78M, gfswave.tZZz.ibpcbull_tar will now be 42M - and the gfswave.tZZz.ibp_tar file will now be 11 GB. - - Impact of East Pacific and global 0p25 wave grid fixes: There are no - impacts in terms of resources or file size. - - -IMPLEMENTATION INSTRUCTIONS - - The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com - are used to manage the GFS.v16.1 code. The SPA(s) handling the GFS.v16.1 - implementation need to have permissions to clone VLab gerrit repositories and - the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are - publicly readable and do not require access permissions. Please follow the - following steps to install the package on WCOSS-Dell: - - 1) cd $NWROOTp3 - - 2) mkdir gfs.v16.1.0 - - 3) cd gfs.v16.1.0 - - 4) git clone -b EMC-v16.1.0 https://github.com/NOAA-EMC/global-workflow.git . - - 5) cd sorc - - 6) ./checkout.sh -o - * This script extracts the following GFS components: - MODEL tag GFS.v16.0.16 Jun.Wang@noaa.gov - GSI tag gfsda.v16.1.0 Russ.Treadon@noaa.gov - GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov - UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov - POST tag upp_gfsv16_release.v1.1.3 Wen.Meng@noaa.gov - WAFS tag gfs_wafs.v6.0.21 Yali.Mao@noaa.gov - - 7) ./build_all.sh - * This script compiles all GFS components. Runtime output from the build for - each package is written to log files in directory logs. To build an - individual program, for instance, gsi, use build_gsi.sh. - - 8) ./link_fv3gfs.sh nco dell - - -SORC CHANGES - -* sorc/ - * checkout.sh will checkout the following changed model tags: - * MODEL; tag GFS.v16.0.16 - There are no changes in this tag - compared to operations. The tag number was updated from - tag GFS.v16.0.15 to incorporate the local changes made in operations. - - * GSI; tag gfsda.v16.1.0 - See release notes - doc/Release_Notes.gfsda.v16.1.0.txt in the GSI tag for details. - - * POST; tag upp_gfsv16_release.v1.1.3 - There are no changes in this tag - compared to operations. The tag number was updated from - tag upp_gfsv16_release.v1.1.1 to incorporate the local changes made - in operations. - - * WAFS; tag gfs_wafs.v6.0.21 - There are no changes in this tag compared to - operations. The tag number was updated from gfs_wafs.v6.0.17 to - incorporate the local changes made in operations. - - -JOBS CHANGES - -* No change from GFS v16.0 - - -PARM/CONFIG CHANGES - -* No change from GFS v16.0 - - -SCRIPT CHANGES - -* There is one bug fix for waves that is a script change in scripts/exgfs_wave_post_pnt.sh - to ensure all point output is created (for example for the RW-NH* points). - - -FIX CHANGES - -* The contents of fix/fix_gsi have been updated. See release notes - doc/Release_Notes.gfsda.v16.1.0.txt in the NOAA-EMC/GSI tag gfsda.v16.1.0 - for details. - -* For the wave fix to include the RW-NH-* boundary points for the wave - point output, the following two fix files can be copied to the - fix/fix_wave_gfs folder: - /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix_wave_gfs_v16.1.1/wave_gfs.buoys - /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix_wave_gfs_v16.1.1/wave_gfs.buoys.full - - -* For the wave fix to the East Pacific wave grid interpolation the following - fix file with fix can be copied to the fix/fix_wave_gfs folder: - /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix_wave_gfs_v16.1.1/ep_10m_interp.inp.tmpl - -* For the wave fix to include the Gulf of California, Red Sea, and Persian Gulf - the following to fix files need to be copied to the fix/fix_wave_gfs folder: - /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix_wave_gfs_v16.1.1/ww3_grid.inp.glo_15mxt - /gpfs/dell2/emc/modeling/noscrub/emc.glopara/git/fv3gfs/fix_wave_gfs_v16.1.1/WHTGRIDINT.bin.glo_15mxt - - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - -* Which production jobs should be tested as part of this implementation? - * The entire GFS v16.1 package needs to be installed and tested. - -* Does this change require a 30-day evaluation? - * No. - - -DISSEMINATION INFORMATION - -* Where should this output be sent? - * No change from GFS v16.0 - -* Who are the users? - * No change from GFS v16.0 - -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v16.0 - -* Directory changes - * No change from GFS v16.0 - -* File changes - * No change from GFS v16.0 - - -HPSS ARCHIVE - -* No change from GFS v16.0 - - -JOB DEPENDENCIES AND FLOW DIAGRAM - -* No change from GFS v16.0 - diff --git a/docs/Release_Notes.gfs.v16.1.4.txt b/docs/Release_Notes.gfs.v16.1.4.txt deleted file mode 100644 index 5cc9b6bbd7..0000000000 --- a/docs/Release_Notes.gfs.v16.1.4.txt +++ /dev/null @@ -1,160 +0,0 @@ -GFS V16.1.4 RELEASE NOTES - - -PRELUDE - - NOAA awarded Delivery Order 3 (DO-3) of its commercial radio occultation - (RO) data purchase to Spire Global on August 12, 2021. This purchase - covers 3000 occultations per day over a six month period with the data - flow starting on September 16, 2021. On the same date, the GeoOptics - data from Delivery Order 2 (DO-2) will be discontinued. - - GNSSRO bending angle observations from GeoOptics and Spire were initially - evaluated as part of Delivery Order 1 (DO-1), covering a 30-day period - starting on December 15, 2020. The data from both vendors were found to - be of similar quality to other operationally assimilated RO data. Low - resolution experiments informed the configuration of the quality control - and observation errors for the following DO-2, which was awarded to - GeoOptics only, covering an average of 1300 occultations per day over a - six month period starting on March 17, 2021. These data began to be - assimilated operationally with the implementation of GFSv16.1.1 on - May 22, 2021 after two months of parallel testing at full resolution. - - Following the v16.1.1 implementation, the observation errors for - commercial RO were tuned to better utilize the new data. Additionally, - two fixes related to the handling of super-refractivity in the RO bending - angle observation operator were added. These fixes resolve minimization - issues that were related to the increased vertical resolution in v16. - Therefore, the stricter gross check quality control measures originally - put in place to mitigate minimization problems will now be relaxed. - - This implementation plans to: - * Turn off the active assimilation of GeoOptics data - * Turn on the active assimilation of Spire data - * Adjust the observation errors for the Spire data - * Address two issues within the RO bending angle observation operator - * Relax the strict gross check added because of those issues. - - These changes only affect two files within the GSI tag of the global workflow. - - In addition, a small bug fix is required to correct the ingest of new BUFR - observations from ships that was previously causing erroneous observations - to be assimilated. This alters one additional file in the GSI tag. - -IMPLEMENTATION INSTRUCTIONS - - The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com - are used to manage the GFS.v16.1.4 code. The SPA(s) handling the GFS.v16.1.4 - implementation need to have permissions to clone VLab gerrit repositories and - the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are - publicly readable and do not require access permissions. Please follow the - following steps to install the package on WCOSS-Dell: - - 1) cd $NWROOTp3 - - 2) mkdir gfs.v16.1.4 - - 3) cd gfs.v16.1.4 - - 4) git clone -b EMC-v16.1.4 https://github.com/NOAA-EMC/global-workflow.git . - - 5) cd sorc - - 6) ./checkout.sh -o - * This script extracts the following GFS components: - MODEL tag GFS.v16.0.16 Jun.Wang@noaa.gov - GSI tag gfsda.v16.1.4 Russ.Treadon@noaa.gov - GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov - UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov - POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov - WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov - - 7) ./build_all.sh - * This script compiles all GFS components. Runtime output from the build for - each package is written to log files in directory logs. To build an - individual program, for instance, gsi, use build_gsi.sh. - - 8) ./link_fv3gfs.sh nco dell - - -SORC CHANGES - -* sorc/ - * checkout.sh will checkout the following changed model tags: - * GSI; tag gfsda.v16.1.4 - * src/gsi/setupbend.f90: Add two fixes for handling of - super-refractivity layer, change the observation errors - of the commercial data, relax stricter gross check back to - original values - * src/read_nsstbufr.f90: Changes to handle NC001013, NC001101 - and NC001113 marine bufr subsets. - - -FIX CHANGES - -* fix/fix_gsi: - * global_convinfo.txt: Discontinue assimilating GeoOptics and - begin assimilating Spire, relax stricter gross check back to - original values. - * gfsv16_historical/: Add fix files for retrospective parallels. - Does not impact operations. - - -PARM/CONFIG CHANGES - -* parm/config/config.anal: Add historical fix file entries. Does - not impact operations. - - -JOBS CHANGES - -* No change from GFS v16.1.3 - - -SCRIPT CHANGES - -* No change from GFS v16.1.3 - - -CHANGES TO RESOURCES AND FILE SIZES - - There should be no change in analysis runtime nor cnvstat file size - greater than the normal cycle to cycle variation. - - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - -* Which production jobs should be tested as part of this implementation? - * The entire GFS v16.1.4 package needs to be installed and tested. - -* Does this change require a 30-day evaluation? - * No. - - -DISSEMINATION INFORMATION - -* Where should this output be sent? - * No change from GFS v16.1.3 - -* Who are the users? - * No change from GFS v16.1.3 - -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v16.1.3 - -* Directory changes - * No change from GFS v16.1.3 - -* File changes - * No change from GFS v16.1.3 - - -HPSS ARCHIVE - -* No change from GFS v16.1.3 - - -JOB DEPENDENCIES AND FLOW DIAGRAM - -* No change from GFS v16.1.3 - diff --git a/docs/Release_Notes.gfs.v16.1.5.txt b/docs/Release_Notes.gfs.v16.1.5.txt deleted file mode 100644 index 0a618367e9..0000000000 --- a/docs/Release_Notes.gfs.v16.1.5.txt +++ /dev/null @@ -1,118 +0,0 @@ -GFS V16.1.5 RELEASE NOTES - -PRELUDE - -Metop-A, B and C all have similar orbits. Metop-C was launched on 7 November 2018 in a low-Earth polar orbit while Metop-A was launched in 2006. The Metop-A will be decommissioned in November 2021 and IASI_Metop-A data quality has degraded since September 17, so the assimilation of IASI_Metop-A was stopped on 9/22/2021 gfs.v16.1.3 implementation. The IASI_Metop-C data have similar quality as IASI_Metop-B. This implementation will start to assimilate IASI data on Metop-C. In addition, the correlated observation errors for hyperspectral Infrared instruments both IASI and CrIS were recomputed from recent operations, which should be a more accurate representation of the observation error statistics. Both low- and high-resolution parallel experiments show reasonable results as expected. - -In addition, a minimum value was set in gsi source code genqsat.f90 to limit the saturation specific humidity not smaller than 1.e-7, which is a risk mitigation feature and could avoid the potential risk of generating unphysical temperature in the analysis. - -This implementation plans to: - -* Turn on the active assimilation of Metop-C IASI data with correlated observation errors -* Update correlated observation errors for Metop-B IASI, N20 CrIS, and NPP CrIS -* Put in a minimum threshold for saturation specific humidity to avoid potential minimization issues. - -These changes affect one source code and several fix files within the GSI tag of the global workflow. - -Also bundled into this update are the new 2022 CO2 fix files (see files listed below) and a new FV3 model tag that adds traceback flags to compilation by default. The CO2 fix files will be included during the link setup step. Neither the CO2 fix file nor the FV3 tag updates impact model results. - -IMPLEMENTATION INSTRUCTIONS - -The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com are used to manage the GFS.v16.1.5 code. The SPA(s) handling the GFS.v16.1.5 implementation need to have permissions to clone VLab gerrit repositories and the private NCAR UPP_GTG repository (the nwprod account has access to the GTG repository). All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please follow the following steps to install the package on WCOSS-Dell. - -While logged in under the nwprod account: - -1) cd $NWROOTp3 -2) mkdir gfs.v16.1.5 -3) cd gfs.v16.1.5 -4) git clone -b EMC-v16.1.5 https://github.com/NOAA-EMC/global-workflow.git . -5) cd sorc -6) ./checkout.sh -o - * This script extracts the following GFS components: - MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov - GSI tag gfsda.v16.1.5 Russ.Treadon@noaa.gov - GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov - UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov - POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov - WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov - -7) ./build_all.sh - * This script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use build_gsi.sh. -8) ./link_fv3gfs.sh nco dell - -SORC CHANGES - -* checkout.sh will checkout the following changed model tags: - * MODEL tag GFS.v16.0.17 - * conf/configure.fv3.wcoss_dell_p3 and other platform configure.fv3 files: add “-g -traceback” to FFLAGS_OPT, CFLAGS_OPT, and CFLAGS_REPRO compilation settings - * GSI tag gfsda.v16.1.5 - * src/gsi/genqsat.f90: add a lower bound of qsat to avoid unphysical saturation specific humidity to be generated. - -FIX CHANGES - -* fix/fix_gsi: - * new files: - * Rcov_iasicsea - * Rcov_iasicland - * modified files: - * global_satinfo.txt: Turn on assimilating Metop-C IASI data and stop monitoring CrIS_NPP MW channels (iuse changed from -1 to -2) - * global_anavinfo.l127.txt: Add correlated observation errors for Metop-C IASI data and remove correlated observation errors for Metop-A IASI - * Rcov_iasibsea: recomputed from recent operations - * Rcov_iasibland: recomputed from recent operations - * Rcov_crisn20: recomputed from recent operations - * Rcov_crisnpp: updated and the MW channels are deleted from Rcov - * gfsv16_historical/: Add fix files for retrospective parallels. Does not impact operations. -* fix_am/co2dat_4a: - * global_co2historicaldata_2020.txt - * global_co2historicaldata_2021.txt_proj_u - * global_co2historicaldata_2022.txt_proj -* fix_am/fix_co2_proj: - * global_co2historicaldata_2022.txt -* fix_am/fix_co2_update: - * global_co2historicaldata_2021.txt - -PARM/CONFIG CHANGES - -* config.anal - * update global_convinfo.txt notes and global_satinfo.txt if-blocks for retrospective dates; no operational impact - -JOBS CHANGES - -* No change from GFS v16.1.4 - -SCRIPT CHANGES - -* No change from GFS v16.1.4 - -CHANGES TO RESOURCES AND FILE SIZES - -* There should be no change in analysis runtime nor radstat file size greater than the normal cycle to cycle variation. - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - -* Which production jobs should be tested as part of this implementation? - * The entire GFS v16.1.5 package needs to be installed and tested. -* Does this change require a 30-day evaluation? - * No. - -DISSEMINATION INFORMATION - -* Where should this output be sent? - * No change from GFS v16.1.4 -* Who are the users? - * No change from GFS v16.1.4 -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v16.1.4 -* Directory changes - * No change from GFS v16.1.4 -* File changes - * No change from GFS v16.1.4 - -HPSS ARCHIVE - -* No change from GFS v16.1.4 - -JOB DEPENDENCIES AND FLOW DIAGRAM - -* No change from GFS v16.1.4 - diff --git a/docs/Release_Notes.gfs.v16.1.6.txt b/docs/Release_Notes.gfs.v16.1.6.txt deleted file mode 100644 index 040a2028b0..0000000000 --- a/docs/Release_Notes.gfs.v16.1.6.txt +++ /dev/null @@ -1,147 +0,0 @@ -GFS V16.1.6 RELEASE NOTES - - -PRELUDE - - NOAA awarded Delivery Order 4 (DO-4) of its commercial radio occultation (RO) - data purchase to both Spire Global and GeoOptics on February 10, 2022. This - purchase covers 5500 occultations per day from Spire and 500 occultations per - day from GeoOptics over a 10 month period with the data flow starting on - March 16, 2022. - - Both GeoOptics and Spire have been assimilated in operations as part of - previous delivery orders. DO-1 was awarded to both vendors, but was used - for evaluation purposes only and not assimilated operationally. DO-2 was - awarded to GeoOptics and subsequently assimilated in the operational GFS/GDAS - as v16.1. DO-3 was then awarded to Spire only. The v16.1.4 implementation - turned on the assimilation of Spire data as well as turned off the assimilation - of GeoOptics. - - If no changes are made to operations, we will assimilate the Spire portion of - the purchase, but would not assimilate the new GeoOptics data. In order to - assimilate data from both vendors, a single line change in the global_convinfo.txt - fix file is required. There are no other changes planned for this implementation. - Once data flow begins on March 16th, a one-week evaluation of the new GeoOptics - observations is needed before implementation. - - In addition to DO-4, a small change is needed to accompany a change in the - observation processing. Winds "NeXRaD VAD WINDS FROM LEVEL 2 DECODER" - (tank b002/xx017) will soon be included in the global observation processing. - Since these observations have not yet been evaluated in the GFS, this observation - type (uv 224) will be set to monitor mode. This requires a single line change - in the global_convinfo.txt file. - - -IMPLEMENTATION INSTRUCTIONS - - The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com - are used to manage the GFS.v16.1.6 code. The SPA(s) handling the GFS.v16.1.6 - implementation need to have permissions to clone VLab gerrit repositories and - the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are - publicly readable and do not require access permissions. Please follow the - following steps to install the package on WCOSS-Dell: - - 1) cd $NWROOTp3 - - 2) mkdir gfs.v16.1.6 - - 3) cd gfs.v16.1.6 - - 4) git clone -b EMC-v16.1.6.2 https://github.com/NOAA-EMC/global-workflow.git . - - 5) cd sorc - - 6) ./checkout.sh -o - * This script extracts the following GFS components: - MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov - GSI tag gfsda.v16.1.6 Catherine.Thomas@noaa.gov - GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov - UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov - POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov - WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov - - 7) ./build_all.sh - * This script compiles all GFS components. Runtime output from the build for - each package is written to log files in directory logs. To build an - individual program, for instance, gsi, use build_gsi.sh. - - 8) ./link_fv3gfs.sh nco dell - - -SORC CHANGES - -* sorc/ - * checkout.sh will checkout the following changed model tags: - * GSI; tag gfsda.v16.1.6 - * No changes to the source code. - - -FIX CHANGES - -* fix/fix_gsi: - * global_convinfo.txt: Turn on active assimilation of GeoOptics and - turn off active assimilation of uv 224 VADWND. - * gfsv16_historical/global_convinfo.txt.2022031612: Add dated - convinfo file for retrospective parallels. Does not impact operations. - * gfsv16_historical/0readme: Update documentation. Does not - impact operations. - - -PARM/CONFIG CHANGES - -* parm/config/config.anal: Add historical fix file entry. Does - not impact operations. - - -JOBS CHANGES - -* No change from GFS v16.1.5 - - -SCRIPT CHANGES - -* No change from GFS v16.1.5 - - -CHANGES TO RESOURCES AND FILE SIZES - - There should be no change in analysis runtime nor cnvstat file size - greater than the normal cycle to cycle variation. - - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - -* Which production jobs should be tested as part of this implementation? - * The entire GFS v16.1.6 package needs to be installed and tested. - -* Does this change require a 30-day evaluation? - * No. - - -DISSEMINATION INFORMATION - -* Where should this output be sent? - * No change from GFS v16.1.5 - -* Who are the users? - * No change from GFS v16.1.5 - -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v16.1.5 - -* Directory changes - * No change from GFS v16.1.5 - -* File changes - * No change from GFS v16.1.5 - - -HPSS ARCHIVE - -* No change from GFS v16.1.5 - - -JOB DEPENDENCIES AND FLOW DIAGRAM - -* No change from GFS v16.1.5 - diff --git a/docs/Release_Notes.gfs.v16.1.7.txt b/docs/Release_Notes.gfs.v16.1.7.txt deleted file mode 100644 index e1b925c433..0000000000 --- a/docs/Release_Notes.gfs.v16.1.7.txt +++ /dev/null @@ -1,121 +0,0 @@ -GFS V16.1.7 RELEASE NOTES - - -PRELUDE - - Two updates in GFS v16.1.7 release: - 1) Tropical storm names are updated for 2022 hurricane season following WMO storm name - changes for each tropical cyclone basins. - 2) JTWC changed the format of the TCvital information, and the code - sorc/syndat_getjtbul.fd/getjtbul.f - need to be updated in order to decode correctly the JTWC TCvital information - - -IMPLEMENTATION INSTRUCTIONS - - The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com - are used to manage the GFS.v16.1.7 code. The SPA(s) handling the GFS.v16.1.7 - implementation need to have permissions to clone VLab gerrit repositories and - the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are - publicly readable and do not require access permissions. Please follow the - following steps to install the package on WCOSS-Dell: - - 1) cd $NWROOTp3 - - 2) mkdir gfs.v16.1.7 - - 3) cd gfs.v16.1.7 - - 4) git clone -b EMC-v16.1.7 https://github.com/NOAA-EMC/global-workflow.git . - - 5) cd sorc - - 6) ./checkout.sh -o - * This script extracts the following GFS components: - MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov - GSI tag gfsda.v16.1.6 Catherine.Thomas@noaa.gov - GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov - UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov - POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov - WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov - - 7) ./build_all.sh - * This script compiles all GFS components. Runtime output from the build for - each package is written to log files in directory logs. To build an - individual program, for instance, gsi, use build_gsi.sh. - - 8) ./link_fv3gfs.sh nco dell - - -SORC CHANGES - -* sorc/ - * checkout.sh will checkout the following code changes: - * sorc/syndat_getjtbul.fd/getjtbul.fi: - JTWC changed the TCvitals data format (new data contains Tab and Return-Key). - The code update can decode the new JTWC data correctly - * No changes to other source code. - - -FIX CHANGES - -* fix/fix_am: - * fix_am/syndat_stmnames: update tropical storm names for 2022 hurricane season. - - -PARM/CONFIG CHANGES - -* No changes from GFS v16.1.6 - - -JOBS CHANGES - -* No change from GFS v16.1.6 - - -SCRIPT CHANGES - -* No change from GFS v16.1.6 - - -CHANGES TO RESOURCES AND FILE SIZES - -* No change from GFS v16.1.6 - - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - -* Which production jobs should be tested as part of this implementation? - * job JGLOBAL_ATMOS_TROPCY_QC_RELOC should be tested. - -* Does this change require a 30-day evaluation? - * No. - - -DISSEMINATION INFORMATION - -* Where should this output be sent? - * No change from GFS v16.1.6 - -* Who are the users? - * No change from GFS v16.1.6 - -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v16.1.6 - -* Directory changes - * No change from GFS v16.1.6 - -* File changes - * No change from GFS v16.1.6 - - -HPSS ARCHIVE - -* No change from GFS v16.1.6 - - -JOB DEPENDENCIES AND FLOW DIAGRAM - -* No change from GFS v16.1.6 - diff --git a/docs/Release_Notes.gfs.v16.1.8.txt b/docs/Release_Notes.gfs.v16.1.8.txt deleted file mode 100644 index 1a01576623..0000000000 --- a/docs/Release_Notes.gfs.v16.1.8.txt +++ /dev/null @@ -1,128 +0,0 @@ -GFS V16.1.8 RELEASE NOTES - -PRELUDE - -Meteosat-9 replaces Meteosat-8 as the operational geostationary platform over the Indian Ocean on 20220601. To maintain continuity of operations, the /fix/fix_gsi/global_convinfo.txt file needs to be modified before this date (as soon as possible is preferable) - -IMPLEMENTATION INSTRUCTIONS - - The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com - are used to manage the GFS.v16.1.8 code. The SPA(s) handling the GFS.v16.1.8 - implementation need to have permissions to clone VLab gerrit repositories and - the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are - publicly readable and do not require access permissions. Please follow the - following steps to install the package on WCOSS-Dell: - - 1) cd $NWROOTp3 - - 2) mkdir gfs.v16.1.8 - - 3) cd gfs.v16.1.8 - - 4) git clone -b EMC-v16.1.8 https://github.com/NOAA-EMC/global-workflow.git . - - 5) cd sorc - - 6) ./checkout.sh -o - * This script extracts the following GFS components: - MODEL tag GFS.v16.0.17 Jun.Wang@noaa.gov - GSI tag gfsda.v16.1.8 Catherine.Thomas@noaa.gov - GLDAS tag gldas_gfsv16_release.v1.12.0 Helin.Wei@noaa.gov - UFS_UTILS tag ops-gfsv16.0.0 George.Gayno@noaa.gov - POST tag upp_gfsv16_release.v1.1.4 Wen.Meng@noaa.gov - WAFS tag gfs_wafs.v6.0.22 Yali.Mao@noaa.gov - - 7) ./build_all.sh - * This script compiles all GFS components. Runtime output from the build for - each package is written to log files in directory logs. To build an - individual program, for instance, gsi, use build_gsi.sh. - - 8) ./link_fv3gfs.sh nco dell - -SORC CHANGES - -* No changes from GFS v16.1.7 - - -FIX CHANGES - -* fix/fix_gsi/ - *fix/fix_gsi/global_convinfo.txt: Turn on uv satid 56 (three character change) - -PARM/CONFIG CHANGES - -* No changes from GFS v16.1.7 - - -JOBS CHANGES - -* No change from GFS v16.1.7 - - -SCRIPT CHANGES - -* No change from GFS v16.1.7 - - -CHANGES TO RESOURCES AND FILE SIZES - -* No change from GFS v16.1.7 - - -PRE-IMPLEMENTATION TESTING REQUIREMENTS - -* Which production jobs should be tested as part of this implementation? - * jobs jgdas_atmos_analysis and jgfs_atmos_analysis should be tested. Prior to 20220601, results should be identical. - -* Does this change require a 30-day evaluation? - * No. - -DISSEMINATION INFORMATION - -* Where should this output be sent? - * No change from GFS v16.1.7 - -* Who are the users? - * No change from GFS v16.1.7 - -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v16.1.7 - -* Directory changes - * No change from GFS v16.1.7 - -* File changes - * No change from GFS v16.1.7 - - -HPSS ARCHIVE - -* No change from GFS v16.1.7 - - -JOB DEPENDENCIES AND FLOW DIAGRAM - -* No change from GFS v16.1.7 - - -Temporary Location of Changed Files on disk. - -On WCOSS: -Replace: - /gpfs/dell1/nco/ops/nwprod/gfs.v16.1.7/fix/fix_gsi/global_convinfo.txt -and -/gpfs/dell1/nco/ops/nwprod/gfs.v16.1.7/sorc/gsi.fd/fix/global_convinfo.txt -(the above two files should be identical) -with: -/gpfs/dell2/emc/modeling/save/Andrew.Collard/Meteosat9/global_convinfo.txt.gfs.v16.1.8 -(updating version numbers as appropriate) - -On WCOSS2: -Replace: -/lfs/h1/ops/prod/packages/gfs.v16.2.0/fix/fix_gsi/global_convinfo.txt -and -/lfs/h1/ops/prod/packages/gfs.v16.2.0/sorc/gsi.fd/fix/global_convinfo.txt -(the above two files should be identical) -with: -/u/Andrew.Collard/global_convinfo.txt.gfs.v16.2.1 -(updating version numbers as appropriate) diff --git a/docs/Release_Notes.gfs.v16.2.0.md b/docs/Release_Notes.gfs.v16.2.0.md deleted file mode 100644 index 994282903e..0000000000 --- a/docs/Release_Notes.gfs.v16.2.0.md +++ /dev/null @@ -1,399 +0,0 @@ -GFS V16.2.0 RELEASE NOTES - -------- -PRELUDE -------- - -The GFSv16 is ported to the new WCOSS2 system (Cactus/Dogwood). - -IMPLEMENTATION INSTRUCTIONS ---------------------------- - -The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com are used to manage the GFS.v16.2.0 code. The SPA(s) handling the GFS.v16.2.0 implementation need to have permissions to clone VLab gerrit repositories and the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please follow the following steps to install the package on WCOSS2: - -```bash -cd $PACKAGEROOT -mkdir gfs.v16.2.0 -cd gfs.v16.2.0 -git clone -b EMC-v16.2.0.7 https://github.com/NOAA-EMC/global-workflow.git . -cd sorc -./checkout.sh -o -``` - -The checkout script extracts the following GFS components: - -| Component | Tag | POC | -| --------- | ----------- | ----------------- | -| MODEL | GFS.v16.2.0 | Jun.Wang@noaa.gov | -| GSI | gfsda.v16.2.0 | Russ.Treadon@noaa.gov | -| GLDAS | gldas_gfsv16_release.v.2.0.0 | Helin.Wei@noaa.gov | -| UFS_UTILS | ops-gfsv16.2.0 | George.Gayno@noaa.gov | -| POST | upp_v8.1.2 | Wen.Meng@noaa.gov | -| WAFS | gfs_wafs.v6.2.8 | Yali.Mao@noaa.gov | - -To build all the GFS components, execute: -```bash -./build_all.sh -``` -The `build_all.sh` script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use `build_gsi.sh`. - -Next, link the executables, fix files, parm files etc in their final respective locations by executing: -```bash -./link_fv3gfs.sh nco wcoss2 -``` - -Lastly, link the ecf scripts by moving back up to the ecf folder and executing: -```bash -cd ../ecf -./setup_ecf_links.sh -``` - -SORC CHANGES ------------- - -Necessary code changes for WCOSS2: - -* GSI: - * `src/gsi/ensctl2state.f90`: Nullify pointer declarations - * `src/gsi/ensctl2state_ad.f90`: Nullify pointer declarations - * `src/gsi/general_read_gfsatm.f90`: Bug fix to remove MPI rank issue that causes `global_gsi.x` to hang while using 1020 or more tasks. - * `src/gsi/read_obs.F90`: Remove verbose output causing a WARNING message to appear in the output. - * `src/enkf/mpi_readobs.f90`: Remove omp parallel, since they didn’t speed up the code and caused errors on WCOSS2. - -All components updated their codes to build on WCOSS2: - -* GLDAS - * `sorc/build_gdas2gldas.sh` - * `sorc/build_gldas2gdas.sh` - * `sorc/build_gldas_forcing.sh` - * `sorc/build_gldas_model.sh` - * `sorc/build_gldas_post.sh` - * `sorc/build_gldas_rst.sh` - * `sorc/gldas_model.fd/make/Makefile.noah` -* MODEL - * `conf/configure.fv3.wcoss2` - created -* GSI - * `ush/build_all_cmake.sh` -* POST - * `Externals.cfg` and `manage_externals` directory were removed - retire usage of `manage_externals`, use `git submodule` for GTG subcomponent now - * `sorc/build_ncep_post.sh` - * `sorc/ncep_post.fd/build_upp_lib.sh` - * `sorc/ncep_post.fd/makefile_lib` - * `sorc/ncep_post.fd/makefile_lib_wcoss2` - * `sorc/ncep_post.fd/makefile_module_wcoss2` -* UFS_UTILS - * `sorc/build_cycle.sh` - * `sorc/build_emcsfc.sh` - * `sorc/link_fixdirs.sh` - * `sorc/machine-setup.sh` - * `sorc/ufs_build.cfg` - disable chgres build -* WAFS - * `sorc/build_wafs.sh` -* Workflow - WCOSS2 and LUA module support changes throughout. Additional changes described below. - * `sorc/build_all.sh` - * `sorc/build_enkf_chgres_recenter.sh` - * `sorc/build_enkf_chgres_recenter_nc.sh` - * `sorc/build_fv3.sh` - add Orion support and consolidate compile commands - * `sorc/build_fv3nc2nemsio.sh` - * `sorc/build_gaussian_sfcanl.sh` - * `sorc/build_gfs_bufrsnd.sh` - * `sorc/build_gfs_fbwndgfs.sh` - * `sorc/build_regrid_nemsio.sh` - * `sorc/build_tropcy_NEMS.sh` - updated some library variable settings for hpc-stack - * `sorc/checkout.sh` - update component tags and adjust how GTG checkout occurs (Using `git submodules` now, no longer using `manage_externals`) - * `sorc/enkf_chgres_recenter_nc.fd/makefile` - hpc-stack library variable updates - * `sorc/fv3gfs_build.cfg` - remove duplicate gldas line - * `sorc/gaussian_sfcanl.fd/Makefile` - add CWD to line that needed it - * `sorc/gaussian_sfcanl.fd/makefile.sh` - hpc-stack library variable update - * `sorc/link_fv3gfs.sh` - add support for Orion, remove `global_chgres` exec link, add new emc/nco mode config check - * `sorc/machine-setup.sh` - add support for Orion, add `build.ver` sourcing - * `util/sorc/compile_gfs_util_wcoss.sh` - * `util/sorc/mkgfsawps.fd/makefile.wcoss2` - created - * `util/sorc/mkgfsawps.fd/compile_mkgfsawps_wcoss.sh` - * `util/sorc/overgridid.fd/compile_overgridid_wcoss.sh` - * `util/sorc/rdbfmsua.fd/makefile.wcoss2` - created - * `util/sorc/rdbfmsua.fd/compile_rdbfmsua_wcoss.sh` - * `util/sorc/webtitle.fd/compile_webtitle_wcoss.sh` - -FIX CHANGES ------------ - -* No changes from GFS v16.1.8 - -PARM/CONFIG CHANGES -------------------- - -* Workflow - * `env/WCOSS2.env` - created - * `parm/config/config.anal` - tiny whitespace cleanup - * `parm/config/config.base.emc.dyn` - a few QOL and Orion support updates for `dev`, also `jlogfile` removal, change `NWPROD` to `PACKAGEROOT` - * `parm/config/config.base.nco.static` - change default `machine` to `WCOSS2`, change `NWPROD` to `PACKAGEROOT` - * `parm/config/config.efcs` - update chunk settings for WCOSS2 - * `parm/config/config.fcst` - update chunk settings for WCOSS2 and set `io_layout="1,1"` when not C768 - * `parm/config/config.fv3.emc.dyn` - created to handle dev resource settings outside of ops for the FV3 dynamical core, link script picks when entered mode is “emc” - * `parm/config/config.fv3.nco.static` - formerly just `config.fv3`, contains resource settings for the FV3 in operations, link script picks when entered mode is “nco” - * `parm/config/config.gldas` - add needed `FINDDATE` setting - * `parm/config/config.prepbufr` - `GESROOT` for Orion - * `parm/config/config.resources.emc.dyn` - formerly known as `config.resources`, sets dev resource settings for running outside of ops, link script picks when entered mode is “emc” - * `parm/config/config.resources.nco.static` - created to handle ops resource settings, link script picks when entered mode is “nco” - * `parm/config/config.vrfy` - some dev updates - * `parm/config/config.wavepostbndpnt` - update to set `FHMAX_WAV_IBP=$FHMAX_GFS` when `$FHMAX_GFS < 180` - * `versions/build.ver` - created for WCOSS2 port - * `versions/run.ver` - created for WCOSS2 port - -JOBS CHANGES ------------- - -All job scripts listed here made the following changes: - -* Remove `postmsg`/`jlogfile` usage and references -* Add WCOSS2 checks where needed - -Other job script changes are noted under component bullets: - -* GLDAS - * `jobs/JGDAS_ATMOS_GLDAS` - * `ush/gldas_forcing.sh` - introduce `USE_CFP` and `cpc_precip` for EMC mode - * `ush/gldas_get_data.sh` -* GSI - The following job scripts were also updated to convert them from `ksh` to `bash`. A correction was also made to `JGDAS_ENKF_FCST` to fix `bash` treating `08` as an `octal`. - * `jobs/JGDAS_ATMOS_ANALYSIS_DIAG` - * `jobs/JGDAS_ATMOS_CHGRES_FORENKF` - * `jobs/JGDAS_ENKF_DIAG` - * `jobs/JGDAS_ENKF_ECEN` - * `jobs/JGDAS_ENKF_FCST` - * `jobs/JGDAS_ENKF_POST` - * `jobs/JGDAS_ENKF_SELECT_OBS` - * `jobs/JGDAS_ENKF_SFC` - * `jobs/JGDAS_ENKF_UPDATE` - * `jobs/JGLOBAL_ATMOS_ANALYSIS` - * `jobs/JGLOBAL_ATMOS_ANALYSIS_CALC` -* MODEL - * See main forecast job script (`JGLOBAL_FORECAST`) listed under workflow below -* POST - * `jobs/JGLOBAL_ATMOS_NCEPPOST` -* WAFS - * `jobs/JGFS_ATMOS_WAFS` - * `jobs/JGFS_ATMOS_WAFS_BLENDING` - * `jobs/JGFS_ATMOS_WAFS_BLENDING_0P25` - * `jobs/JGFS_ATMOS_WAFS_GCIP` - * `jobs/JGFS_ATMOS_WAFS_GRIB2` - * `jobs/JGFS_ATMOS_WAFS_GRIB2_0P25` -* Workflow - * `jobs/JGDAS_ATMOS_GEMPAK` - * `jobs/JGDAS_ATMOS_GEMPAK_META_NCDC` - * `jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG` - * `jobs/JGFS_ATMOS_AWIPS_G2` - * `jobs/JGFS_ATMOS_CYCLONE_GENESIS` - * `jobs/JGFS_ATMOS_CYCLONE_TRACKER` - * `jobs/JGFS_ATMOS_FBWIND` - * `jobs/JGFS_ATMOS_FSU_GENESIS` - * `jobs/JGFS_ATMOS_GEMPAK` - * `jobs/JGFS_ATMOS_GEMPAK_META` - * `jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF` - * `jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC` - * `jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS` - * `jobs/JGFS_ATMOS_POSTSND` - * `jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP` - * `jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC` - * `jobs/JGLOBAL_FORECAST` - * `jobs/JGLOBAL_WAVE_GEMPAK` - * `jobs/JGLOBAL_WAVE_INIT` - * `jobs/JGLOBAL_WAVE_POST_BNDPNT` - * `jobs/JGLOBAL_WAVE_POST_BNDPNTBLL` - * `jobs/JGLOBAL_WAVE_POST_PNT` - * `jobs/JGLOBAL_WAVE_POST_SBS` - * `jobs/JGLOBAL_WAVE_PRDGEN_BULLS` - * `jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED` - * `jobs/JGLOBAL_WAVE_PREP` - * `jobs/rocoto/awips.sh` - * `jobs/rocoto/gempak.sh` - * `jobs/rocoto/vrfy.sh` - * `jobs/rocoto/wafsgcip.sh` - * Remove duplicate rundir deletions: - * `jobs/rocoto/waveinit.sh` - * `jobs/rocoto/wavepostbndpnt.sh` - * `jobs/rocoto/wavepostbndpntbll.sh` - * `jobs/rocoto/wavepostpnt.sh` - * `jobs/rocoto/wavepostsbs.sh` - * `jobs/rocoto/waveprep.sh` - -SCRIPT CHANGES --------------- - -The following scripts were updated for WCOSS2 (includes postmsg/jlogfile removal - other changes mentioned below): - -* GLDAS - * `scripts/exgdas_atmos_gldas.sh` - replace `WCOSS_DELL_P3` machine check with `$USE_CFP` for CFP usage -* GSI (shell scripts also converted from `ksh` to `bash`) - * `scripts/exgdas_atmos_chgres_forenkf.sh` - * `scripts/exgdas_enkf_ecen.sh` - * `scripts/exgdas_enkf_fcst.sh` - * `scripts/exgdas_enkf_post.sh` - * `scripts/exgdas_enkf_select_obs.sh` - * `scripts/exgdas_enkf_sfc.sh` - * `scripts/exgdas_enkf_update.sh` - * `scripts/exglobal_atmos_analysis.sh` - also refactor for loop limits in `GENDIAGS` block. - * `scripts/exglobal_atmos_analysis_calc.sh` - * `scripts/exglobal_diag.sh` - * `ush/calcanl_gfs.py` - add `mpiexec` launcher option -* MODEL - * See main forecast driver script (`exglobal_forecast.sh`) listed under workflow below -* POST - * `scripts/exgdas_atmos_nceppost.sh` - * `scripts/exgfs_atmos_nceppost.sh` - * `ush/fv3gfs_downstream_nems.sh` -* UFS_UTILS - * `scripts/exemcsfc_global_sfc_prep.sh` - * `ush/emcsfc_ice_blend.sh` - * `ush/emcsfc_snow.sh` -* WAFS - * `scripts/exgfs_atmos_wafs_blending.sh` - * `scripts/exgfs_atmos_wafs_blending_0p25.sh` - * `scripts/exgfs_atmos_wafs_gcip.sh` - * `scripts/exgfs_atmos_wafs_grib.sh` - * `scripts/exgfs_atmos_wafs_grib2.sh` - * `scripts/exgfs_atmos_wafs_grib2_0p25.sh` - * `ush/mkwfsgbl.sh` - * `ush/wafs_blending.sh` - * `ush/wafs_intdsk.sh` -* Workflow - * `driver/*` - Remove `jlogfile` references from driver scripts and add new wcoss2 driver scripts - * `gempak/ush/gempak_gdas_f000_gif.sh` - * `gempak/ush/gempak_gfs_f00_gif.sh` - * `gempak/ush/gempak_gfs_f12_gif.sh` - * `gempak/ush/gempak_gfs_f24_gif.sh` - * `gempak/ush/gempak_gfs_f36_gif.sh` - * `gempak/ush/gempak_gfs_f48_gif.sh` - * `ush/gfs_bufr.sh` - * `ush/gfs_sndp.sh` - * `scripts/exgdas_atmos_gempak_gif_ncdc.sh` - * `scripts/exgdas_atmos_nawips.sh` - * `scripts/exgfs_atmos_awips_20km_1p0deg.sh` - * `scripts/exgfs_atmos_fbwind.sh` - * `scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh` - * `scripts/exgfs_atmos_gempak_meta.sh` - * `scripts/exgfs_atmos_goes_nawips.sh` - * `scripts/exgfs_atmos_grib2_special_npoess.sh` - * `scripts/exgfs_atmos_grib_awips.sh` - * `scripts/exgfs_atmos_nawips.sh` - * `scripts/exgfs_atmos_postsnd.sh` - * `scripts/exgfs_wave_init.sh` - * `scripts/exgfs_wave_nawips.sh` - * `scripts/exgfs_wave_post_gridded_sbs.sh` - * `scripts/exgfs_wave_post_pnt.sh` - * `scripts/exgfs_wave_prdgen_bulls.sh` - * `scripts/exgfs_wave_prdgen_gridded.sh` - * `scripts/exgfs_wave_prep.sh` - * `scripts/exglobal_atmos_tropcy_qc_reloc.sh` - * `scripts/exglobal_forecast.sh` - update `$NWPROD` to `$PACKAGEROOT` - * `ush/gaussian_sfcanl.sh` - update `$NWPROD` to `$PACKAGEROOT` - * `ush/gfs_bufr.sh` - replace backticks with proper syntax - * `ush/gfs_sndp.sh` - replace backticks with proper syntax - * `ush/global_extrkr.sh` - * `ush/load_fv3gfs_modules.sh` - update to source run.ver and load `module_base` in LUA format - * `ush/rocoto/*` - numerous updates to rocoto setup scripts to support WCOSS2 and Orion, also scripts converted from `python2` to `python3` - * `ush/syndat_getjtbul.sh` - * `ush/syndat_qctropcy.sh` - * `ush/tropcy_relocate.sh` - * `ush/wave_grib2_sbs.sh` - * `ush/wave_grid_interp.sh` - * `ush/wave_grid_interp_sbs.sh` - * `ush/wave_grid_moddef.sh` - * `ush/wave_outp_cat.sh` - * `ush/wave_outp_spec.sh` - * `ush/wave_prnc_cur.sh` - * `ush/wave_prnc_ice.sh` - * `ush/wave_tar.sh` - * `util/ush/mkawpgrb.sh` - * `util/ush/ml7_slm30g.sh` - * `util/ush/snd2forgn` - * `util/ush/snd2forgntbl.sh` - * `util/ush/sndncdc` - -MODULE CHANGES --------------- - -The following new WCOSS2 modulefiles were created and updated to conform with LUA format, as well as use new `*_ver` variables set by app-level build.ver versions files: - -* GLDAS - * `modulefiles/gdas2gldas.wcoss2.lua` - * `modulefiles/gldas2gdas.wcoss2.lua` - * `modulefiles/gldas_forcing.wcoss2.lua` - * `modulefiles/gldas_model.wcoss2.lua` - * `modulefiles/gldas_post.wcoss2.lua` - * `modulefiles/gldas_rst.wcoss2.lua` -* GSI - * `modulefiles/modulefile.ProdGSI.wcoss2.lua` -* MODEL - * `modulefiles/wcoss2/fv3` - not LUA format, given waiver -* POST - * `modulefiles/post/post_wcoss2.lua` - * `modulefiles/upp/upp_wcoss2.lua` -* UFS_UTILS - * `modulefiles/fv3gfs/global_cycle.wcoss2.lua` - * `modulefiles/modulefile.global_emcsfc_ice_blend.wcoss2.lua` - * `modulefiles/modulefile.global_emcsfc_snow2mdl.wcoss2.lua` -* WAFS - * `modulefiles/wafs/wafs_v6.0.0-wcoss2.lua` -* Workflow - * modulefiles to support Orion also included - * `modulefiles/fv3gfs/enkf_chgres_recenter.wcoss2.lua` - * `modulefiles/fv3gfs/enkf_chgres_recenter_nc.wcoss2.lua` - * `modulefiles/fv3gfs/gaussian_sfcanl.wcoss2.lua` - * `modulefiles/gfs_bufr.wcoss2.lua` - * `modulefiles/gfs_fbwndgfs.wcoss2.lua` - * `modulefiles/module-setup.csh.inc` - * `modulefiles/module-setup.sh.inc` - * `modulefiles/module_base.wcoss2.lua` - * `modulefiles/modulefile.fv3nc2nemsio.wcoss2.lua` - * `modulefiles/modulefile.regrid_nemsio.wcoss2.lua` - * `modulefiles/modulefile.storm_reloc_v6.0.0.wcoss2.lua` - * `util/modulefiles/gfs_util.wcoss2.lua` - -CHANGES TO RESOURCES AND FILE SIZES ------------------------------------ - -* File sizes - * No change to GFSv16.1.8. -* Resource changes to meet operational time windows: - * See updated Ecflow scripts for adjusted compute resources for WCOSS2. - * Pre-hand-off development testing results: - * Timing compared to WCOSS-Dell - Almost all jobs ran either within the +/-5min window or faster (exceptions noted below). Most serial jobs were faster. The largest MPI jobs were within their WCOSS-Dell windows and some even use fewer cores. - * Cores compared to WCOSS-Dell - On average the jobs used ~30% more cores in development testing, mainly as a result of getting jobs into timing windows. Optimization can improve this, particularly with the smaller jobs that could share nodes. See additional note on this below. - * A spreadsheet with development testing timings and resource settings is available upon request. - * Notes on important resource changes: - * Almost all 1 node jobs are serial and will use more cores due to the larger number of pes per node on WCOSS2 but they will also run considerably faster. Further optimization could improve this. - * The wave post point jobs all require about double the number of cores compared to WCOSS-Dell. There are also timing issues partly related to runtime variability on WCOSS2. Further optimization may improve these jobs. - * The `gdas[gfs]_analysis` jobs used just under double the number of cores but are snug in their WCOSS-Dell timing window. Further optimization could reduce the core number but retail timing. - * The `gfs_forecast` job runtime is fast but just under the WCOSS-Dell core number. Further optimization is needed to get it back into its WCOSS-Dell window. - -PRE-IMPLEMENTATION TESTING REQUIREMENTS ---------------------------------------- - -* Which production jobs should be tested as part of this implementation? - * The entire GFS v16.2.0 package needs to be installed and tested. -* Does this change require a 30-day evaluation? - * Yes. - -DISSEMINATION INFORMATION -------------------------- - -* Where should this output be sent? - * No change from GFS v16.1.8 -* Who are the users? - * No change from GFS v16.1.8 -* Which output files should be transferred from PROD WCOSS to DEV WCOSS? - * No change from GFS v16.1.8 -* Directory changes - * No change from GFS v16.1.8 -* File changes - * No change from GFS v16.1.8 - -HPSS ARCHIVE ------------- - -* No change from GFS v16.1.8 - -JOB DEPENDENCIES AND FLOW DIAGRAM ---------------------------------- -* No change from GFS v16.1.8 diff --git a/docs/Release_Notes.gfs.v16.2.1.md b/docs/Release_Notes.gfs.v16.2.1.md deleted file mode 100644 index 5581db22dc..0000000000 --- a/docs/Release_Notes.gfs.v16.2.1.md +++ /dev/null @@ -1,129 +0,0 @@ -GFS V16.2.1 RELEASE NOTES - -------- -PRELUDE -------- - -Several bug fixes for the GFSv16.2 package to resolve issues with the gfs_forecast job (wave restart calculation) and the gfs_atmos_postsnd (bufr sounding) job. - -IMPLEMENTATION INSTRUCTIONS ---------------------------- - -The NOAA VLab and both the NOAA-EMC and NCAR organization spaces on GitHub.com are used to manage the GFS.v16.2.1 code. The SPA(s) handling the GFS.v16.2.1 implementation need to have permissions to clone VLab gerrit repositories and the private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please follow the following steps to install the package on WCOSS2: - -```bash -cd $PACKAGEROOT -mkdir gfs.v16.2.1 -cd gfs.v16.2.1 -git clone -b EMC-v16.2.1 https://github.com/NOAA-EMC/global-workflow.git . -cd sorc -./checkout.sh -o -``` - -The checkout script extracts the following GFS components: - -| Component | Tag | POC | -| --------- | ----------- | ----------------- | -| MODEL | GFS.v16.2.0 | Jun.Wang@noaa.gov | -| GSI | gfsda.v16.2.0 | Russ.Treadon@noaa.gov | -| GLDAS | gldas_gfsv16_release.v.2.0.0 | Helin.Wei@noaa.gov | -| UFS_UTILS | ops-gfsv16.2.0 | George.Gayno@noaa.gov | -| POST | upp_v8.1.2 | Wen.Meng@noaa.gov | -| WAFS | gfs_wafs.v6.2.8 | Yali.Mao@noaa.gov | - -To build all the GFS components, execute: -```bash -./build_all.sh -``` -The `build_all.sh` script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use `build_gsi.sh`. - -Next, link the executables, fix files, parm files etc in their final respective locations by executing: -```bash -./link_fv3gfs.sh nco wcoss2 -``` - -Lastly, link the ecf scripts by moving back up to the ecf folder and executing: -```bash -cd ../ecf -./setup_ecf_links.sh -``` - -SORC CHANGES ------------- - -* Workflow - * `sorc/gfs_bufr.fd/calpreciptype.f` - * `sorc/gfs_bufr.fd/meteorg.f` - -FIX CHANGES ------------ - -* No changes from GFS v16.2.0 - -PARM/CONFIG CHANGES -------------------- - -* Workflow - * `env/WCOSS2.env` - postsnd adjustments - * `parm/config/config.resources.nco.static` - postsnd adjustments - * `parm/config/config.resources.emc.dyn` - postsnd adjustments - * `parm/transfer/transfer_rdhpcs_gfs_nawips.list` - -JOBS CHANGES ------------- - -* No changes from GFS v16.2.0 - -SCRIPT CHANGES --------------- - -* Workflow - * `ecf/scripts/gfs/atmos/post_processing/bulletins/jgfs_atmos_fbwind.ecf` - memory adjustment - * `ecf/scripts/gfs/atmos/post_processing/bufr_sounding/jgfs_atmos_postsnd.ecf` - resource adjustment - * `scripts/exglobal_forecast.sh` - update calculation of starting time of rerun based on if wave restarts exist - -MODULE CHANGES --------------- - -* Workflow - * `modulefiles/gfs_bufr.wcoss2.lua` - no longer build with -qopenmp - -CHANGES TO RESOURCES AND FILE SIZES ------------------------------------ - -* File sizes - * No change to GFSv16.2.0. -* Resource changes - * Adjustment to the gfs_atmos_postsnd job resources. - * Increase to memory for fbwind job. - -PRE-IMPLEMENTATION TESTING REQUIREMENTS ---------------------------------------- - -* Which production jobs should be tested as part of this implementation? - * The entire GFS v16.2.1 package needs to be installed and tested. -* Does this change require a 30-day evaluation? - * No. - -DISSEMINATION INFORMATION -------------------------- - -* Where should this output be sent? - * No change from GFS v16.2.0 -* Who are the users? - * No change from GFS v16.2.0 -* Which output files should be transferred from PROD WCOSS2 to DEV WCOSS2? - * No change from GFS v16.2.0 -* Directory changes - * No change from GFS v16.2.0 -* File changes - * No change from GFS v16.2.0 - -HPSS ARCHIVE ------------- - -* No change from GFS v16.2.0 - -JOB DEPENDENCIES AND FLOW DIAGRAM ---------------------------------- -* No change from GFS v16.2.0 diff --git a/docs/Release_Notes.gfs_downstream.v15.2.0.txt b/docs/Release_Notes.gfs_downstream.v15.2.0.txt deleted file mode 100644 index b1de8d6649..0000000000 --- a/docs/Release_Notes.gfs_downstream.v15.2.0.txt +++ /dev/null @@ -1,104 +0,0 @@ -RELEASE NOTES: GFS.v15.2.0 downstream products - released October 19, 2019 (tentative date) - -CODE CHANGES - No code change - -JOB CHANGES - The followig jobs (J-job) have been removed from GFS v15.2.0 - - JGFS_FAX (retired in June 12, 2019) - - JGFS_FAX_WAFS (retired in June 12, 2019) - - JGDAS_TROPC (NCO approved to remove in GFS V15.2.0) - - The remain GFS downstream jobs are below: - - JGDAS_GEMPAK - - JGDAS_GEMPAK_META_NCDC - - JGFS_AWIPS_G2 - - JGFS_FBWIND - - JGFS_GEMPAK - - JGFS_GEMPAK_META - - JGFS_PGRB2_SPEC_GEMPAK - - JGFS_AWIPS_20KM_1P0DEG - - JGFS_GEMPAK_NCDC_UPAPGIF - - JGFS_PGRB2_SPEC_NPOESS - - JGDAS_BULLS_NAVY - - All Job cards have same setting for testing on DELL with real-time GFS v15.2 data. - ( An example: JGFS_GEMPAK ) - # LSBATCH: User input - #BSUB -J gfs_gempak_00 - #BSUB -o /gpfs/dell2/ptmp/Boi.Vuong/output/gfs_gempak_00.o%J - #BSUB -q debug - #BSUB -cwd /gpfs/dell2/ptmp/Boi.Vuong/output - #BSUB -W 00:30 - #BSUB -P GFS-T2O - #BSUB -n 24 # 24 tasks - #BSUB -R span[ptile=12] # 12 task per node - #BSUB -R affinity[core(1):distribute=balance] # using 12 cores on node and bind to 1 - # core per task and distribute across sockets - - #################################### - ## Load the GRIB Utilities modules - #################################### - module load EnvVars/1.0.2 - module load ips/18.0.1.163 - module load CFP/2.0.1 - module load impi/18.0.1 - module load lsf/10.1 - module load prod_util/1.1.3 - module load prod_envir/1.0.3 - module load grib_util/1.1.0 - ########################################### - # Now set up GEMPAK/NTRANS environment - ########################################### - module load gempak/7.3.1 - module list - -FV3 GFS DRIVER: - All drivers are used to test GFS downtream jobs in gfs.v15.2.0/driver/product/run_*_dell.sh_xx where is xx is cycle - -The followig jobs, scripts, parm have been modified to meet NCO - EE2 implementation standards. -JOB CHANGES - JGDAS_BULLS_NAVY -removed dependencies for gempak on phase 1 - JGDAS_GEMPAK -removed dependencies for gempak on phase 1 - JGDAS_GEMPAK_META_NCDC - JGFS_AWIPS_20KM_1P0DEG - JGFS_AWIPS_G2 - JGFS_FBWIND - JGFS_GEMPAK -removed dependencies for gempak on phase 1 - JGFS_GEMPAK_META -removed dependencies for gempak on phase 1 - JGFS_GEMPAK_NCDC_UPAPGIF -removed dependencies for gempak on phase 1 - JGFS_PGRB2_SPEC_GEMPAK -removed dependencies for gempak on phase 1 - JGFS_PGRB2_SPEC_NPOESS - -SCRIPTS CHANGES - exgdas_bulls_navy.sh.ecf -removed dependencies for sstoi_grb on phase 1 - exgdas_nawips.sh.ecf -removed dependencies for gempak on phase 1 - exgempak_gdas_gif_ncdc.sh.ecf -removed dependencies for gempak on phase 1 - exgempak_gfs_gif_ncdc_skew_t.sh.ecf -removed dependencies for gempak on phase 1 - exgfs_awips_20km_1p0deg.sh.ecf - exgfs_fbwind.sh.ecf - exgfs_gempak_meta.sh.ecf -removed dependencies for gempak on phase 1 - exgfs_grib_awips_g2.sh.ecf - exgfs_grib_awips.sh.ecf - exgfs_nawips.sh.ecf -removed dependencies for gempak on phase 1 - exglobal_grib2_special_npoess.sh.ecf - exgoes_nawips.sh.ecf -removed dependencies for gempak on phase 1 - exnawips.sh.ecf -removed dependencies for gempak on phase 1 - -PARM CHANGES - No changes in parm cards for AWIPS products from GFS v15.1 - -USH CHANGES - mkbull_ntc.sh -removed dependencies for sstoi_grb on phase 1 - -GEMPAK CHANGES - -Adding the diretory dictionaries -removed dependencies for gempak on phase 1 - (Note: This directory comes from phase 1) - - All gempak's USH and FIX have been modified to remove all dependencies on Phase I - -ECFLOW CHANGES - -Removed GFS FAX, GFS FAX WAFS and GDAS_TROPC in ecflow suite definition and scripts - -=========== -Prepared by -Boi.Vuong@noaa.gov diff --git a/docs/Release_Notes.gfs_downstream.v16.0.0.txt b/docs/Release_Notes.gfs_downstream.v16.0.0.txt deleted file mode 100644 index 5ee6238b9d..0000000000 --- a/docs/Release_Notes.gfs_downstream.v16.0.0.txt +++ /dev/null @@ -1,114 +0,0 @@ -RELEASE NOTES: GFS.v16.0.0 downstream products - released March 31, 2020 (tentative date) - -CODE CHANGES - No code change - -AWIPS CHANGES - Removed field "5WAVH" in All parm crads for AWIPS 20km and 1.0 deg (UPP planed to remove in GFS v16.0) - -GEMPAK CHANGES - Removed simulated GOES 12/13 in GEMPAK and PGRB2 - Added simulated GOES 16/17 in GEMPAK and PGRB2 in LAT/LON 0.25 deg - -JOB CHANGES - - Removed JGDAS_BULLS_NAVY - to be retired in GFS V16.0 - - Removed JGDAS_TROPC - Rteired in GFS v15.2.0 - - The remain GFS downstream jobs are following: - - JGDAS_ATMOS_GEMPAK - - JGDAS_ATMOS_GEMPAK_META_NCDC - - JGFS_ATMOS_AWIPS_G2 - - JGFS_ATMOS_FBWIND - - JGFS_ATMOS_GEMPAK - - JGFS_ATMOS_GEMPAK_META - - JGFS_ATMOS_GEMPAK_PGRB2_SPEC - - JGFS_ATMOS_AWIPS_20KM_1P0DEG - - JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF - - JGFS_ATMOS_PGRB2_SPEC_NPOESS - -SCRIPTS CHANGES - The following script have been removed from GFS v16.0.0 - - exgfs_grib_awips_g2.sh.ecf (retired in June 12, 2019) - - exgdas_bulls_navy.sh.ecf (Plan to retire in GFSS v16.0.0) GDAS and NAVY bulletins - - Removed WINTEMV bulltin in script exgfs_atmos_fbwind.sh (WINTEMV bulletin plan to retire in GFS v16.0.0) - -PARM/wmo - - Removed parm in grid 160,161,213,254,225 -----> Retired in GFS v15.2.7 - --DRIVER - All Job cards have same setting for testing on DELL with real-time GFS v15.2 data. - ( An example: JGFS_ATMOS_GEMPAK ) - # LSBATCH: User input - #BSUB -J gfs_gempak_00 - #BSUB -o /gpfs/dell2/ptmp/Boi.Vuong/output/gfs_gempak_00.o%J - #BSUB -q debug - #BSUB -cwd /gpfs/dell2/ptmp/Boi.Vuong/output - #BSUB -W 00:30 - #BSUB -P GFS-DEV - #BSUB -n 24 # 24 tasks - #BSUB -R span[ptile=12] # 12 task per node - #BSUB -R affinity[core(1):distribute=balance] # using 12 cores on node and bind to 1 - # core per task and distribute across sockets - - #################################### - ## Load the GRIB Utilities modules - #################################### - module load EnvVars/1.0.2 - module load ips/18.0.1.163 - module load CFP/2.0.1 - module load impi/18.0.1 - module load lsf/10.1 - module load prod_util/1.1.4 - module load prod_envir/1.0.3 - module load grib_util/1.1.0 - ########################################### - # Now set up GEMPAK/NTRANS environment - ########################################### - module load gempak/7.3.3 - module list - -FV3 GFS DRIVER: - All drivers are used to test GFS downtream jobs in gfs.v16.0.0/driver/product/run_*_dell.sh_xx where is xx is cycle - -The followig jobs, scripts, parm have been modified to meet NCO - EE2 implementation standards. -JOB CHANGES (no changes) - JGDAS_ATMOS_GEMPAK - JGDAS_ATMOS_GEMPAK_META_NCDC - JGFS_ATMOS_AWIPS_G2 - JGFS_ATMOS_FBWIND - JGFS_ATMOS_GEMPAK - JGFS_ATMOS_GEMPAK_META - JGFS_ATMOS_GEMPAK_PGRB2_SPEC - JGFS_ATMOS_AWIPS_20KM_1P0DEG - JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF - JGFS_ATMOS_PGRB2_SPEC_NPOESS - -SCRIPTS CHANGES - exgdas_atmos_nawips.sh - exgdas_atmos_gempak_gif_ncdc.sh - exgfs_atmos_gempak_gif_ncdc_skew_t.sh - exgfs_atmos_awips_20km_1p0deg.sh - exgfs_atmos_fbwind.sh - exgfs_atmos_gempak_meta.sh - exgfs_atmos_grib_awips.sh - exgfs_atmos_nawips.sh - exgFS_atmos_grib2_special_npoess.sh - exgfs_atmos_goes_nawips.sh -removed dependencies for gempak on phase 1 - exgfs_atmos_nawips.sh -removed dependencies for gempak on phase 1 - -PARM CHANGES - Removed 5WAVH in parm cards for AWIPS products in GFS v16.0.0 - (NCEP POST stopped producing 5WAVH (plan to retire "5WAVH") in GFS v16.0.0 - -USH CHANGES - No changes - -GEMPAK CHANGES - - Added nagrib.tbl file in gempak's FIX directory - -ECFLOW CHANGES - -Removed GFS FAX, GFS FAX WAFS and GDAS_TROPC in ecflow suite definition and scripts - -=========== -Prepared by -Boi.Vuong@noaa.gov From 20d37e2fbfb671b8146faf9893d3e35cadef296a Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 5 Aug 2022 18:20:06 +0000 Subject: [PATCH 10/78] Add WCOSS2 to module-setup.sh.inc Refs: #419 --- modulefiles/module-setup.sh.inc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modulefiles/module-setup.sh.inc b/modulefiles/module-setup.sh.inc index b55643719c..b4d9681085 100644 --- a/modulefiles/module-setup.sh.inc +++ b/modulefiles/module-setup.sh.inc @@ -16,7 +16,13 @@ else __ms_shell=sh fi -if [[ -d /lfs3 ]] ; then +if [[ -d /lfs/h2 ]] ; then + # We are on NOAA Cactus or Dogwood + if ( ! eval module help > /dev/null 2>&1 ) ; then + source /usr/share/lmod/lmod/init/$__ms_shell + fi + module reset +elif [[ -d /lfs3 ]] ; then # We are on NOAA Jet if ( ! eval module help > /dev/null 2>&1 ) ; then source /apps/lmod/lmod/init/$__ms_shell From 9c6a638de6e80a2448a2d0325699497d476b78e2 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 5 Aug 2022 18:32:36 +0000 Subject: [PATCH 11/78] Add WCOSS2 to link_workflow.sh Refs: #419 --- sorc/link_workflow.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index d3a78422a5..ad85bd1097 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -8,16 +8,16 @@ machine=${2} if [ $# -lt 2 ]; then echo '***ERROR*** must specify two arguements: (1) RUN_ENVIR, (2) machine' - echo ' Syntax: link_workflow.sh ( nco | emc ) ( hera | orion | jet | stampede )' + echo ' Syntax: link_workflow.sh ( nco | emc ) ( wcoss2 | hera | orion | jet | stampede )' exit 1 fi if [ $RUN_ENVIR != emc -a $RUN_ENVIR != nco ]; then - echo ' Syntax: link_workflow.sh ( nco | emc ) ( hera | orion | jet | stampede )' + echo ' Syntax: link_workflow.sh ( nco | emc ) ( wcoss2 | hera | orion | jet | stampede )' exit 1 fi -if [ $machine != hera -a $machine != orion -a $machine != jet -a $machine != stampede ]; then - echo ' Syntax: link_workflow.sh ( nco | emc ) ( hera | orion | jet | stampede )' +if [ $machine != wcoss2 -a $machine != hera -a $machine != orion -a $machine != jet -a $machine != stampede ]; then + echo ' Syntax: link_workflow.sh ( nco | emc ) ( wcoss2 | hera | orion | jet | stampede )' exit 1 fi @@ -34,7 +34,9 @@ $LINK ufs_model.fd/FV3/upp upp.fd #------------------------------ #--model fix fields #------------------------------ -if [ $machine = "hera" ]; then +if [ $machine = "wcoss2" ]; then + FIX_DIR="/lfs/h2/emc/global/save/emc.global/FIX/fix_NEW" +elif [ $machine = "hera" ]; then FIX_DIR="/scratch1/NCEPDEV/global/glopara/fix_NEW" elif [ $machine = "orion" ]; then FIX_DIR="/work/noaa/global/glopara/fix_NEW" From 012ee4b7f096042da253266e85aed6108ac2026a Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 5 Aug 2022 18:33:12 +0000 Subject: [PATCH 12/78] Add WCOSS2 and module reset to machine-setup.sh - Add a WCOSS2 block to machine-setup.sh. - Change the Hera and Orion blocks to use "module reset" instead of "module purge"; includes hack from RDHPCS sysadmins for using the "module reset" command on those machines successfully. Refs: #419 --- sorc/machine-setup.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sorc/machine-setup.sh b/sorc/machine-setup.sh index 27c4d33ee9..c5b40b77f2 100644 --- a/sorc/machine-setup.sh +++ b/sorc/machine-setup.sh @@ -20,14 +20,24 @@ target="" USERNAME=$(echo $LOGNAME | awk '{ print tolower($0)'}) ##--------------------------------------------------------------------------- export hname=$(hostname | cut -c 1,1) -if [[ -d /work ]] ; then +if [[ -d /lfs/h1 ]] ; then + # We are on NOAA Cactus or Dogwood + if ( ! eval module help > /dev/null 2>&1 ) ; then + echo load the module command 1>&2 + source /usr/share/lmod/lmod/init/$__ms_shell + fi + target=wcoss2 + module reset + +elif [[ -d /work ]] ; then # We are on MSU Orion if ( ! eval module help > /dev/null 2>&1 ) ; then echo load the module command 1>&2 source /apps/lmod/lmod/init/$__ms_shell fi target=orion - module purge + export LMOD_SYSTEM_DEFAULT_MODULES=contrib + module reset export myFC=mpiifort export FCOMP=mpiifort @@ -39,7 +49,8 @@ elif [[ -d /scratch1 ]] ; then source /apps/lmod/lmod/init/$__ms_shell fi target=hera - module purge + export LMOD_SYSTEM_DEFAULT_MODULES=contrib + module reset export myFC=mpiifort export FCOMP=mpiifort From 361ed890720f27c0ff2d8ddf12bda2ca6905b413 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 5 Aug 2022 18:34:41 +0000 Subject: [PATCH 13/78] Add WCOSS2 to load_fv3gfs_modules.sh Refs: #419 --- ush/load_fv3gfs_modules.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh index 3979d9184d..c0f51af974 100755 --- a/ush/load_fv3gfs_modules.sh +++ b/ush/load_fv3gfs_modules.sh @@ -15,7 +15,10 @@ source "$HOMEgfs/modulefiles/module-setup.sh.inc" # Load our modules: module use "$HOMEgfs/modulefiles" -if [[ -d /lfs3 ]] ; then +if [[ -d /lfs/h2 ]]; then + # We are on WCOSS2 (Cactus or Dogwood) + module load module_base.wcoss2 +elif [[ -d /lfs3 ]] ; then # We are on NOAA Jet module load module_base.jet elif [[ -d /scratch1 ]] ; then From 6fe0457895c5255b99bc0835f97ebbb42d91079f Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 5 Aug 2022 18:35:31 +0000 Subject: [PATCH 14/78] Create LUA module_base for WCOSS2 Refs: #419 --- modulefiles/module_base.wcoss2.lua | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 modulefiles/module_base.wcoss2.lua diff --git a/modulefiles/module_base.wcoss2.lua b/modulefiles/module_base.wcoss2.lua new file mode 100644 index 0000000000..5e7e9e7eea --- /dev/null +++ b/modulefiles/module_base.wcoss2.lua @@ -0,0 +1,39 @@ +help([[ +Load environment to run GFS on WCOSS2 +]]) + +load(pathJoin("PrgEnv-intel", "8.1.0")) +load(pathJoin("craype", "2.7.10")) +load(pathJoin("intel", "19.1.3.304")) +load(pathJoin("cray-mpich", "8.1.9")) +load(pathJoin("cray-pals", "1.0.17")) +load(pathJoin("esmf", "8.0.1")) +load(pathJoin("cfp", "2.0.4")) +setenv("USE_CFP","YES") + +load(pathJoin("python", "3.8.6")) +load(pathJoin("prod_envir", "2.0.4")) +load(pathJoin("gempak", "7.14.1")) +load(pathJoin("perl", "5.32.0")) +load(pathJoin("libjpeg", "9c")) + +load(pathJoin("cdo", "1.9.8")) + +load(pathJoin("hdf5", "1.10.6")) +load(pathJoin("netcdf", "4.7.4")) + +load(pathJoin("udunits", "2.2.28")) +load(pathJoin("gsl", "2.7")) +load(pathJoin("nco", "4.7.9")) +load(pathJoin("prod_util", "2.0.9")) +load(pathJoin("grib_util", "1.2.3")) +load(pathJoin("bufr_dump", "1.0.0")) +load(pathJoin("util_shared", "1.4.0")) +load(pathJoin("crtm", "2.3.0")) +load(pathJoin("g2tmpl", "1.9.1")) +load(pathJoin("wgrib2", "2.0.7")) + +prepend_path("MODULEPATH", pathJoin("/lfs/h2/emc/global/save/emc.global/git/prepobs/v1.0.1/modulefiles")) +load(pathJoin("prepobs", "1.0.1")) + +whatis("Description: GFS run environment") From fd023518e02fbad20f311dd8508be9be75b89185 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 5 Aug 2022 18:52:55 +0000 Subject: [PATCH 15/78] Create LUA modulefile for WW3 on WCOSS2 Refs: #419 --- modulefiles/modulefile.ww3.wcoss2.lua | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 modulefiles/modulefile.ww3.wcoss2.lua diff --git a/modulefiles/modulefile.ww3.wcoss2.lua b/modulefiles/modulefile.ww3.wcoss2.lua new file mode 100644 index 0000000000..8923ee6c7a --- /dev/null +++ b/modulefiles/modulefile.ww3.wcoss2.lua @@ -0,0 +1,22 @@ +help([[ +Build environment for WW3 on WCOSS2 +]]) + +load(pathJoin("PrgEnv-intel", "8.1.0")) +load(pathJoin("craype", "2.7.10")) +load(pathJoin("intel", "19.1.3.304")) +load(pathJoin("cray-mpich", "8.1.9")) + +load(pathJoin("cmake", "3.20.2")) + +load(pathJoin("jasper", "2.0.25")) +load(pathJoin("zlib", "1.2.11")) +load(pathJoin("libpng", "1.6.37")) + +load(pathJoin("bacio", "2.4.1")) +load(pathJoin("g2", "3.4.5")) + +load(pathJoin("hdf5", "1.10.6")) +load(pathJoin("netcdf", "4.7.4")) + +load(pathJoin("w3nco", "2.4.1")) From cbeb5f783adc97c46a5df2bf8f99bf3da7cf7376 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 5 Aug 2022 18:53:31 +0000 Subject: [PATCH 16/78] Create LUA modulefile for workflow_utils on WCOSS2 Refs: #419 --- modulefiles/workflow_utils.wcoss2.lua | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 modulefiles/workflow_utils.wcoss2.lua diff --git a/modulefiles/workflow_utils.wcoss2.lua b/modulefiles/workflow_utils.wcoss2.lua new file mode 100644 index 0000000000..34b54a69c5 --- /dev/null +++ b/modulefiles/workflow_utils.wcoss2.lua @@ -0,0 +1,32 @@ +help([[ +Build environment for workflow utilities on WCOSS2 +]]) + +load(pathJoin("PrgEnv-intel", "8.1.0")) +load(pathJoin("craype", "2.7.10")) +load(pathJoin("intel", "19.1.3.304")) +load(pathJoin("cray-mpich", "8.1.9")) + +load(pathJoin("cmake", "3.20.2")) + +load(pathJoin("jasper", "2.0.25")) +load(pathJoin("zlib", "1.2.11")) +load(pathJoin("libpng", "1.6.37")) + +load(pathJoin("hdf5", "1.10.6")) +load(pathJoin("netcdf", "4.7.4")) + +load(pathJoin("bacio", "2.4.1")) +load(pathJoin("g2", "3.4.5")) +load(pathJoin("ip", "3.3.3")) +load(pathJoin("nemsio", "2.5.2")) +load(pathJoin("sp", "2.3.3")) +load(pathJoin("w3emc", "2.9.2")) +load(pathJoin("w3nco", "2.4.1")) +load(pathJoin("nemsiogfs", "2.5.3")) +load(pathJoin("ncio", "1.0.0")) +load(pathJoin("landsfcutil", "2.4.1")) +load(pathJoin("sigio", "2.3.2")) +load(pathJoin("bufr", "11.5.0")) + +load(pathJoin("wgrib2", "2.0.8")) From 73fca8c1ce87b34140626de9822dd883350e12a9 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Mon, 22 Aug 2022 19:21:25 +0000 Subject: [PATCH 17/78] Add WCOSS2 to module-setup.csh.inc Refs: #419 --- modulefiles/module-setup.csh.inc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modulefiles/module-setup.csh.inc b/modulefiles/module-setup.csh.inc index 57051e84d0..1f433db42c 100644 --- a/modulefiles/module-setup.csh.inc +++ b/modulefiles/module-setup.csh.inc @@ -2,7 +2,13 @@ set __ms_shell=csh eval "if ( -d / ) set __ms_shell=tcsh" -if ( { test -d /lfs3 } ) then +if ( { test -d /lfs/h2 } ) then + # We are on NOAA Cactus or Dogwood + if ( ! { module help >& /dev/null } ) then + source /usr/share/lmod/lmod/init/$__ms_shell + fi + module reset +else if ( { test -d /lfs3 } ) then if ( ! { module help >& /dev/null } ) then source /apps/lmod/lmod/init/$__ms_shell endif From a2c9f8f30917e5134abbb3e70e354fee70a20e3b Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Tue, 23 Aug 2022 18:10:21 +0000 Subject: [PATCH 18/78] Change WCOSS2 FIX_DIR to noscrub space Refs: #419 --- sorc/link_workflow.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index ad85bd1097..0cec9d7e3c 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -35,7 +35,7 @@ $LINK ufs_model.fd/FV3/upp upp.fd #--model fix fields #------------------------------ if [ $machine = "wcoss2" ]; then - FIX_DIR="/lfs/h2/emc/global/save/emc.global/FIX/fix_NEW" + FIX_DIR="/lfs/h2/emc/global/noscrub/emc.global/FIX/fix_NEW" elif [ $machine = "hera" ]; then FIX_DIR="/scratch1/NCEPDEV/global/glopara/fix_NEW" elif [ $machine = "orion" ]; then From 1e15d22baf3708bbc660e987dc654a8036aeb82f Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Tue, 23 Aug 2022 18:15:33 +0000 Subject: [PATCH 19/78] Change WCOSS2 machine detection path - Change the path used to check if on WCOSS2 from "lfs/h2" to "/lfs/f1" Refs: #419 --- modulefiles/module-setup.csh.inc | 2 +- modulefiles/module-setup.sh.inc | 2 +- sorc/machine-setup.sh | 2 +- ush/load_fv3gfs_modules.sh | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modulefiles/module-setup.csh.inc b/modulefiles/module-setup.csh.inc index 1f433db42c..b342cb9655 100644 --- a/modulefiles/module-setup.csh.inc +++ b/modulefiles/module-setup.csh.inc @@ -2,7 +2,7 @@ set __ms_shell=csh eval "if ( -d / ) set __ms_shell=tcsh" -if ( { test -d /lfs/h2 } ) then +if ( { test -d /lfs/f1 } ) then # We are on NOAA Cactus or Dogwood if ( ! { module help >& /dev/null } ) then source /usr/share/lmod/lmod/init/$__ms_shell diff --git a/modulefiles/module-setup.sh.inc b/modulefiles/module-setup.sh.inc index b4d9681085..419b308985 100644 --- a/modulefiles/module-setup.sh.inc +++ b/modulefiles/module-setup.sh.inc @@ -16,7 +16,7 @@ else __ms_shell=sh fi -if [[ -d /lfs/h2 ]] ; then +if [[ -d /lfs/f1 ]] ; then # We are on NOAA Cactus or Dogwood if ( ! eval module help > /dev/null 2>&1 ) ; then source /usr/share/lmod/lmod/init/$__ms_shell diff --git a/sorc/machine-setup.sh b/sorc/machine-setup.sh index c5b40b77f2..7982758d32 100644 --- a/sorc/machine-setup.sh +++ b/sorc/machine-setup.sh @@ -20,7 +20,7 @@ target="" USERNAME=$(echo $LOGNAME | awk '{ print tolower($0)'}) ##--------------------------------------------------------------------------- export hname=$(hostname | cut -c 1,1) -if [[ -d /lfs/h1 ]] ; then +if [[ -d /lfs/f1 ]] ; then # We are on NOAA Cactus or Dogwood if ( ! eval module help > /dev/null 2>&1 ) ; then echo load the module command 1>&2 diff --git a/ush/load_fv3gfs_modules.sh b/ush/load_fv3gfs_modules.sh index c0f51af974..73aa0fbd06 100755 --- a/ush/load_fv3gfs_modules.sh +++ b/ush/load_fv3gfs_modules.sh @@ -15,7 +15,7 @@ source "$HOMEgfs/modulefiles/module-setup.sh.inc" # Load our modules: module use "$HOMEgfs/modulefiles" -if [[ -d /lfs/h2 ]]; then +if [[ -d /lfs/f1 ]]; then # We are on WCOSS2 (Cactus or Dogwood) module load module_base.wcoss2 elif [[ -d /lfs3 ]] ; then From ccd154b0d3304005f26d7ae94b25ef403e96a934 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 26 Aug 2022 16:16:30 +0000 Subject: [PATCH 20/78] Revert module reset changes for R&D - Pull out the changes to replace "module purge" with "module reset" for the R&D machines in machine-setup.sh. - Will commit separately after testing on R&Ds. - Removing non-WCOSS2 changes from branch ahead of WCOSS2 build PR. Refs: #419 --- sorc/machine-setup.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sorc/machine-setup.sh b/sorc/machine-setup.sh index 7982758d32..74c7a705de 100644 --- a/sorc/machine-setup.sh +++ b/sorc/machine-setup.sh @@ -36,8 +36,7 @@ elif [[ -d /work ]] ; then source /apps/lmod/lmod/init/$__ms_shell fi target=orion - export LMOD_SYSTEM_DEFAULT_MODULES=contrib - module reset + module purge export myFC=mpiifort export FCOMP=mpiifort @@ -49,8 +48,7 @@ elif [[ -d /scratch1 ]] ; then source /apps/lmod/lmod/init/$__ms_shell fi target=hera - export LMOD_SYSTEM_DEFAULT_MODULES=contrib - module reset + module purge export myFC=mpiifort export FCOMP=mpiifort From 0aaac19018bf8a1f54b4cf7404a707da155f9231 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 26 Aug 2022 17:46:51 +0000 Subject: [PATCH 21/78] Update workflow PACKAGEROOT and create wcoss2 host - Create new workflow/hosts/wcoss2.yaml file - Update NWPROD->PACKAGEROOT variable in hera.yaml and orion.yaml - Update NWPROD->PACKAGEROOT variable in setup_expt.py Refs #419 --- workflow/hosts/hera.yaml | 4 ++-- workflow/hosts/orion.yaml | 4 ++-- workflow/hosts/wcoss2.yaml | 19 +++++++++++++++++++ workflow/setup_expt.py | 2 +- 4 files changed, 24 insertions(+), 5 deletions(-) create mode 100644 workflow/hosts/wcoss2.yaml diff --git a/workflow/hosts/hera.yaml b/workflow/hosts/hera.yaml index 84debf1b9a..118404b2bb 100644 --- a/workflow/hosts/hera.yaml +++ b/workflow/hosts/hera.yaml @@ -1,8 +1,8 @@ base_git: '/scratch1/NCEPDEV/global/glopara/git' base_svn: '/scratch1/NCEPDEV/global/glopara/svn' dmpdir: '/scratch1/NCEPDEV/global/glopara/dump' -nwprod: '/scratch1/NCEPDEV/global/glopara/nwpara' -comroot: '/scratch1/NCEPDEV/global/glopara/com' +packageroot: '/scratch1/NCEPDEV/global/glopara/nwpara' +comroot: '/scratch1/NCEPDEV/rstprod/prod/com' homedir: '/scratch1/NCEPDEV/global/$USER' stmp: '/scratch1/NCEPDEV/stmp2/$USER' ptmp: '/scratch1/NCEPDEV/stmp4/$USER' diff --git a/workflow/hosts/orion.yaml b/workflow/hosts/orion.yaml index bf59ea3e1d..db28e861cd 100644 --- a/workflow/hosts/orion.yaml +++ b/workflow/hosts/orion.yaml @@ -1,7 +1,7 @@ base_git: '/work/noaa/global/glopara/git' base_svn: '/work/noaa/global/glopara/svn' dmpdir: '/work/noaa/rstprod/dump' -nwprod: '/work/noaa/global/glopara/nwpara' +packageroot: '/work/noaa/global/glopara/nwpara' comroot: '/work/noaa/global/glopara/com' homedir: '/work/noaa/global/$USER' stmp: '/work/noaa/stmp/$USER' @@ -16,4 +16,4 @@ chgrp_rstprod: 'YES' chgrp_cmd: 'chgrp rstprod' hpssarch: 'NO' localarch: 'NO' -atardir: '$NOSCRUB/archive_rotdir/$PSLOT' \ No newline at end of file +atardir: '$NOSCRUB/archive_rotdir/$PSLOT' diff --git a/workflow/hosts/wcoss2.yaml b/workflow/hosts/wcoss2.yaml new file mode 100644 index 0000000000..7324adc337 --- /dev/null +++ b/workflow/hosts/wcoss2.yaml @@ -0,0 +1,19 @@ +base_git: '/lfs/h2/emc/global/save/emc.global/git' +base_svn: '/lfs/h2/emc/global/save/emc.global/git' +dmpdir: '/lfs/h2/emc/global/noscrub/emc.global/dump' +packageroot: '${PACKAGEROOT:-"/lfs/h1/ops/prod/packages"}' +comroot: '${COMROOT:-"/lfs/h1/ops/prod/com"}' +homedir: '/lfs/h2/emc/global/noscrub/$USER' +stmp: '/lfs/h2/emc/stmp/$USER' +ptmp: '/lfs/h2/emc/ptmp/$USER' +noscrub: $HOMEDIR +account: 'GFS-DEV' +scheduler: pbspro +queue: 'dev' +queue_service: 'dev_transfer' +partition_batch: '' +chgrp_rstprod: 'YES' +chgrp_cmd: 'chgrp rstprod' +hpssarch: 'YES' +localarch: 'NO' +atardir: '/NCEPDEV/$HPSS_PROJECT/1year/$USER/$machine/scratch/$PSLOT' diff --git a/workflow/setup_expt.py b/workflow/setup_expt.py index 85145f6472..fad11bf901 100755 --- a/workflow/setup_expt.py +++ b/workflow/setup_expt.py @@ -122,7 +122,7 @@ def edit_baseconfig(host, inputs): "@HOMEgfs@": _top, "@BASE_GIT@": host.info["base_git"], "@DMPDIR@": host.info["dmpdir"], - "@NWPROD@": host.info["nwprod"], + "@PACKAGEROOT@": host.info["packageroot"], "@COMROOT@": host.info["comroot"], "@HOMEDIR@": host.info["homedir"], "@EXPDIR@": inputs.expdir, From ea6e0cbd090241ef9ab6e3c833a1e9cc8680b381 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 26 Aug 2022 17:49:36 +0000 Subject: [PATCH 22/78] Add preliminary copy of config.resources.nco.static Refs #419 --- parm/config/config.resources.nco.static | 354 ++++++++++++++++++++++++ 1 file changed, 354 insertions(+) create mode 100755 parm/config/config.resources.nco.static diff --git a/parm/config/config.resources.nco.static b/parm/config/config.resources.nco.static new file mode 100755 index 0000000000..fbf3d41d47 --- /dev/null +++ b/parm/config/config.resources.nco.static @@ -0,0 +1,354 @@ +#!/bin/ksh -x + +########## config.resources ########## +# Set resource information for job tasks +# e.g. walltime, node, cores per node, memory etc. + +if [ $# -ne 1 ]; then + + echo "Must specify an input task argument to set resource variables!" + echo "argument can be any one of the following:" + echo "anal analcalc analdiag gldas fcst post vrfy metp arch echgres" + echo "eobs ediag eomg eupd ecen esfc efcs epos earc" + echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostbndpntbll wavepostpnt" + echo "wavegempak waveawipsbulls waveawipsgridded" + echo "postsnd awips gempak" + echo "wafs wafsgrib2 wafsblending wafsgrib20p25 wafsblending0p25 wafsgcip" + exit 1 + +fi + +step=$1 + +echo "BEGIN: config.resources" + +export npe_node_max=128 + +if [ $step = "prep" -o $step = "prepbufr" ]; then + + eval "export wtime_$step='00:45:00'" + eval "export npe_$step=4" + eval "export npe_node_$step=2" + eval "export nth_$step=1" + +elif [ $step = "waveinit" ]; then + + export wtime_waveinit="00:10:00" + export npe_waveinit=11 + export nth_waveinit=1 + export npe_node_waveinit=$npe_waveinit + export NTASKS=$npe_waveinit + export memory_waveinit="2GB" + +elif [ $step = "waveprep" ]; then + + export wtime_waveprep="00:10:00" + export npe_waveprep=5 + export npe_waveprep_gfs=65 + export nth_waveprep=1 + export npe_node_waveprep=$npe_waveprep + export npe_node_waveprep_gfs=$npe_waveprep_gfs + export memory_waveprep="100GB" + export memory_waveprep_gfs="220GB" + export NTASKS=$npe_waveprep + export NTASKS_gfs=$npe_waveprep_gfs + +elif [ $step = "wavepostsbs" ]; then + + export wtime_wavepostsbs="00:20:00" + export wtime_wavepostsbs_gfs="03:00:00" + export npe_wavepostsbs=8 + export nth_wavepostsbs=1 + export npe_node_wavepostsbs=$npe_wavepostsbs + export memory_wavepostsbs="10GB" + export memory_wavepostsbs_gfs="40GB" + export NTASKS=$npe_wavepostsbs + +elif [ $step = "wavepostbndpnt" ]; then + + export wtime_wavepostbndpnt="01:00:00" + export npe_wavepostbndpnt=240 + export nth_wavepostbndpnt=1 + export npe_node_wavepostbndpnt=80 + export NTASKS=$npe_wavepostbndpnt + +elif [ $step = "wavepostbndpntbll" ]; then + + export wtime_wavepostbndpntbll="01:00:00" + export npe_wavepostbndpntbll=448 + export nth_wavepostbndpntbll=1 + export npe_node_wavepostbndpntbll=112 + export NTASKS=$npe_wavepostbndpntbll + +elif [ $step = "wavepostpnt" ]; then + + export wtime_wavepostpnt="01:30:00" + export npe_wavepostpnt=200 + export nth_wavepostpnt=1 + export npe_node_wavepostpnt=50 + export NTASKS=$npe_wavepostpnt + +elif [ $step = "wavegempak" ]; then + + export wtime_wavegempak="02:00:00" + export npe_wavegempak=1 + export nth_wavegempak=1 + export npe_node_wavegempak=$npe_wavegempak + export NTASKS=$npe_wavegempak + export memory_wavegempak="10GB" + +elif [ $step = "waveawipsbulls" ]; then + + export wtime_waveawipsbulls="00:20:00" + export npe_waveawipsbulls=1 + export nth_waveawipsbulls=1 + export npe_node_waveawipsbulls=$(echo "$npe_node_max / $nth_waveawipsbulls" | bc) + export NTASKS=$npe_waveawipsbulls + +elif [ $step = "waveawipsgridded" ]; then + + export wtime_waveawipsgridded="02:00:00" + export npe_waveawipsgridded=1 + export nth_waveawipsgridded=1 + export npe_node_waveawipsgridded=$(echo "$npe_node_max / $nth_waveawipsgridded" | bc) + export NTASKS=$npe_waveawipsgridded + export memory_waveawipsgridded_gfs="2GB" + +elif [ $step = "anal" ]; then + + export wtime_anal="00:50:00" + export wtime_anal_gfs="00:40:00" + export npe_anal=780 + export nth_anal=8 + export npe_anal_gfs=825 + export nth_anal_gfs=8 + export npe_node_anal=15 + export nth_cycle=$npe_node_max + export npe_node_cycle=$(echo "$npe_node_max / $nth_cycle" | bc) + +elif [ $step = "analcalc" ]; then + + export wtime_analcalc="00:10:00" + export npe_analcalc=127 + export ntasks=$npe_analcalc + export nth_analcalc=1 + export nth_echgres=4 + export nth_echgres_gfs=12 + export npe_node_analcalc=$npe_node_max + +elif [ $step = "analdiag" ]; then + + export wtime_analdiag="00:10:00" + export npe_analdiag=96 # Should be at least twice npe_ediag + export nth_analdiag=1 + export npe_node_analdiag=$npe_analdiag + export memory_analdiag="48GB" + +elif [ $step = "gldas" ]; then + + export wtime_gldas="00:10:00" + export npe_gldas=112 + export nth_gldas=1 + export npe_node_gldas=$npe_gldas + export npe_gaussian=96 + export nth_gaussian=1 + export npe_node_gaussian=$(echo "$npe_node_max / $nth_gaussian" | bc) + +elif [ $step = "fcst" ]; then + + export wtime_fcst="01:30:00" + export wtime_fcst_gfs="02:30:00" + export npe_fcst=$(echo "$layout_x * $layout_y * 6" | bc) + export npe_fcst_gfs=$(echo "$layout_x_gfs * $layout_y_gfs * 6" | bc) + export nth_fcst=${nth_fv3:-2} + export nth_fcst_gfs=${nth_fv3_gfs:-2} + export npe_node_fcst=32 + export npe_node_fcst_gfs=24 + +elif [ $step = "post" ]; then + + export wtime_post="00:12:00" + export wtime_post_gfs="01:00:00" + export npe_post=126 + export nth_post=1 + export npe_node_post=$npe_post + export npe_node_post_gfs=$npe_post + export npe_node_dwn=$npe_node_max + +elif [ $step = "wafs" ]; then + + export wtime_wafs="00:30:00" + export npe_wafs=1 + export npe_node_wafs=$npe_wafs + export nth_wafs=1 + export memory_wafs="5GB" + +elif [ $step = "wafsgcip" ]; then + + export wtime_wafsgcip="00:30:00" + export npe_wafsgcip=2 + export npe_node_wafsgcip=$npe_wafsgcip + export nth_wafsgcip=1 + export memory_wafsgcip="50GB" + +elif [ $step = "wafsgrib2" ]; then + + export wtime_wafsgrib2="00:30:00" + export npe_wafsgrib2=18 + export npe_node_wafsgrib2=$npe_wafsgrib2 + export nth_wafsgrib2=1 + export memory_wafsgrib2="80GB" + +elif [ $step = "wafsblending" ]; then + + export wtime_wafsblending="00:30:00" + export npe_wafsblending=1 + export npe_node_wafsblending=$npe_wafsblending + export nth_wafsblending=1 + export memory_wafsblending="1GB" + +elif [ $step = "wafsgrib20p25" ]; then + + export wtime_wafsgrib20p25="00:30:00" + export npe_wafsgrib20p25=11 + export npe_node_wafsgrib20p25=$npe_wafsgrib20p25 + export nth_wafsgrib20p25=1 + export memory_wafsgrib20p25="80GB" + +elif [ $step = "wafsblending0p25" ]; then + + export wtime_wafsblending0p25="00:30:00" + export npe_wafsblending0p25=1 + export npe_node_wafsblending0p25=$npe_wafsblending0p25 + export nth_wafsblending0p25=1 + export memory_wafsblending0p25="15GB" + +elif [ $step = "vrfy" ]; then + + export wtime_vrfy="03:00:00" + export wtime_vrfy_gfs="06:00:00" + export npe_vrfy=3 + export nth_vrfy=1 + export npe_node_vrfy=1 + export npe_vrfy_gfs=1 + export npe_node_vrfy_gfs=1 + +elif [ $step = "metp" ]; then + + export nth_metp=1 + export wtime_metp="03:00:00" + export npe_metp=4 + export npe_node_metp=4 + export wtime_metp_gfs="06:00:00" + export npe_metp_gfs=4 + export npe_node_metp_gfs=4 + +elif [ $step = "echgres" ]; then + + export wtime_echgres="00:10:00" + export npe_echgres=3 + export nth_echgres=1 + export npe_node_echgres=3 + export memory_echgres="200GB" + +elif [ $step = "arch" -o $step = "earc" -o $step = "getic" ]; then + + eval "export wtime_$step='06:00:00'" + eval "export npe_$step=1" + eval "export npe_node_$step=1" + eval "export nth_$step=1" + eval "export memory_$step=50GB" + +elif [ $step = "eobs" -o $step = "eomg" ]; then + + + export wtime_eobs="00:10:00" + export wtime_eomg="01:00:00" + export npe_eobs=480 + export nth_eobs=3 + export npe_node_eobs=40 + +elif [ $step = "ediag" ]; then + + export wtime_ediag="00:06:00" + export npe_ediag=48 + export nth_ediag=1 + export npe_node_ediag=$npe_node_max + export memory_ediag="28GB" + +elif [ $step = "eupd" ]; then + + export wtime_eupd="00:30:00" + export npe_eupd=315 + export nth_eupd=14 + export npe_node_eupd=$(echo "$npe_node_max / $nth_eupd" | bc) + +elif [ $step = "ecen" ]; then + + export wtime_ecen="00:10:00" + export npe_ecen=80 + export nth_ecen=4 + export npe_node_ecen=$(echo "$npe_node_max / $nth_ecen" | bc) + export nth_cycle=$nth_ecen + export npe_node_cycle=$(echo "$npe_node_max / $nth_cycle" | bc) + +elif [ $step = "esfc" ]; then + + export wtime_esfc="00:06:00" + export npe_esfc=80 + export npe_node_esfc=$npe_esfc + export nth_esfc=1 + export nth_cycle=$nth_esfc + export npe_node_cycle=$(echo "$npe_node_max / $nth_cycle" | bc) + export memory_esfc="80GB" + +elif [ $step = "efcs" ]; then + + export wtime_efcs="00:40:00" + export npe_efcs=$(echo "$layout_x * $layout_y * 6" | bc) + export nth_efcs=${nth_fv3:-2} + export npe_node_efcs=$(echo "$npe_node_max / $nth_efcs" | bc) + +elif [ $step = "epos" ]; then + + export wtime_epos="00:15:00" + export npe_epos=80 + export nth_epos=4 + export npe_node_epos=$(echo "$npe_node_max / $nth_epos" | bc) + +elif [ $step = "postsnd" ]; then + + export wtime_postsnd="02:00:00" + export npe_postsnd=40 + export nth_postsnd=8 + export npe_node_postsnd=10 + export npe_postsndcfp=9 + export npe_node_postsndcfp=1 + +elif [ $step = "awips" ]; then + + export wtime_awips="03:30:00" + export npe_awips=1 + export npe_node_awips=1 + export nth_awips=1 + export memory_awips="10GB" + +elif [ $step = "gempak" ]; then + + export wtime_gempak="03:00:00" + export npe_gempak=2 + export npe_gempak_gfs=28 + export npe_node_gempak=2 + export npe_node_gempak_gfs=28 + export nth_gempak=1 + export memory_gempak="20GB" + export memory_gempak_gfs="200GB" + +else + + echo "Invalid step = $step, ABORT!" + exit 2 + +fi + +echo "END: config.resources" From eef756b4772bf47aa9d7d90f9f4cbb40f65ce501 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 26 Aug 2022 17:50:08 +0000 Subject: [PATCH 23/78] Add preliminary copy of WCOSS2.env - Need to add new jobs to WCOSS2.env file still. Refs #419 --- env/WCOSS2.env | 217 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 217 insertions(+) create mode 100755 env/WCOSS2.env diff --git a/env/WCOSS2.env b/env/WCOSS2.env new file mode 100755 index 0000000000..3d5a5be1c2 --- /dev/null +++ b/env/WCOSS2.env @@ -0,0 +1,217 @@ +#!/bin/ksh -x + +if [ $# -ne 1 ]; then + + echo "Must specify an input argument to set runtime environment variables!" + echo "argument can be any one of the following:" + echo "anal fcst post vrfy metp" + echo "eobs eupd ecen esfc efcs epos" + echo "postsnd awips gempak" + exit 1 + +fi + +step=$1 + +# WCOSS2 information +export launcher="mpiexec -l" +export mpmd="--cpu-bind verbose,core cfp" + +export npe_node_max=128 + +export job=${PBS_JOBNAME:-$step} +export jobid=${job}.${PBS_JOBID:-$$} + +if [ $step = "prep" -o $step = "prepbufr" ]; then + + export POE=${POE:-"YES"} + export BACK=${BACK:-"off"} + export sys_tp="wcoss2" + export launcher_PREP="mpiexec" + +elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $step = "wavepostbndpnt" -o $step = "wavepostbndpntbll" -o $step = "wavepostpnt" ]; then + + if [ $step = "waveprep" -a $CDUMP = "gfs" ]; then NTASKS=$NTASKS_gfs ; fi + export wavempexec="$launcher -np" + export wave_mpmd=${mpmd} + +elif [ $step = "anal" -o $step = "analcalc" ]; then + + export OMP_PLACES=cores + export OMP_STACKSIZE=1G + export FI_OFI_RXM_SAR_LIMIT=3145728 + + if [ $step = "analcalc" ]; then + export MPICH_MPIIO_HINTS="*:romio_cb_write=disable" + fi + + export NTHREADS_GSI=$nth_anal + export APRUN_GSI="$launcher -n ${npe_gsi:-$npe_anal} -ppn $npe_node_anal --cpu-bind depth --depth $NTHREADS_GSI" + + export NTHREADS_CALCINC=${nth_calcinc:-1} + export APRUN_CALCINC="$launcher \$ncmd" + + export NTHREADS_CYCLE=${nth_cycle:-14} + [[ $NTHREADS_CYCLE -gt $npe_node_max ]] && export NTHREADS_CYCLE=$npe_node_max + npe_cycle=${ntiles:-6} + export APRUN_CYCLE="$launcher -n $npe_cycle -ppn $npe_node_cycle --cpu-bind depth --depth $NTHREADS_CYCLE" + + export NTHREADS_GAUSFCANL=1 + npe_gausfcanl=${npe_gausfcanl:-1} + export APRUN_GAUSFCANL="$launcher -n $npe_gausfcanl" + + export NTHREADS_CHGRES=${nth_echgres:-14} + [[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max + export APRUN_CHGRES="" + + export CFP_MP=${CFP_MP:-"NO"} + export USE_CFP=${USE_CFP:-"YES"} + export APRUNCFP="$launcher -np \$ncmd $mpmd" + +elif [ $step = "gldas" ]; then + + export NTHREADS_GLDAS=$nth_gldas + export APRUN_GLDAS="$launcher -n $npe_gldas -ppn $npe_node_gldas --cpu-bind depth --depth $NTHREADS_GLDAS" + + export NTHREADS_GAUSSIAN=${nth_gaussian:-1} + export APRUN_GAUSSIAN="$launcher -n $npe_gaussian -ppn $npe_node_gaussian --cpu-bind depth --depth $NTHREADS_GAUSSIAN" + + export USE_CFP=${USE_CFP:-"YES"} + export APRUN_GLDAS_DATA_PROC="$launcher -np $npe_gldas $mpmd" + +elif [ $step = "eobs" ]; then + + export OMP_PLACES=cores + export OMP_STACKSIZE=1G + export FI_OFI_RXM_SAR_LIMIT=3145728 + + export NTHREADS_GSI=$nth_eobs + export APRUN_GSI="$launcher -n ${npe_gsi:-$npe_eobs} -ppn $npe_node_eobs --cpu-bind depth --depth $NTHREADS_GSI" + + export CFP_MP=${CFP_MP:-"NO"} + export USE_CFP=${USE_CFP:-"YES"} + export APRUNCFP="$launcher -np \$ncmd $mpmd" + +elif [ $step = "eupd" ]; then + + export OMP_PLACES=cores + export OMP_STACKSIZE=2G + export MPICH_COLL_OPT_OFF=1 + export FI_OFI_RXM_SAR_LIMIT=3145728 + + export NTHREADS_ENKF=$nth_eupd + export APRUN_ENKF="$launcher -n ${npe_enkf:-$npe_eupd} -ppn $npe_node_eupd --cpu-bind depth --depth $NTHREADS_ENKF" + + export CFP_MP=${CFP_MP:-"NO"} + export USE_CFP=${USE_CFP:-"YES"} + export APRUNCFP="$launcher -np \$ncmd $mpmd" + +elif [ $step = "fcst" ]; then + + export OMP_PLACES=cores + export OMP_STACKSIZE=2048M + export FI_OFI_RXM_RX_SIZE=40000 + export FI_OFI_RXM_TX_SIZE=40000 + + #PEs and PEs/node can differ for GFS and GDAS forecasts if threading differs + if [[ $CDUMP == "gfs" ]]; then + npe_fcst=$npe_fcst_gfs + npe_node_fcst=$npe_node_fcst_gfs + nth_fv3=$nth_fv3_gfs + fi + + export NTHREADS_FV3=$nth_fv3 + export cores_per_node=$npe_node_max + export APRUN_FV3="$launcher -n $npe_fcst -ppn $npe_node_fcst --cpu-bind depth --depth $NTHREADS_FV3" + export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1} + export APRUN_REGRID_NEMSIO="$launcher -n $LEVS" + + export NTHREADS_REMAP=${nth_remap:-2} + export APRUN_REMAP="$launcher -n ${npe_remap:-$npe_fcst}" + +elif [ $step = "efcs" ]; then + + export MPICH_MPIIO_HINTS="*:romio_cb_write=disable" + export FI_OFI_RXM_SAR_LIMIT=3145728 + export FI_OFI_RXM_RX_SIZE=40000 + export FI_OFI_RXM_TX_SIZE=40000 + + export NTHREADS_FV3=$nth_efcs + export cores_per_node=$npe_node_max + export APRUN_FV3="$launcher -n ${npe_fv3:-$npe_efcs} -ppn $npe_node_efcs --cpu-bind depth --depth $NTHREADS_FV3" + + export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1} + export APRUN_REGRID_NEMSIO="$launcher -n $LEVS" + +elif [ $step = "post" ]; then + + export NTHREADS_NP=${nth_np:-1} + export APRUN_NP="$launcher -n ${npe_np:-$npe_post} -ppn $npe_node_post --cpu-bind depth --depth $NTHREADS_NP" + + export NTHREADS_DWN=${nth_dwn:-1} + export APRUN_DWN="$launcher -np $npe_dwn $mpmd" + +elif [ $step = "ecen" ]; then + + export NTHREADS_ECEN=$nth_ecen + export APRUN_ECEN="$launcher -n $npe_ecen -ppn $npe_node_ecen --cpu-bind depth --depth $NTHREADS_ECEN" + + export NTHREADS_CHGRES=${nth_chgres:-14} + [[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max + export APRUN_CHGRES="time" + + export NTHREADS_CALCINC=${nth_calcinc:-1} + export APRUN_CALCINC="$launcher -n $npe_ecen" + + export NTHREADS_CYCLE=${nth_cycle:-14} + [[ $NTHREADS_CYCLE -gt $npe_node_max ]] && export NTHREADS_CYCLE=$npe_node_max + export APRUN_CYCLE="$launcher -n $npe_ecen -ppn $npe_node_cycle --cpu-bind depth --depth $NTHREADS_CYCLE" + +elif [ $step = "esfc" ]; then + + export NTHREADS_ESFC=$nth_esfc + export APRUN_ESFC="$launcher -n $npe_esfc -ppn $npe_node_esfc --cpu-bind depth --depth $NTHREADS_ESFC" + + export NTHREADS_CYCLE=${nth_cycle:-14} + [[ $NTHREADS_CYCLE -gt $npe_node_max ]] && export NTHREADS_CYCLE=$npe_node_max + export APRUN_CYCLE="$launcher -n $npe_esfc -ppn $npe_node_cycle --cpu-bind depth --depth $NTHREADS_CYCLE" + +elif [ $step = "epos" ]; then + + export NTHREADS_EPOS=$nth_epos + export APRUN_EPOS="$launcher -n $npe_epos -ppn $npe_node_epos --cpu-bind depth --depth $NTHREADS_EPOS" + +elif [ $step = "fv3ic" ]; then + + export NTHREADS_CHGRES=${nth_chgres:-$npe_node_max} + [[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max + export APRUN_CHGRES="time" + +elif [ $step = "postsnd" ]; then + + export MPICH_MPIIO_HINTS_DISPLAY=1 + export OMP_NUM_THREADS=1 + export NTHREADS_POSTSND=${nth_postsnd:-1} + export APRUN_POSTSND="$launcher -n $npe_postsnd --depth=$NTHREADS_POSTSND --cpu-bind depth" + export NTHREADS_POSTSNDCFP=${nth_postsndcfp:-1} + export APRUN_POSTSNDCFP="$launcher -np $npe_postsndcfp $mpmd" + +elif [ $step = "awips" ]; then + + export NTHREADS_AWIPS=${nth_awips:-2} + export APRUN_AWIPSCFP="$launcher -np $npe_awips $mpmd" + +elif [ $step = "gempak" ]; then + + export NTHREADS_GEMPAK=${nth_gempak:-1} + export APRUN_GEMPAKCFP="$launcher -np \$ntasks $mpmd" + +elif [ $step = "waveawipsbulls" ]; then + + unset PERL5LIB + +elif [ $step = "wafsgrib2" -o $step = "wafsgrib20p25" ]; then + + export USE_CFP=${USE_CFP:-"YES"} + +fi From 3d1f42d8df7852f969a2e36d6fb8c923ad9a513d Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 26 Aug 2022 17:50:56 +0000 Subject: [PATCH 24/78] Update native tag in workflow_tasks.py - Update native tag in workflow_tasks.py to add PBSpro support. - Add "debug=true" and "place=vscatter" into rocoto native tag in generated xmls. - Set to make job exclusive if "is_exclusive=True" is set. Refs #419 --- workflow/rocoto/workflow_tasks.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/workflow/rocoto/workflow_tasks.py b/workflow/rocoto/workflow_tasks.py index 4d2b980b94..53321f14fd 100644 --- a/workflow/rocoto/workflow_tasks.py +++ b/workflow/rocoto/workflow_tasks.py @@ -98,7 +98,13 @@ def get_resource(self, task_name): memory = task_config.get(f'memory_{task_name}', None) - native = '--export=NONE' if scheduler in ['slurm'] else None + native = None + if scheduler in ['pbspro']: + native = '-l debug=true,place=vscatter' + if task_config.get('is_exclusive', False): + native += ':exclhost' + elif scheduler in ['slurm']: + native = '--export=NONE' queue = task_config['QUEUE'] if task_name in Tasks.SERVICE_TASKS and scheduler not in ['slurm']: From 75e29a67ec547a5eb2beb832d1d2099f2f7d3869 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 26 Aug 2022 17:53:24 +0000 Subject: [PATCH 25/78] Update config copies in link_workflow.sh - Update config copies at end of link_workflow.sh to also copy config.fv3.nco.static to config.fv3 and copy config.resources.nco.static to config.resources when $RUN_ENVIR = nco. Refs #419 --- sorc/link_workflow.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sorc/link_workflow.sh b/sorc/link_workflow.sh index 62ff535e04..a237503be0 100755 --- a/sorc/link_workflow.sh +++ b/sorc/link_workflow.sh @@ -378,7 +378,11 @@ cd ${pwd}/../sorc || exit 8 # config.base in the $HOMEgfs/parm/config has no use in development cd $pwd/../parm/config [[ -s config.base ]] && rm -f config.base -[[ $RUN_ENVIR = nco ]] && cp -p config.base.nco.static config.base +if [ $RUN_ENVIR = nco ] ; then + cp -p config.base.nco.static config.base + cp -p config.fv3.nco.static config.fv3 + cp -p config.resources.nco.static config.resources +fi #------------------------------ From 7a23a1008c5de8d2e436419097d191499c51ffdf Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Fri, 26 Aug 2022 17:54:59 +0000 Subject: [PATCH 26/78] Add para ncdiag module load to module_base.wcoss2.lua - Similar to hack in GSI, load the para install of the ncdiag module on WCOSS2 for use during runtime. Refs #419 --- modulefiles/module_base.wcoss2.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modulefiles/module_base.wcoss2.lua b/modulefiles/module_base.wcoss2.lua index 5e7e9e7eea..cc3b622b15 100644 --- a/modulefiles/module_base.wcoss2.lua +++ b/modulefiles/module_base.wcoss2.lua @@ -33,6 +33,12 @@ load(pathJoin("crtm", "2.3.0")) load(pathJoin("g2tmpl", "1.9.1")) load(pathJoin("wgrib2", "2.0.7")) +pushenv("HPC_OPT", "/apps/ops/para/libs") +prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") +prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/mpi/intel/19.1.3.304/cray-mpich/8.1.7") + +load("ncdiag/1.0.0") + prepend_path("MODULEPATH", pathJoin("/lfs/h2/emc/global/save/emc.global/git/prepobs/v1.0.1/modulefiles")) load(pathJoin("prepobs", "1.0.1")) From 62207acbf310b0bcfdbd3567d1ed0f9b452c3c2e Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 14:54:19 +0000 Subject: [PATCH 27/78] Folder WCOSS2 port changes into util files - Change webtitle makefile to use ftn instead of ifort and add traceback flags to build. - Clean up ush/make_tif.sh. Refs #419 --- util/sorc/webtitle.fd/makefile | 4 ++-- util/ush/make_tif.sh | 11 +---------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/util/sorc/webtitle.fd/makefile b/util/sorc/webtitle.fd/makefile index bcad6f8f9f..f6594b41cc 100755 --- a/util/sorc/webtitle.fd/makefile +++ b/util/sorc/webtitle.fd/makefile @@ -11,12 +11,12 @@ OBJS= webtitle.o # CMD Name of the executable # PROFLIB Library needed for profiling # -FC = ifort +FC = ftn LIBS= ${W3NCO_LIB4} CMD = webtitle -FFLAGS = +FFLAGS = -g -traceback #FFLAGS = -debug # Lines from here on down should not need to be changed. They are the diff --git a/util/ush/make_tif.sh b/util/ush/make_tif.sh index 2609d1d797..2391ca9d81 100755 --- a/util/ush/make_tif.sh +++ b/util/ush/make_tif.sh @@ -2,18 +2,9 @@ cd $DATA # -# Use Image Magick to convert the GIF to TIF +# Use Image Magick system module to convert the GIF to TIF # format # -# module show imagemagick-intel-sandybridge/6.8.3 on CRAY -# export PATH=$PATH:/usrx/local/prod/imagemagick/6.8.3/intel/sandybridge/bin:. -# export LIBPATH="$LIBPATH":/usrx/local/prod/imagemagick/6.8.3/intel/sandybridge/lib -# export DELEGATE_PATH=/usrx/local/prod/imagemagick/6.8.3/intel/sandybridge/share/ImageMagick-6 - -# module show imagemagick/6.9.9-25 on DELL - export PATH=$PATH:/usrx/local/dev/packages/ImageMagick/6.9.9-25/bin:. - export LIBPATH="$LIBPATH":/usrx/local/dev/packages/ImageMagick/6.9.9-25/lib - export DELEGATE_PATH=/usrx/local/dev/packages/ImageMagick/6.9.9-25/share/ImageMagick-6 outname=out.tif From 5613c7042538b1a00d0642520d0f36392763f566 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:00:15 +0000 Subject: [PATCH 28/78] Folder ops WCOSS2 port changes into ush scripts - Change NWPROD to PACKAGEROOT. - Change NWROOT to OPSROOT. - Retire jlogfile usage and references; includes removing postmsg. - Add in some error checking for gfs_bufr job (from GDIT/Bo Cui). - Some cleanup. Refs #419 --- ush/forecast_predet.sh | 2 +- ush/gaussian_sfcanl.sh | 6 +++--- ush/gfs_bufr.sh | 7 +++++++ ush/gfs_sndp.sh | 4 +--- ush/global_extrkr.sh | 41 ++++++++++++++++++----------------------- ush/scale_dec.sh | 2 +- ush/syndat_getjtbul.sh | 40 +++++----------------------------------- ush/syndat_qctropcy.sh | 2 -- ush/tropcy_relocate.sh | 28 ++++++---------------------- 9 files changed, 42 insertions(+), 90 deletions(-) diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index 947fae59cd..e10436a4c8 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -71,7 +71,7 @@ FV3_GFS_predet(){ # Directories. pwd=$(pwd) - NWPROD=${NWPROD:-${NWROOT:-$pwd}} + NWPROD=${NWPROD:-${PACKAGEROOT:-$pwd}} HOMEgfs=${HOMEgfs:-$NWPROD} FIX_DIR=${FIX_DIR:-$HOMEgfs/fix} FIX_AM=${FIX_AM:-$FIX_DIR/fix_am} diff --git a/ush/gaussian_sfcanl.sh b/ush/gaussian_sfcanl.sh index 147afd5497..68c91b44a1 100755 --- a/ush/gaussian_sfcanl.sh +++ b/ush/gaussian_sfcanl.sh @@ -129,9 +129,9 @@ else fi # Directories. -gfs_ver=${gfs_ver:-v15.0.0} -BASEDIR=${BASEDIR:-${NWROOT:-/nwprod2}} -HOMEgfs=${HOMEgfs:-$BASEDIR/gfs_ver.${gfs_ver}} +gfs_ver=${gfs_ver:-v16.3.0} +BASEDIR=${BASEDIR:-${PACKAGEROOT:-/lfs/h1/ops/prod/packages}} +HOMEgfs=${HOMEgfs:-$BASEDIR/gfs.${gfs_ver}} EXECgfs=${EXECgfs:-$HOMEgfs/exec} FIXfv3=${FIXfv3:-$HOMEgfs/fix/fix_fv3_gmted2010} FIXam=${FIXam:-$HOMEgfs/fix/fix_am} diff --git a/ush/gfs_bufr.sh b/ush/gfs_bufr.sh index 07bebd5ac0..181808984a 100755 --- a/ush/gfs_bufr.sh +++ b/ush/gfs_bufr.sh @@ -114,4 +114,11 @@ ln -sf $PARMbufrsnd/bufr_ij13km.txt fort.7 ${APRUN_POSTSND} $EXECbufrsnd/gfs_bufr < gfsparm > out_gfs_bufr_$FEND export err=$? +if [ $err -ne 0 ]; then + echo "GFS postsnd job error, Please check files " + echo $COMIN/${RUN}.${cycle}.atmf${hh2}.${atmfm} + echo $COMIN/${RUN}.${cycle}.sfcf${hh2}.${atmfm} + err_chk +fi + exit ${err} diff --git a/ush/gfs_sndp.sh b/ush/gfs_sndp.sh index a0616e27b4..9f6ce98eb6 100755 --- a/ush/gfs_sndp.sh +++ b/ush/gfs_sndp.sh @@ -37,9 +37,7 @@ cd $DATA/$m #. prep_step export FORT11=$DATA/${m}/bufrin export FORT51=./bufrout - # JY - Turn off the startmsg to reduce the update on jlogfile in this loop - # startmsg - $EXECbufrsnd/tocsbufr << EOF + $EXECbufrsnd/tocsbufr << EOF &INPUT BULHED="$WMOHEAD",KWBX="$CCCC", NCEP2STD=.TRUE., diff --git a/ush/global_extrkr.sh b/ush/global_extrkr.sh index ad0b249b28..eb523b9e24 100755 --- a/ush/global_extrkr.sh +++ b/ush/global_extrkr.sh @@ -61,7 +61,6 @@ userid=$LOGNAME ############################################################################## prep_step=${prep_step:-prep_step} -postmsg=${postmsg:-postmsg} ######################################## @@ -165,7 +164,7 @@ while [[ "$#" -gt 0 ]] ; do fi done if [[ -z "$override_fcsthrs" || -z "$override_fcstlen" ]] ; then - $postmsg "$jlogfile" "ERROR: requested forecast hour from $whichm is $lasthour (from parsing \"$gfharg\") but could not find any valid $nicename forecast hours at or before that time. This is probably an error in the tracker script." + echo "ERROR: requested forecast hour from $whichm is $lasthour (from parsing \"$gfharg\") but could not find any valid $nicename forecast hours at or before that time. This is probably an error in the tracker script." fi ;; --wait-for-data) @@ -215,7 +214,7 @@ export loopnum=1 export flag_pgb=${flag_pgb:-q} -export NWPROD=${NWPROD:-${NWROOT}} +export NWPROD=${NWPROD:-${PACKAGEROOT}} export NWPROD=${NWPROD:-/nwprod} export rundir=${rundir:-$COMOUT} @@ -731,16 +730,14 @@ then ln -s -f ${DATA}/vitals.${atcfout}.${PDY}${CYL} fort.31 ln -s -f ${DATA}/vitals.upd.${atcfout}.${PDY}${CYL} fort.51 - msg="$pgm start for $atcfout at ${CYL}z" - $postmsg "$jlogfile" "$msg" + echo "$pgm start for $atcfout at ${CYL}z" ${exectrkdir}/supvit <${DATA}/suv_input.${atcfout}.${PDY}${CYL} suvrcc=$? if [ ${suvrcc} -eq 0 ] then - msg="$pgm end for $atcfout at ${CYL}z completed normally" - $postmsg "$jlogfile" "$msg" + echo "$pgm end for $atcfout at ${CYL}z completed normally" else set +x echo " " @@ -1253,7 +1250,7 @@ if [[ ${model} -eq 1 || $model == 8 ]] ; then ixfile=${DATA}/gfsixfile.${PDY}${CYL} fi -$postmsg "$jlogfile" "SUCCESS: have all inputs needed to run tracker. Will now run the tracker." +echo "SUCCESS: have all inputs needed to run tracker. Will now run the tracker." #------------------------------------------------------------------------# # Now run the tracker # @@ -1434,8 +1431,7 @@ echo " -----------------------------------------------" echo " " ${TRACE_ON:-set -x} -msg="$pgm start for $atcfout at ${CYL}z" -$postmsg "$jlogfile" "$msg" +echo "$pgm start for $atcfout at ${CYL}z" set +x echo "+++ TIMING: BEFORE gettrk ---> $(date)" @@ -1463,7 +1459,7 @@ echo "+++ TIMING: AFTER gettrk ---> $(date)" ${TRACE_ON:-set -x} #--------------------------------------------------------------# -# Send a message to the jlogfile for each storm that used +# Echo a message for each storm that used # tcvitals for hour 0 track/intensity info. #--------------------------------------------------------------# @@ -1473,10 +1469,10 @@ while read line do echo "line is [$line]" if [[ ! ( "$pcount" -lt 30 ) ]] ; then - $postmsg "$jlogfile" "Hit maximum number of postmsg commands for tcvitals usage at hour 0. Will stop warning about that, to avoid spamming jlogfile." + echo "Hit maximum number of echo commands for tcvitals usage at hour 0. Will stop warning about that." break fi - $postmsg "$jlogfile" "$line" + echo "$line" pcount=$(( pcount + 1 )) done @@ -1493,22 +1489,22 @@ echo " " ${TRACE_ON:-set -x} if [[ ! -e "$track_file_path" ]] ; then - $postmsg "$jlogfile" "WARNING: tracker output file does not exist. This is probably an error. File: $track_file_path" - $postmsg "$jlogfile" "WARNING: exgfs_trkr will create an empty track file and deliver that." + echo "WARNING: tracker output file does not exist. This is probably an error. File: $track_file_path" + echo "WARNING: exgfs_trkr will create an empty track file and deliver that." cat /dev/null > $track_file_path elif [[ ! -s "$track_file_path" ]] ; then - $postmsg "$jlogfile" "WARNING: tracker output file is empty. That is only an error if there are storms or genesis cases somewhere in the world. File: $track_file_path" + echo "WARNING: tracker output file is empty. That is only an error if there are storms or genesis cases somewhere in the world. File: $track_file_path" else - $postmsg "$jlogfile" "SUCCESS: Track file exists and is non-empty: $track_file" + echo "SUCCESS: Track file exists and is non-empty: $track_file" if [[ "$PHASEFLAG" == n ]] ; then echo "Phase information was disabled. I will remove the empty phase information from the track file before delivery." cp -p $track_file_path $track_file_path.orig cut -c1-112 < $track_file_path.orig > $track_file_path if [[ ! -s "$track_file_path" ]] ; then - $postmsg "$jlogfile" "WARNING: Something went wrong with \"cut\" command to remove phase information. Will deliver original file." + echo "WARNING: Something went wrong with \"cut\" command to remove phase information. Will deliver original file." /bin/mv -f $track_file_path.orig $track_file_path else - $postmsg "$jlogfile" "SUCCESS: Removed empty phase information because phase information is disabled." + echo "SUCCESS: Removed empty phase information because phase information is disabled." fi fi fi @@ -1527,7 +1523,7 @@ if [ ${gettrk_rcc} -eq 0 ]; then then if [[ ! -s "$track_file_path" ]] ; then - $postmsg "$jlogfile" "WARNING: delivering empty track file to rundir." + echo "WARNING: delivering empty track file to rundir." fi cp $track_file_path ../. @@ -1540,8 +1536,7 @@ if [ ${gettrk_rcc} -eq 0 ]; then # cp ${DATA}/trak.${atcfout}.atcf_gen.${regtype}.${PDY}${CYL} ../. fi - msg="$pgm end for $atcfout at ${CYL}z completed normally" - $postmsg "$jlogfile" "$msg" + echo "$pgm end for $atcfout at ${CYL}z completed normally" # Now copy track files into various archives.... @@ -1549,7 +1544,7 @@ if [ ${gettrk_rcc} -eq 0 ]; then then if [[ ! -s "$track_file_path" ]] ; then - $postmsg "$jlogfile" "WARNING: delivering an empty track file to COM." + echo "WARNING: delivering an empty track file to COM." return fi diff --git a/ush/scale_dec.sh b/ush/scale_dec.sh index 59e2bab14e..a698901120 100755 --- a/ush/scale_dec.sh +++ b/ush/scale_dec.sh @@ -13,7 +13,7 @@ source "$HOMEgfs/ush/preamble.sh" f=$1 -export WGRIB2=${WGRIB2:-${NWROOT}/grib_util.v1.1.0/exec/wgrib2} +export WGRIB2=${WGRIB2:-${PACKAGEROOT}/grib_util.v1.1.0/exec/wgrib2} # export WGRIB2=/gpfs/dell1/nco/ops/nwprod/grib_util.v1.1.0/exec/wgrib2 diff --git a/ush/syndat_getjtbul.sh b/ush/syndat_getjtbul.sh index 89196d0596..dd70849ad8 100755 --- a/ush/syndat_getjtbul.sh +++ b/ush/syndat_getjtbul.sh @@ -33,17 +33,8 @@ EXECSYND=${EXECSYND:-${HOMESYND}/exec} cd $DATA if [ "$#" -ne '1' ]; then - msg="**NON-FATAL ERROR PROGRAM SYNDAT_GETJTBUL run date not in \ + echo "**NON-FATAL ERROR PROGRAM SYNDAT_GETJTBUL run date not in \ positional parameter 1" - set +x - echo - echo $msg - echo - ${TRACE_ON:-set -x} - echo $msg >> $pgmout - set +u - [ -n "$jlogfile" ] && postmsg "$jlogfile" "$msg" - set -u echo "Leaving sub-shell syndat_getjtbul.sh to recover JTWC Bulletins" \ >> $pgmout @@ -124,11 +115,8 @@ fi perl -wpi.ORIG -e 's/(^.... ... )(\S{9,9})(\S{1,})/$1$2/' jtwcbul diff jtwcbul.ORIG jtwcbul > jtwcbul_changes.txt if [ -s jtwcbul_changes.txt ]; then - msg="***WARNING: SOME JTWC VITALS SEGMENTS REQUIRED PRELIMINARY MODIFICATION!" - [ -n "$jlogfile" ] && postmsg "$jlogfile" "$msg" - echo -e "\n${msg}. Changes follow:" >> $pgmout - cat jtwcbul_changes.txt >> $pgmout - echo -e "\n" >> $pgmout + echo "***WARNING: SOME JTWC VITALS SEGMENTS REQUIRED PRELIMINARY MODIFICATION!" + cat jtwcbul_changes.txt fi # Execute bulletin processing @@ -175,30 +163,12 @@ available for qctropcy for $CDATE10" fi fi else - msg="**NON-FATAL ERROR PROGRAM SYNDAT_GETJTBUL FOR $CDATE10 \ + echo "**NON-FATAL ERROR PROGRAM SYNDAT_GETJTBUL FOR $CDATE10 \ RETURN CODE $errget" fi - set +x - echo - echo $msg - echo - ${TRACE_ON:-set -x} - echo $msg >> $pgmout - set +u - [ -n "$jlogfile" ] && postmsg "$jlogfile" "$msg" - set -u else - msg="program SYNDAT_GETJTBUL completed normally for $CDATE10, JTWC \ + echo "program SYNDAT_GETJTBUL completed normally for $CDATE10, JTWC \ rec. passed to qctropcy" - set +x - echo - echo $msg - echo - ${TRACE_ON:-set -x} - echo $msg >> $pgmout - set +u - [ -n "$jlogfile" ] && postmsg "$jlogfile" "$msg" - set -u fi set +x echo diff --git a/ush/syndat_qctropcy.sh b/ush/syndat_qctropcy.sh index 571a7543b5..402db48cd1 100755 --- a/ush/syndat_qctropcy.sh +++ b/ush/syndat_qctropcy.sh @@ -63,8 +63,6 @@ # copy_back - switch to copy updated files back to archive directory and # to tcvitals directory # (Default: YES) -# jlogfile - path to job log file (skipped over by this script if not -# passed in) # SENDCOM switch copy output files to $COMSP # (Default: YES) # files_override - switch to override default "files" setting for given run diff --git a/ush/tropcy_relocate.sh b/ush/tropcy_relocate.sh index e3a82efaf7..cc3856dea8 100755 --- a/ush/tropcy_relocate.sh +++ b/ush/tropcy_relocate.sh @@ -124,7 +124,6 @@ # -stdoutmode ordered" # USHGETGES String indicating directory path for GETGES utility ush # file -# Default is "/nwprod/util/ush" # USHRELO String indicating directory path for RELOCATE ush files # Default is "${HOMERELO}/ush" # EXECRELO String indicating directory path for RELOCATE executables @@ -158,8 +157,6 @@ # be used by the script. If they are not, they will be skipped # over by the script. # -# jlogfile String indicating path to joblog file -# # Exported Shell Variables: # CDATE10 String indicating the center date/time for the relocation # processing @@ -183,9 +180,7 @@ # $USHRELO/tropcy_relocate_extrkr.sh) # $DATA/err_chk (here and in child script # $USHRELO/tropcy_relocate_extrkr.sh) -# NOTE 1: postmsg above is required ONLY if "$jlogfile" is -# present. -# NOTE 2: The last three scripts above are NOT REQUIRED utilities. +# NOTE: The last three scripts above are NOT REQUIRED utilities. # If $DATA/prep_step not found, a scaled down version of it is # executed in-line. If $DATA/err_exit or $DATA/err_chk are not # found and a fatal error has occurred, then the script calling @@ -216,7 +211,7 @@ source "$HOMEgfs/ush/preamble.sh" MACHINE=${MACHINE:-$(hostname -s | cut -c 1-3)} SENDCOM=${SENDCOM:-YES} -export NWROOT=${NWROOT:-/nwprod2} +export OPSROOT=${OPSROOT:-/lfs/h1/ops/prod} GRIBVERSION=${GRIBVERSION:-"grib2"} if [ ! -d $DATA ] ; then mkdir -p $DATA ;fi @@ -284,13 +279,12 @@ ${TRACE_ON:-set -x} envir=${envir:-prod} if [ $MACHINE != sgi ]; then - HOMEALL=${HOMEALL:-$NWROOT} + HOMEALL=${HOMEALL:-$OPSROOT} else HOMEALL=${HOMEALL:-/disk1/users/snake/prepobs} fi HOMERELO=${HOMERELO:-${shared_global_home}} -#HOMERELO=${HOMERELO:-$NWROOT/tropcy_qc_reloc.${tropcy_qc_reloc_ver}} envir_getges=${envir_getges:-$envir} if [ $modhr -eq 0 ]; then @@ -327,11 +321,7 @@ GETTX=${GETTX:-$EXECRELO/gettrk} # attempt to perform tropical cyclone relocation # ---------------------------------------------- -msg="Attempt to perform tropical cyclone relocation for $CDATE10" -set +u -##[ -n "$jlogfile" ] && $DATA/postmsg "$jlogfile" "$msg" -[ -n "$jlogfile" ] && postmsg "$jlogfile" "$msg" -set -u +echo "Attempt to perform tropical cyclone relocation for $CDATE10" if [ $modhr -ne 0 ]; then @@ -524,11 +514,8 @@ grep "$pdy $cyc" VITL errgrep=$? > tcvitals if [ $errgrep -ne 0 ] ; then - msg="NO TCVITAL RECORDS FOUND FOR $CDATE10 - EXIT TROPICAL CYCLONE \ + echo "NO TCVITAL RECORDS FOUND FOR $CDATE10 - EXIT TROPICAL CYCLONE \ RELOCATION PROCESSING" - set +u - [ -n "$jlogfile" ] && postmsg "$jlogfile" "$msg" - set -u # The existence of ${COMSP}tropcy_relocation_status.$tmmark file will tell the # subsequent PREP processing that RELOCATION processing occurred, echo @@ -727,11 +714,8 @@ else rm ${COMSP}sgesprep_pathname.$tmmark - msg="TROPICAL CYCLONE RELOCATION PROCESSING SUCCESSFULLY COMPLETED FOR \ + echo "TROPICAL CYCLONE RELOCATION PROCESSING SUCCESSFULLY COMPLETED FOR \ $CDATE10" - set +u - [ -n "$jlogfile" ] && postmsg "$jlogfile" "$msg" - set -u # end GFDL ges manipulation # ------------------------- From ccbe232045d25f2e3326a32b67dc292cdc466d35 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:05:42 +0000 Subject: [PATCH 29/78] Fold in ops WCOSS2 port changes into ex-scripts - Retire jlogfile and postmsg usage and references. - Change NWPROD to PACKAGEROOT. - Change COMINgfs to COMINobsproc in gempak script. - Change RUN to RUN2 in awips script. Refs #419 --- scripts/exgdas_atmos_gempak_gif_ncdc.sh | 2 -- scripts/exgdas_atmos_nawips.sh | 18 +++++---------- scripts/exgfs_atmos_awips_20km_1p0deg.sh | 9 +++----- scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh | 12 +++++----- scripts/exgfs_atmos_gempak_meta.sh | 10 ++++----- scripts/exgfs_atmos_goes_nawips.sh | 7 +++--- scripts/exgfs_atmos_grib_awips.sh | 8 +------ scripts/exgfs_atmos_nawips.sh | 22 +++++++++---------- scripts/exgfs_wave_nawips.sh | 6 ++--- scripts/exgfs_wave_prdgen_bulls.sh | 14 +++++------- scripts/exgfs_wave_prdgen_gridded.sh | 13 ++++------- scripts/exglobal_atmos_tropcy_qc_reloc.sh | 15 +++++-------- 12 files changed, 48 insertions(+), 88 deletions(-) diff --git a/scripts/exgdas_atmos_gempak_gif_ncdc.sh b/scripts/exgdas_atmos_gempak_gif_ncdc.sh index 3671d5511f..63a7475a0e 100755 --- a/scripts/exgdas_atmos_gempak_gif_ncdc.sh +++ b/scripts/exgdas_atmos_gempak_gif_ncdc.sh @@ -50,8 +50,6 @@ then $USHgempak/gempak_${RUN}_f${fhr}_gif.sh if [ ! -f $USHgempak/gempak_${RUN}_f${fhr}_gif.sh ] ; then echo "WARNING: $USHgempak/gempak_${RUN}_f${fhr}_gif.sh FILE is missing" - msg=" $USHgempak/gempak_${RUN}_f${fhr}_gif.sh file is missing " - postmsg "jlogfile" "$msg" fi fi diff --git a/scripts/exgdas_atmos_nawips.sh b/scripts/exgdas_atmos_nawips.sh index 4836065aa7..9251852892 100755 --- a/scripts/exgdas_atmos_nawips.sh +++ b/scripts/exgdas_atmos_nawips.sh @@ -13,11 +13,11 @@ source "$HOMEgfs/ush/preamble.sh" "${2}" cd $DATA -RUN=$1 +RUN2=$1 fend=$2 DBN_ALERT_TYPE=$3 -DATA_RUN=$DATA/$RUN +DATA_RUN=$DATA/$RUN2 mkdir -p $DATA_RUN cd $DATA_RUN @@ -75,22 +75,18 @@ while [ $fhcnt -le $fend ] ; do fhr3=$(printf "%03d" $fhcnt) - GEMGRD=${RUN}_${PDY}${cyc}f${fhr3} + GEMGRD=${RUN2}_${PDY}${cyc}f${fhr3} - if [ $RUN = "gdas_0p25" ]; then + if [ $RUN2 = "gdas_0p25" ]; then export GRIBIN=$COMIN/${model}.${cycle}.pgrb2.0p25.f${fhr} if [ ! -f $GRIBIN ] ; then echo "WARNING: $GRIBIN FILE is missing" - msg=" $GRIBIN file is missing " - postmsg "$jlogfile" "$msg" fi GRIBIN_chk=$COMIN/${model}.${cycle}.pgrb2.0p25.f${fhr}.idx else export GRIBIN=$COMIN/${model}.${cycle}.pgrb2.1p00.f${fhr} if [ ! -f $GRIBIN ] ; then echo "WARNING: $GRIBIN FILE is missing" - msg=" $GRIBIN file is missing " - postmsg "$jlogfile" "$msg" fi GRIBIN_chk=$COMIN/${model}.${cycle}.pgrb2.1p00.f${fhr}.idx fi @@ -102,15 +98,13 @@ while [ $fhcnt -le $fend ] ; do sleep 5 break else - msg="The process is waiting ... ${GRIBIN_chk} file to proceed." - postmsg "${jlogfile}" "$msg" + echo "The process is waiting ... ${GRIBIN_chk} file to proceed." sleep 20 let "icnt=icnt+1" fi if [ $icnt -ge $maxtries ] then - msg="ABORTING: after 1 hour of waiting for ${GRIBIN_chk} file at F$fhr to end." - postmsg "${jlogfile}" "$msg" + echo "ABORTING: after 1 hour of waiting for ${GRIBIN_chk} file at F$fhr to end." export err=7 ; err_chk exit $err fi diff --git a/scripts/exgfs_atmos_awips_20km_1p0deg.sh b/scripts/exgfs_atmos_awips_20km_1p0deg.sh index 3f9f84f237..382388cd1d 100755 --- a/scripts/exgfs_atmos_awips_20km_1p0deg.sh +++ b/scripts/exgfs_atmos_awips_20km_1p0deg.sh @@ -208,8 +208,7 @@ fi if [ "$SENDDBN" = 'YES' -o "$SENDAWIP" = 'YES' ] ; then $DBNROOT/bin/dbn_alert NTC_LOW $NET $job ${COMOUTwmo}/grib2.awpgfs${fcsthrs}.${GRID}.gfs_awips_f${fcsthrs}_1p0deg_${cyc} else - msg="File ${COMOUTwmo}/grib2.awpgfs${fcsthrs}.${GRID}.gfs_awips_f${fcsthrs}_1p0deg_${cyc} not posted to db_net." - postmsg "$jlogfile" "$msg" + echo "File ${COMOUTwmo}/grib2.awpgfs${fcsthrs}.${GRID}.gfs_awips_f${fcsthrs}_1p0deg_${cyc} not posted to db_net." fi fi elif [ $GRID != "003" ] ; then @@ -236,13 +235,11 @@ fi if [ "$SENDDBN" = 'YES' -o "$SENDAWIP" = 'YES' ] ; then $DBNROOT/bin/dbn_alert NTC_LOW $NET $job ${COMOUTwmo}/grib2.awpgfs_20km_${GRID}_f${fcsthrs}.$job_name else - msg="File ${COMOUTwmo}/grib2.awpgfs_20km_${GRID}_f${fcsthrs}.$job_name not posted to db_net." - postmsg "$jlogfile" "$msg" + echo "File ${COMOUTwmo}/grib2.awpgfs_20km_${GRID}_f${fcsthrs}.$job_name not posted to db_net." fi fi fi - msg="Awip Processing ${fcsthrs} hour completed normally" - postmsg "$jlogfile" "$msg" + echo "Awip Processing ${fcsthrs} hour completed normally" done diff --git a/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh b/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh index 394c5c30d8..64562daeed 100755 --- a/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh +++ b/scripts/exgfs_atmos_gempak_gif_ncdc_skew_t.sh @@ -29,25 +29,23 @@ then while [ $icnt -lt 1000 ] do if [ -r ${COMIN}/${RUN}_${PDY}${cyc}f0${fhr} ] ; then - sleep 5 + sleep 5 break else - msg="The process is waiting ... ${GRIBFILE} file to proceed." - postmsg "${jlogfile}" "$msg" + echo "The process is waiting ... ${GRIBFILE} file to proceed." sleep 20 let "icnt=icnt+1" fi if [ $icnt -ge $maxtries ] then - msg="ABORTING: after 1 hour of waiting for ${GRIBFILE} file at F$fhr to end." - postmsg "${jlogfile}" "$msg" + echo "ABORTING: after 1 hour of waiting for ${GRIBFILE} file at F$fhr to end." export err=7 ; err_chk exit $err fi done cp ${COMIN}/${RUN}_${PDY}${cyc}f0${fhr} gem_grids${fhr}.gem - + # if [ $cyc -eq 00 -o $cyc -eq 12 ] #then $USHgempak/gempak_${RUN}_f${fhr}_gif.sh @@ -77,7 +75,7 @@ export RSHPDY=$(echo $PDY | cut -c5-)$(echo $PDY | cut -c3-4) cp $HOMEgfs/gempak/dictionaries/sonde.land.tbl . cp $HOMEgfs/gempak/dictionaries/metar.tbl . sort -k 2n,2 metar.tbl > metar_stnm.tbl -cp $COMINgfs/${model}.$cycle.adpupa.tm00.bufr_d fort.40 +cp $COMINobsproc/${model}.$cycle.adpupa.tm00.bufr_d fort.40 export err=$? if [[ $err -ne 0 ]] ; then echo " File ${model}.$cycle.adpupa.tm00.bufr_d does not exist." diff --git a/scripts/exgfs_atmos_gempak_meta.sh b/scripts/exgfs_atmos_gempak_meta.sh index cb64138c61..04f4f1fc5c 100755 --- a/scripts/exgfs_atmos_gempak_meta.sh +++ b/scripts/exgfs_atmos_gempak_meta.sh @@ -27,7 +27,7 @@ do_all=0 #loop through and process needed forecast hours while [ $fhr -le $fhend ] do - # + # # First check to see if this is a rerun. If so make all Meta files if [ $fhr -gt 126 -a $first_time -eq 0 ] ; then do_all=1 @@ -51,8 +51,7 @@ do fi if [ $icnt -ge $maxtries ] then - msg="ABORTING after 1 hour of waiting for gempak grid F$fhr to end." - postmsg "${jlogfile}" "$msg" + echo "ABORTING after 1 hour of waiting for gempak grid F$fhr to end." export err=7 ; err_chk exit $err fi @@ -104,7 +103,7 @@ do # If this is the final fcst hour, alert the # file to all centers. -# +# if [ 10#$fhr -ge $fhend ] ; then export DBN_ALERT_TYPE=GFS_METAFILE_LAST fi @@ -112,12 +111,11 @@ do export fend=$fhr sleep 20 -# mpirun.lsf ntasks=${NTASKS_META:-$(cat $DATA/poescript | wc -l)} ptile=${PTILE_META:-4} threads=${NTHREADS_META:-1} export OMP_NUM_THREADS=$threads - APRUN="mpirun -n $ntasks cfp " + APRUN="mpiexec -l -n $ntasks -ppn $ntasks --cpu-bind verbose,core cfp" APRUN_METACFP=${APRUN_METACFP:-$APRUN} APRUNCFP=$(eval echo $APRUN_METACFP) diff --git a/scripts/exgfs_atmos_goes_nawips.sh b/scripts/exgfs_atmos_goes_nawips.sh index 7aae2e143c..76ae067280 100755 --- a/scripts/exgfs_atmos_goes_nawips.sh +++ b/scripts/exgfs_atmos_goes_nawips.sh @@ -25,7 +25,7 @@ cp $FIXgempak/g2vcrdncep1.tbl g2vcrdncep1.tbl NAGRIB=$GEMEXE/nagrib2 # -entry=$(grep "^$RUN " $NAGRIB_TABLE | awk 'index($1,"#") != 1 {print $0}') +entry=$(grep "^$RUN2 " $NAGRIB_TABLE | awk 'index($1,"#") != 1 {print $0}') if [ "$entry" != "" ] ; then cpyfil=$(echo $entry | awk 'BEGIN {FS="|"} {print $2}') @@ -56,7 +56,7 @@ while [ $fhcnt -le $fend ] ; do fhr3=$(printf "03d" $fhcnt) GRIBIN=$COMIN/${model}.${cycle}.${GRIB}${fhr}${EXT} - GEMGRD=${RUN}_${PDY}${cyc}f${fhr3} + GEMGRD=${RUN2}_${PDY}${cyc}f${fhr3} GRIBIN_chk=$GRIBIN @@ -71,8 +71,7 @@ while [ $fhcnt -le $fend ] ; do fi if [ $icnt -ge $maxtries ] then - msg="ABORTING after 1 hour of waiting for F$fhr to end." - postmsg "${jlogfile}" "$msg" + echo "ABORTING after 1 hour of waiting for F$fhr to end." export err=7 ; err_chk exit $err fi diff --git a/scripts/exgfs_atmos_grib_awips.sh b/scripts/exgfs_atmos_grib_awips.sh index 5252d71983..efa3326513 100755 --- a/scripts/exgfs_atmos_grib_awips.sh +++ b/scripts/exgfs_atmos_grib_awips.sh @@ -68,11 +68,6 @@ do fi done -######################################## -msg="HAS BEGUN!" -postmsg "$jlogfile" "$msg" -######################################## - echo " ------------------------------------------" echo " BEGIN MAKING GFS GRIB1 AWIPS PRODUCTS" echo " ------------------------------------------" @@ -137,8 +132,7 @@ EOF if [ "$SENDDBN" = 'YES' -o "$SENDAWIP" = 'YES' ] ; then $DBNROOT/bin/dbn_alert $DBNALERT_TYPE $NET $job ${COMOUTwmo}/xtrn.awpgfs${fcsthrs}.${GRID}.$job_name else - msg="File $output_grb.$job_name not posted to db_net." - postmsg "$jlogfile" "$msg" + echo "File $output_grb.$job_name not posted to db_net." fi fi diff --git a/scripts/exgfs_atmos_nawips.sh b/scripts/exgfs_atmos_nawips.sh index 5b75173506..764dde4fe1 100755 --- a/scripts/exgfs_atmos_nawips.sh +++ b/scripts/exgfs_atmos_nawips.sh @@ -18,11 +18,11 @@ source "$HOMEgfs/ush/preamble.sh" "${2}" export ILPOST=${ILPOST:-1} cd $DATA -RUN=$1 +RUN2=$1 fend=$2 DBN_ALERT_TYPE=$3 -DATA_RUN=$DATA/$RUN +DATA_RUN=$DATA/$RUN2 mkdir -p $DATA_RUN cd $DATA_RUN @@ -56,7 +56,7 @@ if [[ $(mkdir lock.${fhcnt}) == 0 ]] ; then fhr3=$(printf "%03d" $fhcnt) - GEMGRD=${RUN}_${PDY}${cyc}f${fhr3} + GEMGRD=${RUN2}_${PDY}${cyc}f${fhr3} # Set type of Interpolation for WGRIB2 export opt1=' -set_grib_type same -new_grid_winds earth ' @@ -71,10 +71,10 @@ if [[ $(mkdir lock.${fhcnt}) == 0 ]] ; then export opt28=' -new_grid_interpolation budget -fi ' export TRIMRH=$HOMEgfs/ush/trim_rh.sh - if [ $RUN = "gfs_0p50" ]; then + if [ $RUN2 = "gfs_0p50" ]; then export GRIBIN=$COMIN/${model}.${cycle}.pgrb2.0p50.f${fhr} GRIBIN_chk=$COMIN/${model}.${cycle}.pgrb2.0p50.f${fhr}.idx - elif [ $RUN = "gfs_0p25" -o $RUN = "gdas_0p25" -o $RUN = "gfs35_atl" -o $RUN = "gfs35_pac" -o $RUN = "gfs40" ]; then + elif [ $RUN2 = "gfs_0p25" -o $RUN2 = "gdas_0p25" -o $RUN2 = "gfs35_atl" -o $RUN2 = "gfs35_pac" -o $RUN2 = "gfs40" ]; then export GRIBIN=$COMIN/${model}.${cycle}.pgrb2.0p25.f${fhr} GRIBIN_chk=$COMIN/${model}.${cycle}.pgrb2.0p25.f${fhr}.idx else @@ -89,21 +89,19 @@ if [[ $(mkdir lock.${fhcnt}) == 0 ]] ; then sleep 5 break else - msg="The process is waiting ... ${GRIBIN_chk} file to proceed." - postmsg "${jlogfile}" "$msg" + echo "The process is waiting ... ${GRIBIN_chk} file to proceed." sleep 10 let "icnt=icnt+1" fi if [ $icnt -ge $maxtries ] then - msg="ABORTING: after 1 hour of waiting for ${GRIBIN_chk} file at F$fhr to end." - postmsg "${jlogfile}" "$msg" + echo "ABORTING: after 1 hour of waiting for ${GRIBIN_chk} file at F$fhr to end." export err=7 ; err_chk exit $err fi done -case $RUN in +case $RUN2 in gfs35_pac) # $COPYGB2 -g "0 6 0 0 0 0 0 0 416 186 0 0 75125000 130000000 48 17000000 260000000 312000 312000 0" -x $GRIBIN grib$fhr # NEW define gfs35_pac="0 6 0 0 0 0 0 0 416 186 0 -1 75125000 130000000 48 17405000 259480000 312000 312000 0" @@ -165,12 +163,12 @@ EOF cd $DATA_RUN else if [ $fhcnt -ge 240 ] ; then - if [ $fhcnt -lt 276 -a $RUN = "gfs_0p50" ] ; then + if [ $fhcnt -lt 276 -a $RUN2 = "gfs_0p50" ] ; then let fhcnt=fhcnt+6 else let fhcnt=fhcnt+12 fi - elif [ $fhcnt -lt 120 -a $RUN = "gfs_0p25" ] ; then + elif [ $fhcnt -lt 120 -a $RUN2 = "gfs_0p25" ] ; then #### let fhcnt=fhcnt+1 let fhcnt=fhcnt+$ILPOST else diff --git a/scripts/exgfs_wave_nawips.sh b/scripts/exgfs_wave_nawips.sh index 8d41578d7e..68a96003f0 100755 --- a/scripts/exgfs_wave_nawips.sh +++ b/scripts/exgfs_wave_nawips.sh @@ -83,8 +83,7 @@ while [ $fhcnt -le $FHMAX_WAV ]; do sleep 20 fi if [ $icnt -ge $maxtries ]; then - msg="ABORTING after 5 minutes of waiting for $GRIBIN." - postmsg "$jlogfile" "$msg" + echo "ABORTING after 5 minutes of waiting for $GRIBIN." echo ' ' echo '**************************** ' echo '*** ERROR : NO GRIB FILE *** ' @@ -103,8 +102,7 @@ while [ $fhcnt -le $FHMAX_WAV ]; do $GRIBIN 1> out 2>&1 OK=$? if [ "$OK" != '0' ]; then - msg="ABNORMAL EXIT: ERROR IN interpolation the global grid" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: ERROR IN interpolation the global grid" #set +x echo ' ' echo '************************************************************* ' diff --git a/scripts/exgfs_wave_prdgen_bulls.sh b/scripts/exgfs_wave_prdgen_bulls.sh index 10bdee523b..82e4d50a1c 100755 --- a/scripts/exgfs_wave_prdgen_bulls.sh +++ b/scripts/exgfs_wave_prdgen_bulls.sh @@ -29,7 +29,7 @@ source "$HOMEgfs/ush/preamble.sh" export cycle=${cycle:-t${cyc}z} export pgmout=OUTPUT.$$ export DATA=${DATA:-${DATAROOT:?}/${job}.$$} - #export CODEwave=${CODEwave:-${NWROOT}/${NET}_code.${wave_code_ver}/${code_pkg}} + #export CODEwave=${CODEwave:-${PACKAGEROOT}/${NET}_code.${wave_code_ver}/${code_pkg}} export EXECwave=${EXECwave:-$HOMEgfs/exec} export FIXwave=${FIXwave:-$HOMEgfs/fix} export PARMwave=${PARMwave:-$HOMEgfs/parm/parm_wave} @@ -66,8 +66,7 @@ source "$HOMEgfs/ush/preamble.sh" if [ -f $BullIn ]; then cp $BullIn cbull.tar else - msg="ABNORMAL EXIT: NO BULLETIN TAR FILE" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: NO BULLETIN TAR FILE" set +x echo ' ' echo '************************************ ' @@ -94,8 +93,7 @@ source "$HOMEgfs/ush/preamble.sh" ${TRACE_ON:-set -x} rm -f cbull.tar else - msg="ABNORMAL EXIT: ERROR IN BULLETIN UNTAR" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: ERROR IN BULLETIN UNTAR" set +x echo ' ' echo '****************************************** ' @@ -122,8 +120,7 @@ source "$HOMEgfs/ush/preamble.sh" if [ -f $PARMwave/bull_awips_gfswave ]; then cp $PARMwave/bull_awips_gfswave awipsbull.data else - msg="ABNORMAL EXIT: NO AWIPS BULLETIN HEADER DATA FILE" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: NO AWIPS BULLETIN HEADER DATA FILE" set +x echo ' ' echo '******************************************* ' @@ -186,8 +183,7 @@ source "$HOMEgfs/ush/preamble.sh" if [ "$OK" != '0' ] || [ ! -f $oname ]; then ${TRACE_ON:-set -x} cat formbul.out - msg="ABNORMAL EXIT: ERROR IN formbul" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: ERROR IN formbul" set +x echo ' ' echo '************************************** ' diff --git a/scripts/exgfs_wave_prdgen_gridded.sh b/scripts/exgfs_wave_prdgen_gridded.sh index b56fb15819..4f271672e5 100755 --- a/scripts/exgfs_wave_prdgen_gridded.sh +++ b/scripts/exgfs_wave_prdgen_gridded.sh @@ -42,9 +42,7 @@ source "$HOMEgfs/ush/preamble.sh" cd $DATA export wavelog=${DATA}/${COMPONENTwave}_prdggridded.log - postmsg "$jlogfile" "HAS BEGUN on $(hostname)" - msg="Starting MWW3 GRIDDED PRODUCTS SCRIPT" - postmsg "$jlogfile" "$msg" + echo "Starting MWW3 GRIDDED PRODUCTS SCRIPT" # Output grids grids=${grids:-ao_9km at_10m ep_10m wc_10m glo_30m} # grids=${grids:-ak_10m at_10m ep_10m wc_10m glo_30m} @@ -112,8 +110,7 @@ source "$HOMEgfs/ush/preamble.sh" sleep 5 fi if [ $icnt -ge $maxtries ]; then - msg="ABNORMAL EXIT: NO GRIB FILE FOR GRID $GRIBIN" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: NO GRIB FILE FOR GRID $GRIBIN" echo ' ' echo '**************************** ' echo '*** ERROR : NO GRIB FILE *** ' @@ -188,8 +185,7 @@ source "$HOMEgfs/ush/preamble.sh" if [ "$OK" != '0' ] then - msg="ABNORMAL EXIT: ERROR IN grb2index MWW3 for grid $grdID" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: ERROR IN grb2index MWW3 for grid $grdID" #set +x echo ' ' echo '******************************************** ' @@ -218,8 +214,7 @@ source "$HOMEgfs/ush/preamble.sh" OK=$? if [ "$OK" != '0' ]; then cat tocgrib2.out - msg="ABNORMAL EXIT: ERROR IN tocgrib2" - postmsg "$jlogfile" "$msg" + echo "ABNORMAL EXIT: ERROR IN tocgrib2" #set +x echo ' ' echo '*************************************** ' diff --git a/scripts/exglobal_atmos_tropcy_qc_reloc.sh b/scripts/exglobal_atmos_tropcy_qc_reloc.sh index 6f96d7cfb4..490a5bba4e 100755 --- a/scripts/exglobal_atmos_tropcy_qc_reloc.sh +++ b/scripts/exglobal_atmos_tropcy_qc_reloc.sh @@ -28,21 +28,17 @@ tmmark_uc=$(echo $tmmark | tr [a-z] [A-Z]) iflag=0 if [ $RUN = ndas ]; then if [ $DO_RELOCATE = NO ]; then - msg="CENTER PROCESSING TIME FOR NDAS TROPICAL CYCLONE QC IS $cdate10" - postmsg "$jlogfile" "$msg" - msg="Output tcvitals files will be copied forward in time to proper \ + echo "CENTER PROCESSING TIME FOR NDAS TROPICAL CYCLONE QC IS $cdate10" + echo "Output tcvitals files will be copied forward in time to proper \ output file directory path locations" - postmsg "$jlogfile" "$msg" iflag=1 else - msg="CENTER PROCESSING TIME FOR $tmmark_uc NDAS TROPICAL CYCLONE \ + echo "CENTER PROCESSING TIME FOR $tmmark_uc NDAS TROPICAL CYCLONE \ RELOCATION IS $cdate10" - postmsg "$jlogfile" "$msg" fi else - msg="CENTER PROCESSING TIME FOR $tmmark_uc $NET_uc TROPICAL CYCLONE QC/\ + echo "CENTER PROCESSING TIME FOR $tmmark_uc $NET_uc TROPICAL CYCLONE QC/\ RELOCATION IS $cdate10" - postmsg "$jlogfile" "$msg" fi @@ -59,8 +55,7 @@ if [ "$PROCESS_TROPCY" = 'YES' ]; then ${USHSYND:-$HOMEgfs/ush}/syndat_qctropcy.sh $cdate10 errsc=$? if [ "$errsc" -ne '0' ]; then - msg="syndat_qctropcy.sh failed. exit" - postmsg "$jlogfile" "$msg" + echo "syndat_qctropcy.sh failed. exit" exit $errsc fi From db676279e06d87303eb0204d04e8d513cb207b98 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:39:19 +0000 Subject: [PATCH 30/78] Add env file sourcing to wafsgcip rocoto job script Refs #419 --- jobs/rocoto/wafsgcip.sh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jobs/rocoto/wafsgcip.sh b/jobs/rocoto/wafsgcip.sh index f3e98a03da..53cfd90da5 100755 --- a/jobs/rocoto/wafsgcip.sh +++ b/jobs/rocoto/wafsgcip.sh @@ -18,6 +18,13 @@ for config in $configs; do [[ $status -ne 0 ]] && exit $status done +########################################## +# Source machine runtime environment +########################################## +. $HOMEgfs/env/${machine}.env wafsgcip +status=$? +[[ $status -ne 0 ]] && exit $status + ############################################################### export DATAROOT="$RUNDIR/$CDATE/$CDUMP/wafsgcip" From 8bd6b71252ffae421364f6aba5cc3d8f35593117 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:40:10 +0000 Subject: [PATCH 31/78] Update vrfy rocoto job script - Remove jlogfile references. - Update fit2obs section for new version. - Add COMINsyn setting with compath.py usage for tracker. Refs #419 --- jobs/rocoto/vrfy.sh | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/jobs/rocoto/vrfy.sh b/jobs/rocoto/vrfy.sh index 57bf1814b9..84dca8304f 100755 --- a/jobs/rocoto/vrfy.sh +++ b/jobs/rocoto/vrfy.sh @@ -92,8 +92,14 @@ if [ $VRFYFITS = "YES" -a $CDUMP = $CDFNL -a $CDATE != $SDATE ]; then export TMPDIR="$RUNDIR/$CDATE/$CDUMP" [[ ! -d $TMPDIR ]] && mkdir -p $TMPDIR - xdate=$($NDATE -${VBACKUP_FITS} $CDATE) + export xdate=$($NDATE -${VBACKUP_FITS} $CDATE) + export vday=$(echo $xdate | cut -c1-8) + export vcyc=$(echo $xdate | cut -c9-10) + export COMDAY=$ROTDIR/logs/$xdate + export COM_INA=$ROTDIR/gdas.$vday/$vcyc/atmos + export COM_INF='$ROTDIR/vrfyarch/gfs.$fdy/$fzz' + export COM_PRP='$ROTDIR/gdas.$pdy/$cyc/atmos' export RUN_ENVIR_SAVE=$RUN_ENVIR export RUN_ENVIR=$OUTPUT_FILE @@ -112,7 +118,6 @@ if [ $VRFYRAD = "YES" -a $CDUMP = $CDFNL -a $CDATE != $SDATE ]; then export EXP=$PSLOT export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" - export jlogfile="$ROTDIR/logs/$CDATE/${CDUMP}radmon.log" export TANKverf_rad="$TANKverf/stats/$PSLOT/$CDUMP.$PDY" export TANKverf_radM1="$TANKverf/stats/$PSLOT/$CDUMP.$PDYm1" export MY_MACHINE=$machine @@ -129,7 +134,6 @@ if [ $VRFYOZN = "YES" -a $CDUMP = $CDFNL -a $CDATE != $SDATE ]; then export EXP=$PSLOT export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" - export jlogfile="$ROTDIR/logs/$CDATE/${CDUMP}oznmon.log" export TANKverf_ozn="$TANKverf_ozn/stats/$PSLOT/$CDUMP.$PDY" export TANKverf_oznM1="$TANKverf_ozn/stats/$PSLOT/$CDUMP.$PDYm1" export MY_MACHINE=$machine @@ -145,7 +149,6 @@ echo "=============== START TO RUN MINMON ===============" if [ $VRFYMINMON = "YES" -a $CDATE != $SDATE ]; then export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" - export jlogfile="$ROTDIR/logs/$CDATE/${CDUMP}minmon.log" export M_TANKverfM0="$M_TANKverf/stats/$PSLOT/$CDUMP.$PDY" export M_TANKverfM1="$M_TANKverf/stats/$PSLOT/$CDUMP.$PDYm1" export MY_MACHINE=$machine @@ -159,6 +162,9 @@ fi echo echo "=============== START TO RUN CYCLONE TRACK VERIFICATION ===============" if [ $VRFYTRAK = "YES" ]; then + + export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat} + $TRACKERSH fi From 9cd4bf1dcac4cf57206a601ea5e5e3cc2af2a63b Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:42:09 +0000 Subject: [PATCH 32/78] Update JOBSPROC_GLOBAL_PREP path in rocoto prep.sh - Change HOMEobsproc_network to HOMEobsproc. Refs #419 --- jobs/rocoto/prep.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jobs/rocoto/prep.sh b/jobs/rocoto/prep.sh index 7d22adc7aa..7715dd4904 100755 --- a/jobs/rocoto/prep.sh +++ b/jobs/rocoto/prep.sh @@ -109,7 +109,7 @@ if [ $DO_MAKEPREPBUFR = "YES" ]; then export MAKE_NSSTBUFR="NO" fi - $HOMEobsproc_network/jobs/JGLOBAL_PREP + $HOMEobsproc/jobs/JOBSPROC_GLOBAL_PREP status=$? [[ $status -ne 0 ]] && exit $status From 05e89c7738b7f51133365efea83507a2f7177d52 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:43:04 +0000 Subject: [PATCH 33/78] Remote jlogfile reference in awips rocoto script Refs #419 --- jobs/rocoto/awips.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/jobs/rocoto/awips.sh b/jobs/rocoto/awips.sh index f8e5646aa6..d700494ab2 100755 --- a/jobs/rocoto/awips.sh +++ b/jobs/rocoto/awips.sh @@ -58,7 +58,6 @@ echo "=============== BEGIN AWIPS ===============" export SENDCOM="YES" export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" export PCOM="$COMOUT/wmo" -export jlogfile="$ROTDIR/logs/$CDATE/jgfs_awips.log" SLEEP_TIME=1800 SLEEP_INT=5 From 18990b04351c56a107c87b3617878c96bb410c6e Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:43:45 +0000 Subject: [PATCH 34/78] Update ocnpost rocoto job script - Remove jlogfile reference. - Change NWROOT to PACKAGEROOT. Refs #419 --- jobs/rocoto/ocnpost.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/jobs/rocoto/ocnpost.sh b/jobs/rocoto/ocnpost.sh index 0f6413ec43..7f242ea2a5 100755 --- a/jobs/rocoto/ocnpost.sh +++ b/jobs/rocoto/ocnpost.sh @@ -17,7 +17,7 @@ status=$? # Source relevant config files ############################# configs="base ocnpost" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -58,11 +58,6 @@ export cycle="t${cyc}z" setpdy.sh . ./PDY -############################################## -# Define the Log File directory -############################################## -export jlogfile=${jlogfile:-$COMROOT/logs/jlogfiles/jlogfile.${job}.${pid}} - ############################################## # Determine Job Output Name on System ############################################## From 3687078b9140e4d5de83f7629f9c3179a9d66b48 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 15:44:39 +0000 Subject: [PATCH 35/78] Update gempak rocoto job script - Remove config and env sourcing, as well as some additional settings (moving to JJOB script). - Add JJOB script invocation: $HOMEgfs/jobs/JGFS_ATMOS_GEMPAK - Some cleanup. Refs #419 --- jobs/rocoto/gempak.sh | 60 ++++--------------------------------------- 1 file changed, 5 insertions(+), 55 deletions(-) diff --git a/jobs/rocoto/gempak.sh b/jobs/rocoto/gempak.sh index 5b7f43ce47..9f1ed4bc91 100755 --- a/jobs/rocoto/gempak.sh +++ b/jobs/rocoto/gempak.sh @@ -2,18 +2,6 @@ source "$HOMEgfs/ush/preamble.sh" -############################################################### -## Abstract: -## Inline gempak driver script -## RUN_ENVIR : runtime environment (emc | nco) -## HOMEgfs : /full/path/to/workflow -## EXPDIR : /full/path/to/config/files -## CDATE : current analysis date (YYYYMMDDHH) -## CDUMP : cycle name (gdas / gfs) -## PDY : current date (YYYYMMDD) -## cyc : current cycle (HH) -############################################################### - ############################################################### echo echo "=============== BEGIN TO SOURCE FV3GFS WORKFLOW MODULES ===============" @@ -21,53 +9,15 @@ echo "=============== BEGIN TO SOURCE FV3GFS WORKFLOW MODULES ===============" status=$? [[ $status -ne 0 ]] && exit $status - -############################################################### -echo -echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" -configs="base gempak" -for config in $configs; do - . $EXPDIR/config.${config} - status=$? - [[ $status -ne 0 ]] && exit $status -done - - -############################################################### -echo -echo "=============== BEGIN TO SOURCE MACHINE RUNTIME ENVIRONMENT ===============" -. $BASE_ENV/${machine}.env gempak -status=$? -[[ $status -ne 0 ]] && exit $status - -############################################################### +export SENDCOM="YES" export COMPONENT=${COMPONENT:-atmos} -export CDATEm1=$($NDATE -24 $CDATE) -export PDYm1=$(echo $CDATEm1 | cut -c1-8) export COMIN="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT" -export DATAROOT="$RUNDIR/$CDATE/$CDUMP/gempak" -[[ -d $DATAROOT ]] && rm -rf $DATAROOT -mkdir -p $DATAROOT - - -################################################################################ -echo -echo "=============== BEGIN GEMPAK ===============" -export job="jgfs_gempak_${cyc}" -export jlogfile="$ROTDIR/logs/$CDATE/$job.log" -export DATA="${DATAROOT}/$job" -export SENDCOM="YES" export COMOUT="$ROTDIR/$CDUMP.$PDY/$cyc/$COMPONENT/gempak" -export FIXgfs="" # set blank so that GEMPAKSH defaults FIXgfs to HOMEgfs/gempak/fix -export USHgfs="" # set blank so that GEMPAKSH defaults FIXgfs to HOMEgfs/gempak/ush - -$GEMPAKSH +# Execute the JJOB -############################################################### -# Force Exit out cleanly -if [ ${KEEPDATA:-"NO"} = "NO" ] ; then rm -rf $DATAROOT ; fi +$HOMEgfs/jobs/JGFS_ATMOS_GEMPAK - -exit 0 +status=$? +exit $status From 7a543389ec292ba3628673a6f731223ffb98c43b Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:02:51 +0000 Subject: [PATCH 36/78] Change NWROOT to PACKAGEROOT in EFSOI job scripts Refs #419 --- jobs/JGDAS_EFSOI | 2 +- jobs/JGDAS_EFSOI_ECEN | 2 +- jobs/JGDAS_EFSOI_FCST | 2 +- jobs/JGDAS_EFSOI_POST | 2 +- jobs/JGDAS_EFSOI_SFC | 2 +- jobs/JGDAS_EFSOI_UPDATE | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/jobs/JGDAS_EFSOI b/jobs/JGDAS_EFSOI index 6c90468989..0fa38dc3e1 100755 --- a/jobs/JGDAS_EFSOI +++ b/jobs/JGDAS_EFSOI @@ -10,7 +10,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal efsoi" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_EFSOI_ECEN b/jobs/JGDAS_EFSOI_ECEN index 864bb1ae4a..c4d63bcc70 100755 --- a/jobs/JGDAS_EFSOI_ECEN +++ b/jobs/JGDAS_EFSOI_ECEN @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base ecenfsoi" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_EFSOI_FCST b/jobs/JGDAS_EFSOI_FCST index 2794ee9c93..a4b67d3428 100755 --- a/jobs/JGDAS_EFSOI_FCST +++ b/jobs/JGDAS_EFSOI_FCST @@ -8,7 +8,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} # Source relevant config files ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} configs="base fcst efcsfsoi" for config in $configs; do . $config_path/config.$config diff --git a/jobs/JGDAS_EFSOI_POST b/jobs/JGDAS_EFSOI_POST index aca5bd51ed..f096aff28e 100755 --- a/jobs/JGDAS_EFSOI_POST +++ b/jobs/JGDAS_EFSOI_POST @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base eposfsoi" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_EFSOI_SFC b/jobs/JGDAS_EFSOI_SFC index 5ba5fb6393..18a9c24c7f 100755 --- a/jobs/JGDAS_EFSOI_SFC +++ b/jobs/JGDAS_EFSOI_SFC @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base esfcfsoi" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_EFSOI_UPDATE b/jobs/JGDAS_EFSOI_UPDATE index e5efd6241a..c0f491dcd5 100755 --- a/jobs/JGDAS_EFSOI_UPDATE +++ b/jobs/JGDAS_EFSOI_UPDATE @@ -10,7 +10,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal eupdfsoi" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? From 4b96287e2992e97f89b11bf958c7654d00dd299b Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:03:45 +0000 Subject: [PATCH 37/78] Change NWROOT to PACKAGEROOT in ENKF job scripts Refs #419 --- jobs/JGDAS_ENKF_DIAG | 2 +- jobs/JGDAS_ENKF_ECEN | 2 +- jobs/JGDAS_ENKF_FCST | 2 +- jobs/JGDAS_ENKF_POST | 2 +- jobs/JGDAS_ENKF_SELECT_OBS | 2 +- jobs/JGDAS_ENKF_SFC | 2 +- jobs/JGDAS_ENKF_UPDATE | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/jobs/JGDAS_ENKF_DIAG b/jobs/JGDAS_ENKF_DIAG index 5ce8d86b78..3864f8d008 100755 --- a/jobs/JGDAS_ENKF_DIAG +++ b/jobs/JGDAS_ENKF_DIAG @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal eobs analdiag ediag" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_ENKF_ECEN b/jobs/JGDAS_ENKF_ECEN index 1e7a51b5ae..90773d7a1e 100755 --- a/jobs/JGDAS_ENKF_ECEN +++ b/jobs/JGDAS_ENKF_ECEN @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base ecen" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_ENKF_FCST b/jobs/JGDAS_ENKF_FCST index 68b3a53204..e57ff1d09b 100755 --- a/jobs/JGDAS_ENKF_FCST +++ b/jobs/JGDAS_ENKF_FCST @@ -8,7 +8,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} # Source relevant config files ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} configs="base fcst efcs" for config in $configs; do . $config_path/config.$config diff --git a/jobs/JGDAS_ENKF_POST b/jobs/JGDAS_ENKF_POST index dcc6335e44..5b9926b95c 100755 --- a/jobs/JGDAS_ENKF_POST +++ b/jobs/JGDAS_ENKF_POST @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base epos" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_ENKF_SELECT_OBS b/jobs/JGDAS_ENKF_SELECT_OBS index 92bd78b04c..4d67379d66 100755 --- a/jobs/JGDAS_ENKF_SELECT_OBS +++ b/jobs/JGDAS_ENKF_SELECT_OBS @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal eobs" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_ENKF_SFC b/jobs/JGDAS_ENKF_SFC index 54f196234a..cc41e7622f 100755 --- a/jobs/JGDAS_ENKF_SFC +++ b/jobs/JGDAS_ENKF_SFC @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base esfc" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_ENKF_UPDATE b/jobs/JGDAS_ENKF_UPDATE index dafd9b13f2..fab0726a16 100755 --- a/jobs/JGDAS_ENKF_UPDATE +++ b/jobs/JGDAS_ENKF_UPDATE @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal eupd" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? From 019927ae0fc3a9cc9f35b275610c2226279358e0 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:05:11 +0000 Subject: [PATCH 38/78] WCOSS2 updates in wave job scripts - Change NWROOT to PACKAGEROOT. - Update PDY syntax. - Update compath.py format. - Some cleanup, including removal of RUN_ENVIR=nco blocks. - Change wavempexec override to be prior setting of wavempexec. Refs #419 --- jobs/JGLOBAL_WAVE_GEMPAK | 7 +++---- jobs/JGLOBAL_WAVE_INIT | 9 +++------ jobs/JGLOBAL_WAVE_POST_BNDPNT | 11 ++++------- jobs/JGLOBAL_WAVE_POST_BNDPNTBLL | 13 +++++-------- jobs/JGLOBAL_WAVE_POST_PNT | 9 +++------ jobs/JGLOBAL_WAVE_POST_SBS | 17 +++++++---------- jobs/JGLOBAL_WAVE_PRDGEN_BULLS | 8 ++++---- jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED | 10 ++++------ jobs/JGLOBAL_WAVE_PREP | 15 ++++++--------- 9 files changed, 39 insertions(+), 60 deletions(-) diff --git a/jobs/JGLOBAL_WAVE_GEMPAK b/jobs/JGLOBAL_WAVE_GEMPAK index 591dcff393..baf2f437f1 100755 --- a/jobs/JGLOBAL_WAVE_GEMPAK +++ b/jobs/JGLOBAL_WAVE_GEMPAK @@ -2,7 +2,6 @@ source "$HOMEgfs/ush/preamble.sh" -# JY - 10/29, move the block in the front, otherwise PDY is not defined for COMIN export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA @@ -14,7 +13,7 @@ cd $DATA export cycle=${cycle:-t${cyc}z} setpdy.sh -. PDY +. ./PDY # export NET=${NET:-gfs} @@ -28,8 +27,8 @@ export errchk=${errchk:-err_chk} ################################### # Set COM Paths -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak} #export pid=$$ export pgmout="OUTPUT.$$" diff --git a/jobs/JGLOBAL_WAVE_INIT b/jobs/JGLOBAL_WAVE_INIT index 013dff7e70..52fbc80110 100755 --- a/jobs/JGLOBAL_WAVE_INIT +++ b/jobs/JGLOBAL_WAVE_INIT @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base wave waveinit" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -41,7 +41,7 @@ export cycle=${cycle:-t${cyc}z} # Set PDY setpdy.sh -. PDY +. ./PDY export pgmout=OUTPUT.$$ @@ -54,9 +54,6 @@ export USHwave=${USHwave:-$HOMEgfs/ush} export EXECwave=${EXECwave:-$HOMEgfs/exec} # Set COM Paths and GETGES environment -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} [[ ! -d $COMOUT ]] && mkdir -m 775 -p $COMOUT @@ -66,7 +63,7 @@ if [ $SENDCOM = YES ]; then fi # Set mpi serial command -export wavempexec=${launcher:-"mpirun -n"} +export wavempexec=${wavempexec:-"mpirun -n"} export wave_mpmd=${mpmd:-"cfp"} # Execute the Script diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNT b/jobs/JGLOBAL_WAVE_POST_BNDPNT index 0821a9fdaf..0f0370c940 100755 --- a/jobs/JGLOBAL_WAVE_POST_BNDPNT +++ b/jobs/JGLOBAL_WAVE_POST_BNDPNT @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base wave wavepostsbs wavepostbndpnt" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -28,8 +28,8 @@ export NET=${NET:-gfs} export RUN=${RUN:-gfs} export COMPONENT=${COMPONENT:-wave} -export HOMEgefs=${HOMEgefs:-$NWROOT/$NET.${gefs_ver}} -export HOMEgfs=${HOMEgfs:-$NWROOT/$NET.${gfs_ver}} +export HOMEgefs=${HOMEgefs:-$PACKAGEROOT/$NET.${gefs_ver}} +export HOMEgfs=${HOMEgfs:-$PACKAGEROOT/$NET.${gfs_ver}} # Add default errchk = err_chk export errchk=${errchk:-err_chk} @@ -44,7 +44,7 @@ export cycle=${cycle:-t${cyc}z} # Set PDY setpdy.sh -. PDY +. ./PDY export CDATE=$PDY$cyc @@ -59,9 +59,6 @@ export USHwave=${USHwave:-$HOMEgfs/ush} export EXECwave=${EXECwave:-$HOMEgfs/exec} # Set COM Paths and GETGES environment -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} diff --git a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL index 404ab14d9e..8b5819a954 100755 --- a/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL +++ b/jobs/JGLOBAL_WAVE_POST_BNDPNTBLL @@ -7,9 +7,9 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# # Source relevant config files ############################# -configs="base wave wavepostsbs wavepostbndpnt" +configs="base wave wavepostsbs wavepostbndpntbll" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -28,8 +28,8 @@ export NET=${NET:-gfs} export RUN=${RUN:-gfs} export COMPONENT=${COMPONENT:-wave} -export HOMEgefs=${HOMEgefs:-$NWROOT/$NET.${gefs_ver}} -export HOMEgfs=${HOMEgfs:-$NWROOT/$NET.${gfs_ver}} +export HOMEgefs=${HOMEgefs:-$PACKAGEROOT/$NET.${gefs_ver}} +export HOMEgfs=${HOMEgfs:-$PACKAGEROOT/$NET.${gfs_ver}} # Add default errchk = err_chk export errchk=${errchk:-err_chk} @@ -44,7 +44,7 @@ export cycle=${cycle:-t${cyc}z} # Set PDY setpdy.sh -. PDY +. ./PDY export CDATE=$PDY$cyc @@ -59,9 +59,6 @@ export USHwave=${USHwave:-$HOMEgfs/ush} export EXECwave=${EXECwave:-$HOMEgfs/exec} # Set COM Paths and GETGES environment -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} diff --git a/jobs/JGLOBAL_WAVE_POST_PNT b/jobs/JGLOBAL_WAVE_POST_PNT index acde66e7a5..1a2d394a6f 100755 --- a/jobs/JGLOBAL_WAVE_POST_PNT +++ b/jobs/JGLOBAL_WAVE_POST_PNT @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base wave wavepostsbs wavepostpnt" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-${NWROOT:-}/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-${PACKAGEROOT:-}/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -28,8 +28,8 @@ export NET=${NET:-gfs} export RUN=${RUN:-gfs} export COMPONENT=${COMPONENT:-wave} -export HOMEgefs=${HOMEgefs:-${NWROOT:-}/$NET.${gefs_ver:-}} -export HOMEgfs=${HOMEgfs:-${NWROOT:-}/$NET.${gfs_ver}} +export HOMEgefs=${HOMEgefs:-${PACKAGEROOT:-}/$NET.${gefs_ver:-}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT:-}/$NET.${gfs_ver}} # Add default errchk = err_chk export errchk=${errchk:-err_chk} @@ -59,9 +59,6 @@ export USHwave=${USHwave:-$HOMEgfs/ush} export EXECwave=${EXECwave:-$HOMEgfs/exec} # Set COM Paths and GETGES environment -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} diff --git a/jobs/JGLOBAL_WAVE_POST_SBS b/jobs/JGLOBAL_WAVE_POST_SBS index 868cf8b242..aca8e03f36 100755 --- a/jobs/JGLOBAL_WAVE_POST_SBS +++ b/jobs/JGLOBAL_WAVE_POST_SBS @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base wave wavepostsbs" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-${NWROOT:-}/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-${PACKAGEROOT:-}/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -28,8 +28,8 @@ export NET=${NET:-gfs} export RUN=${RUN:-gfs} export COMPONENT=${COMPONENT:-wave} -export HOMEgefs=${HOMEgefs:-${NWROOT:-}/$NET.${gefs_ver:-}} -export HOMEgfs=${HOMEgfs:-${NWROOT:-}/$NET.${gfs_ver}} +export HOMEgefs=${HOMEgefs:-${PACKAGEROOT:-}/$NET.${gefs_ver:-}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT:-}/$NET.${gfs_ver}} # Add default errchk = err_chk export errchk=${errchk:-err_chk} @@ -41,7 +41,7 @@ cd $DATA export cyc=${cyc:-00} export cycle=${cycle:-t${cyc}z} - + # Set PDY setpdy.sh . ./PDY @@ -59,20 +59,17 @@ export USHwave=${USHwave:-$HOMEgfs/ush} export EXECwave=${EXECwave:-$HOMEgfs/exec} # Set COM Paths and GETGES environment -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} export COMINice=${COMINice:-${COMROOTp2:-${COMROOT}}/omb/prod} export COMINwnd=${COMINwnd:-${COMROOT}/gfs/prod} -export COMIN_WAV_CUR=${COMIN_WAV_CUR:-${COMROOTp2:-${COMROOT}}/rtofs/prod} +export COMIN_WAV_CUR=${COMIN_WAV_CUR:-$(compath.py ${envir}/rtofs/${rtofs_ver})} mkdir -p $COMOUT/gridded -# Set wave model ID tag to include member number +# Set wave model ID tag to include member number # if ensemble; waveMEMB var empty in deterministic # Set wave model ID tag to include member number # if ensemble; waveMEMB var empty in deterministic @@ -83,7 +80,7 @@ export WAV_MOD_TAG=${CDUMP}wave${waveMEMB} export CFP_VERBOSE=1 -# Execute the Script +# Execute the Script $HOMEgfs/scripts/exgfs_wave_post_gridded_sbs.sh err=$? if [ $err -ne 0 ]; then diff --git a/jobs/JGLOBAL_WAVE_PRDGEN_BULLS b/jobs/JGLOBAL_WAVE_PRDGEN_BULLS index 617217dfac..52481f848a 100755 --- a/jobs/JGLOBAL_WAVE_PRDGEN_BULLS +++ b/jobs/JGLOBAL_WAVE_PRDGEN_BULLS @@ -12,8 +12,8 @@ cd $DATA export cycle=${cycle:-t${cyc}z} # Set PDY - setpdy.sh - . PDY +setpdy.sh +. ./PDY export NET=${NET:-gfs} export RUN=${RUN:-gfs} @@ -25,8 +25,8 @@ export errchk=${errchk:-err_chk} ################################### # Set COM Paths -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} export PCOM=${PCOM:-${COMOUT}/wmo} export SENDCOM=${SENDCOM:-YES} diff --git a/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED b/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED index 45cea6d4e2..7a54c87ccc 100755 --- a/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED +++ b/jobs/JGLOBAL_WAVE_PRDGEN_GRIDDED @@ -12,8 +12,8 @@ cd $DATA export cycle=${cycle:-t${cyc}z} # Set PDY - setpdy.sh - . PDY +setpdy.sh +. ./PDY # PATH for working directory export NET=${NET:-gfs} @@ -27,17 +27,15 @@ export errchk=${errchk:-err_chk} ################################### # Set COM Paths ################################### -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} export PCOM=${PCOM:-${COMOUT}/wmo} - export SENDCOM=${SENDCOM:-YES} export SENDDBN_NTC=${SENDDBN_NTC:-YES} export SENDDBN=${SENDDBN:-NO} export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} - if [ $SENDCOM = YES ]; then mkdir -p $COMOUT $PCOM fi diff --git a/jobs/JGLOBAL_WAVE_PREP b/jobs/JGLOBAL_WAVE_PREP index 5878e36444..eba4af8784 100755 --- a/jobs/JGLOBAL_WAVE_PREP +++ b/jobs/JGLOBAL_WAVE_PREP @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base wave waveprep" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -28,7 +28,7 @@ export NET=${NET:-gfs} export RUN=${RUN:-gfs} export COMPONENT=${COMPONENT:-wave} -export HOMEgfs=${HOMEgfs:-$NWROOT/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-$PACKAGEROOT/gfs.${gfs_ver}} # Add default errchk = err_chk export errchk=${errchk:-err_chk} @@ -61,19 +61,16 @@ export USHwave=${USHwave:-$HOMEgfs/ush} export EXECwave=${EXECwave:-$HOMEgfs/exec} # Set COM Paths and GETGES environment -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi export COMIN=${COMIN:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} export COMOUT=${COMOUT:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/$COMPONENT} [[ ! -d $COMOUT ]] && mkdir -m 775 -p $COMOUT if [ $RUN_ENVIR = "nco" ]; then - export COMIN_WAV_ICE=${COMIN_WAV_ICE:-$(compath.py gfs/prod)}/${CDUMP}.${PDY}/${cyc}/atmos - export COMIN_WAV_RTOFS=${COMIN_WAV_RTOFS:-$(compath.py ${WAVECUR_DID}/prod)} + export COMIN_WAV_ICE=${COMIN_WAV_ICE:-$(compath.py ${envir}/obsproc/${obsproc_ver})}/${CDUMP}.${PDY}/${cyc}/atmos + export COMIN_WAV_RTOFS=${COMIN_WAV_RTOFS:-$(compath.py ${envir}/${WAVECUR_DID}/${rtofs_ver})} else if [ $WW3CURINP = "YES" ]; then - if [ ! -d $DMPDIR/${WAVECUR_DID}.${RPDY} ]; then export RPDY=$($NDATE -24 ${PDY}00 | cut -c1-8); fi + if [ ! -d $DMPDIR/${WAVECUR_DID}.${RPDY} ]; then export RPDY=$($NDATE -24 ${PDY}00 | cut -c1-8); fi if [ ! -L $ROTDIR/${WAVECUR_DID}.${RPDY} ]; then # Check if symlink already exists in ROTDIR $NLN $DMPDIR/${WAVECUR_DID}.${RPDY} $ROTDIR/${WAVECUR_DID}.${RPDY} fi @@ -91,7 +88,7 @@ else fi fi -# Execute the Script +# Execute the Script $HOMEgfs/scripts/exgfs_wave_prep.sh ########################################## From af9d49d082e1e68a1de3866dc89125d1e651491e Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:10:56 +0000 Subject: [PATCH 39/78] WCOSS2 updates for GEMPAK job scripts - Update PDY syntax. - Update compath.py format. - Update APRUN default to use mpiexec launcher with needed arguments. - Change NWROOT to PACKAGEROOT. - Update DATA default. - Add SENDCOM setting with default of "NO". - Add config and env file sourcing, moved from rocoto job script level. Refs #419 --- jobs/JGDAS_ATMOS_GEMPAK | 29 ++++++++++++++++++++++++----- jobs/JGFS_ATMOS_GEMPAK | 36 ++++++++++++++++++++++++++++-------- 2 files changed, 52 insertions(+), 13 deletions(-) diff --git a/jobs/JGDAS_ATMOS_GEMPAK b/jobs/JGDAS_ATMOS_GEMPAK index 8865432450..097db9bb8d 100755 --- a/jobs/JGDAS_ATMOS_GEMPAK +++ b/jobs/JGDAS_ATMOS_GEMPAK @@ -5,6 +5,24 @@ source "$HOMEgfs/ush/preamble.sh" ############################################ # GDAS GEMPAK PRODUCT GENERATION ############################################ +echo +echo "=============== BEGIN GEMPAK ===============" +echo +echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" +configs="base gempak" +export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} +for config in $configs; do + . $EXPDIR/config.${config} + status=$? + [[ $status -ne 0 ]] && exit $status +done + +############################################################### +echo +echo "=============== BEGIN TO SOURCE MACHINE RUNTIME ENVIRONMENT ===============" +. $BASE_ENV/${machine}.env gempak +status=$? +[[ $status -ne 0 ]] && exit $status ########################################################## # obtain unique process id (pid) and make temp directory @@ -22,12 +40,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo} @@ -48,6 +66,7 @@ export GRIB=pgrb2f export EXT="" export DBN_ALERT_TYPE=GDAS_GEMPAK +export SENDCOM=${SENDCOM:-NO} export SENDDBN=${SENDDBN:-NO} export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} @@ -62,8 +81,8 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak} if [ $SENDCOM = YES ] ; then mkdir -m 775 -p $COMOUT @@ -96,7 +115,7 @@ ntasks=${NTASKS_GEMPAK:-$(cat $DATA/poescript | wc -l)} ptile=${PTILE_GEMPAK:-4} threads=${NTHREADS_GEMPAK:-1} export OMP_NUM_THREADS=$threads -APRUN="mpirun -n $ntasks cfp " +APRUN="mpiexec -l -np $ntasks --cpu-bind verbose,core cfp" APRUN_GEMPAKCFP=${APRUN_GEMPAKCFP:-$APRUN} APRUNCFP=$(eval echo $APRUN_GEMPAKCFP) diff --git a/jobs/JGFS_ATMOS_GEMPAK b/jobs/JGFS_ATMOS_GEMPAK index 502bb96a7a..f626b02378 100755 --- a/jobs/JGFS_ATMOS_GEMPAK +++ b/jobs/JGFS_ATMOS_GEMPAK @@ -5,13 +5,31 @@ source "$HOMEgfs/ush/preamble.sh" ############################################ # GFS GEMPAK PRODUCT GENERATION ############################################ +echo +echo "=============== BEGIN GEMPAK ===============" +echo +echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" +configs="base gempak" +export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} +for config in $configs; do + . $EXPDIR/config.${config} + status=$? + [[ $status -ne 0 ]] && exit $status +done + +############################################################### +echo +echo "=============== BEGIN TO SOURCE MACHINE RUNTIME ENVIRONMENT ===============" +. $BASE_ENV/${machine}.env gempak +status=$? +[[ $status -ne 0 ]] && exit $status ############################# # Source relevant config files ############################# configs="base gempak" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -28,7 +46,7 @@ status=$? ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -41,12 +59,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} @@ -78,8 +96,8 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak} export SENDDBN=${SENDDBN:-NO} export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} @@ -91,7 +109,9 @@ fi export pgmout=OUTPUT.$$ -rm -f poescript +if [ -f poescript ]; then + rm -f poescript +fi ################################################################# # Execute the script for the 384 hour 1 degree grib @@ -159,7 +179,7 @@ ntasks=${NTASKS_GEMPAK:-$(cat $DATA/poescript | wc -l)} ptile=${PTILE_GEMPAK:-4} threads=${NTHREADS_GEMPAK:-1} export OMP_NUM_THREADS=$threads -APRUN=${APRUN:-"mpirun -n $ntasks cfp "} +APRUN=${APRUN:-"mpiexec -l -np $ntasks --cpu-bind verbose,core cfp"} APRUN_GEMPAKCFP=${APRUN_GEMPAKCFP:-$APRUN} APRUNCFP=$(eval echo $APRUN_GEMPAKCFP) From 85ec956caee6781f9462c57d2c7ae313ab768e6a Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:13:35 +0000 Subject: [PATCH 40/78] WCOSS2 updates for TROPCY_QC_RELOC JJOB script - Change NWROOT to PACKAGEROOT. - Remove RUN_ENVIR=nco block. - Update ARCHSYND, HOMENHC, and TANK_TROPCY settings. Refs #419 --- jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC b/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC index 5496861e5f..e9c9b9db1e 100755 --- a/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC +++ b/jobs/JGLOBAL_ATMOS_TROPCY_QC_RELOC @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base prep" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -56,9 +56,6 @@ export pgmerr=errfile export CDATE=${CDATE:-${PDY}${cyc}} export CDUMP=${CDUMP:-${RUN:-"gfs"}} export COMPONENT=${COMPONENT:-atmos} -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi ############################################## @@ -68,21 +65,13 @@ fi export PROCESS_TROPCY=${PROCESS_TROPCY:-YES} # Turn on tropical cyclone tcvitals QC proc. if YES export DO_RELOCATE=${DO_RELOCATE:-NO} # Turn on tropical cyclone relocation proc. if YES - export tmmark=tm00 -if [ $RUN_ENVIR = "nco" ]; then - export ARCHSYND=$COMROOTp3/gfs/${envir}/syndat # this location is unique, do not change -else - export ARCHSYND=${ROTDIR}/syndat -fi +export ARCHSYND=${ROTDIR}/syndat # this location is unique, do not change if [ ! -d ${ARCHSYND} ]; then mkdir -p $ARCHSYND; fi -export HOMENHCp1=${HOMENHCp1:-/gpfs/?p1/nhc/save/guidance/storm-data/ncep} -export HOMENHC=${HOMENHC:-/gpfs/dell2/nhc/save/guidance/storm-data/ncep} - -# JY export TANK_TROPCY=${TANK_TROPCY:-${DCOMROOT}/${envir}} # path to tropical cyclone record database -export TANK_TROPCY=${TANK_TROPCY:-${DCOMROOT}/prod} # path to tropical cyclone record database +export HOMENHC=${HOMENHC:-/lfs/h1/ops/prod/dcom/nhc/atcf/ncep} +export TANK_TROPCY=${TANK_TROPCY:-${DCOMROOT}} # path to tropical cyclone record database ############################################## # Define COM directories From 3168a43ced7d220a92815b45aec004efc567a664 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:15:50 +0000 Subject: [PATCH 41/78] WCOSS2 updates to GEMPAK_PGRB2_SPEC JJOB script - Change NWROOT to PACKAGEROOT. - Update PDY syntax. - Update compath.py format. - Update DATA default. - Change RUN setting and add RUN2 setting. Refs #419 --- jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC index d8d05b27f2..005e9297f9 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC +++ b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ######################################################### # obtain unique process id (pid) and make temp directory ######################################################### -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -22,12 +22,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} @@ -42,7 +42,7 @@ export SRCgfs=${SRCgfs:-$HOMEgfs/scripts} # Specify NET and RUN Name and model #################################### export NET=gfs -export RUN=gfs_goessim +export RUN=gfs export COMPONENT=${COMPONENT:-atmos} export finc=3 export model=gfs @@ -51,8 +51,8 @@ export EXT="" ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${NET}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${NET}.${PDY}/${cyc}/$COMPONENT/gempak} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${NET}.${PDY})/${cyc}/$COMPONENT/gempak} export SENDDBN=${SENDDBN:-NO} export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} @@ -72,6 +72,7 @@ mkdir -p $DATA cd $DATA export DBN_ALERT_TYPE=GFS_GOESSIM_GEMPAK +export RUN2=gfs_goessim export GRIB=goessimpgrb2.0p25.f export EXT=" " export fend=180 @@ -92,7 +93,7 @@ mkdir -p $DATA cd $DATA export DBN_ALERT_TYPE=GFS_GOESSIM221_GEMPAK -export RUN=gfs_goessim221 +export RUN2=gfs_goessim221 export GRIB=goessimpgrb2f export EXT=".grd221" export fend=180 From d0291109ba6e16ce98e5c7ff7eeebd84f061c25e Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:17:50 +0000 Subject: [PATCH 42/78] General WCOSS2 updates to JJOB scripts - Change NWROOT to PACKAGEROOT. - Update PDY syntax. - Update compath.py format. - Remove RUN_ENVIR=nco blocks. - Change JGLOBAL_ATMOS_ANALYSIS_CALC to source "analcalc" instead of "anal" from env file. - Update DATA default. - Remove references to jlogfile. Refs #419 --- jobs/JGDAS_ATMOS_ANALYSIS_DIAG | 2 +- jobs/JGDAS_ATMOS_CHGRES_FORENKF | 2 +- jobs/JGDAS_ATMOS_GEMPAK_META_NCDC | 18 +++++++++--------- jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST | 2 +- jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP | 2 +- jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN | 2 +- jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST | 2 +- jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP | 2 +- jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN | 2 +- jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG | 10 +++++----- jobs/JGFS_ATMOS_AWIPS_G2 | 10 +++++----- jobs/JGFS_ATMOS_CYCLONE_GENESIS | 9 +++------ jobs/JGFS_ATMOS_CYCLONE_TRACKER | 9 +++------ jobs/JGFS_ATMOS_FBWIND | 10 +++++----- jobs/JGFS_ATMOS_FSU_GENESIS | 9 +++------ jobs/JGFS_ATMOS_GEMPAK_META | 18 +++++++++--------- jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF | 13 +++++++------ jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS | 17 +++++++---------- jobs/JGFS_ATMOS_POSTSND | 5 +---- jobs/JGLOBAL_ATMOS_ANALYSIS | 2 +- jobs/JGLOBAL_ATMOS_ANALYSIS_CALC | 4 ++-- jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP | 18 +++++++++--------- jobs/JGLOBAL_ATMOS_NCEPPOST | 4 ++-- jobs/JGLOBAL_ATMOS_POST_MANAGER | 4 ++-- jobs/JGLOBAL_ATMOS_SFCANL | 2 +- jobs/JGLOBAL_FORECAST | 14 ++++---------- 26 files changed, 86 insertions(+), 106 deletions(-) diff --git a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG index 4b2728e13f..9dfff86867 100755 --- a/jobs/JGDAS_ATMOS_ANALYSIS_DIAG +++ b/jobs/JGDAS_ATMOS_ANALYSIS_DIAG @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal analdiag" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_ATMOS_CHGRES_FORENKF b/jobs/JGDAS_ATMOS_CHGRES_FORENKF index d2268df767..d8ff0686d0 100755 --- a/jobs/JGDAS_ATMOS_CHGRES_FORENKF +++ b/jobs/JGDAS_ATMOS_CHGRES_FORENKF @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal echgres" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC index ffb46db0f9..a2022002a9 100755 --- a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC +++ b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -22,12 +22,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} export PARMwmo=${PARMwmo:-$HOMEgfs/parm/wmo} @@ -67,13 +67,13 @@ export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak} -export COMINgdas=${COMINgdas:-$(compath.py ${NET}/${envir}/${RUN})} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak/meta} -export COMOUTncdc=${COMOUTncdc:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak} +export COMINgdas=${COMINgdas:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak/meta} +export COMOUTncdc=${COMOUTncdc:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMINukmet=${COMINukmet:-$(compath.py nawips/prod/ukmet)} -export COMINecmwf=${COMINecmwf:-$(compath.py ecmwf/prod/ecmwf)} +export COMINukmet=${COMINukmet:-$(compath.py ${envir}/ukmet/${ukmet_ver})/ukmet} +export COMINecmwf=${COMINecmwf:-$(compath.py ${envir}/ecmwf/${ecmwf_ver})/ecmwf} export COMOUTukmet=${COMOUT} export COMOUTecmwf=${COMOUT} diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST index d8cd0416cd..68063c591d 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST +++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_POST @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base atmanal atmanalpost" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP index 01895d4d5c..b09cd49963 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP +++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_PREP @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base atmanal atmanalprep" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN index 7998623851..491aaf8554 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN +++ b/jobs/JGDAS_GLOBAL_ATMOS_ANALYSIS_RUN @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base atmanal atmanalrun" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST index 871ba7a35f..997ad26739 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST +++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_POST @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base atmensanal atmensanalpost" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP index b284e90e67..bdb78d0c13 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP +++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_PREP @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base atmensanal atmensanalprep" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN index b3f5c0fa90..95fbed8868 100755 --- a/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN +++ b/jobs/JGDAS_GLOBAL_ATMOS_ENSANAL_RUN @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base atmensanal atmensanalrun" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG index 2528013e39..32ebb64cd4 100755 --- a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG +++ b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG @@ -11,7 +11,7 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} ######################################################### # obtain unique process id (pid) and make temp directory ######################################################### -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -24,12 +24,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export USHgfs=${USHgfs:-$HOMEgfs/ush} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} @@ -48,8 +48,8 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo} export SENDDBN=${SENDDBN:-NO} diff --git a/jobs/JGFS_ATMOS_AWIPS_G2 b/jobs/JGFS_ATMOS_AWIPS_G2 index 9dd2fdca63..0550bb6626 100755 --- a/jobs/JGFS_ATMOS_AWIPS_G2 +++ b/jobs/JGFS_ATMOS_AWIPS_G2 @@ -11,7 +11,7 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -24,12 +24,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export USHgfs=${USHgfs:-$HOMEgfs/ush} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} @@ -49,8 +49,8 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo} export SENDDBN=${SENDDBN:-NO} diff --git a/jobs/JGFS_ATMOS_CYCLONE_GENESIS b/jobs/JGFS_ATMOS_CYCLONE_GENESIS index 79d43ebb1e..7641c0dbfd 100755 --- a/jobs/JGFS_ATMOS_CYCLONE_GENESIS +++ b/jobs/JGFS_ATMOS_CYCLONE_GENESIS @@ -8,7 +8,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} # Source relevant config files ############################# configs="base vrfy" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -64,9 +64,6 @@ export pgmerr=errfile ############################################## export CDATE=${CDATE:-${PDY}${cyc}} export CDUMP=${CDUMP:-${RUN:-"gfs"}} -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi export cmodel=$CDUMP #################################### @@ -80,7 +77,7 @@ export SENDECF=${SENDECF:-NO} #################################### # Specify Execution Areas #################################### -export HOMEens_tracker=${HOMEens_tracker:-${NWROOT:?}/ens_tracker.${ens_tracker_ver}} +export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT:?}/ens_tracker.${ens_tracker_ver}} export EXECens_tracker=${EXECens_tracker:-$HOMEens_tracker/exec} export FIXens_tracker=${FIXens_tracker:-$HOMEens_tracker/fix} export USHens_tracker=${USHens_tracker:-$HOMEens_tracker/ush} @@ -98,7 +95,7 @@ export JYYYY=$(echo ${PDY} | cut -c1-4) export COMINgenvit=${COMINgenvit:-${COMOUT}/genesis_vital_${JYYYY}} export COMOUTgenvit=${COMOUTgenvit:-${COMOUT}/genesis_vital_${JYYYY}} -export COMINsyn=${COMINsyn:-$(compath.py gfs/prod/syndat)} +export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat} mkdir -m 775 -p $COMOUTgenvit diff --git a/jobs/JGFS_ATMOS_CYCLONE_TRACKER b/jobs/JGFS_ATMOS_CYCLONE_TRACKER index 4b05ea0b80..727bf3e590 100755 --- a/jobs/JGFS_ATMOS_CYCLONE_TRACKER +++ b/jobs/JGFS_ATMOS_CYCLONE_TRACKER @@ -8,7 +8,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} # Source relevant config files ############################# configs="base vrfy" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -66,9 +66,6 @@ export pgmerr=errfile ############################################## export CDATE=${CDATE:-${PDY}${cyc}} export CDUMP=${CDUMP:-${RUN:-"gfs"}} -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi #################################### @@ -82,7 +79,7 @@ export SENDECF=${SENDECF:-NO} #################################### # Specify Execution Areas #################################### -export HOMEens_tracker=${HOMEens_tracker:-${NWROOT:?}/ens_tracker.${ens_tracker_ver}} +export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT:?}/ens_tracker.${ens_tracker_ver}} export EXECens_tracker=${EXECens_tracker:-$HOMEens_tracker/exec} export FIXens_tracker=${FIXens_tracker:-$HOMEens_tracker/fix} export USHens_tracker=${USHens_tracker:-$HOMEens_tracker/ush} @@ -97,7 +94,7 @@ export gfsdir=${COMINgfs} export COMINgdas=${COMIN} export gdasdir=${COMINgdas} export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/$COMPONENT -export COMINsyn=${COMINsyn:-$(compath.py arch/prod/syndat)} +export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat} if [ $RUN_ENVIR = "nco" ]; then export COMOUThur=${COMROOTp1:?}/hur/${envir}/global diff --git a/jobs/JGFS_ATMOS_FBWIND b/jobs/JGFS_ATMOS_FBWIND index 42e459dd0b..df9bf4dc96 100755 --- a/jobs/JGFS_ATMOS_FBWIND +++ b/jobs/JGFS_ATMOS_FBWIND @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ########################################################### # obtain unique process id (pid) and make temp directory ########################################################### -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -22,12 +22,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export USHgfs=${USHgfs:-$HOMEgfs/ush} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} @@ -47,8 +47,8 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo} export SENDDBN=${SENDDBN:-NO} diff --git a/jobs/JGFS_ATMOS_FSU_GENESIS b/jobs/JGFS_ATMOS_FSU_GENESIS index eb3069bfcb..d403a76fe2 100755 --- a/jobs/JGFS_ATMOS_FSU_GENESIS +++ b/jobs/JGFS_ATMOS_FSU_GENESIS @@ -8,7 +8,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} # Source relevant config files ############################# configs="base vrfy" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -67,9 +67,6 @@ export pgmerr=errfile ############################################## export CDATE=${CDATE:-${PDY}${cyc}} export CDUMP=${CDUMP:-${RUN:-"gfs"}} -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi #################################### @@ -83,7 +80,7 @@ export SENDECF=${SENDECF:-NO} #################################### # Specify Execution Areas #################################### -export HOMEens_tracker=${HOMEens_tracker:-${NWROOT:?}/ens_tracker.${ens_tracker_ver}} +export HOMEens_tracker=${HOMEens_tracker:-${PACKAGEROOT:?}/ens_tracker.${ens_tracker_ver}} export EXECens_tracker=${EXECens_tracker:-$HOMEens_tracker/exec} export FIXens_tracker=${FIXens_tracker:-$HOMEens_tracker/fix} export USHens_tracker=${USHens_tracker:-$HOMEens_tracker/ush} @@ -101,7 +98,7 @@ export gfsdir=${ROTDIR} export COMINgdas=${COMIN} export gdasdir=${COMINgdas} export COMOUT=${ROTDIR}/${RUN}.${PDY}/${cyc}/${COMPONENT} -export COMINsyn=${COMINsyn:-$(compath.py arch/prod/syndat)} +export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat} if [ $RUN_ENVIR = "nco" ]; then export COMOUThur=${COMROOTp1:?}/hur/${envir}/global diff --git a/jobs/JGFS_ATMOS_GEMPAK_META b/jobs/JGFS_ATMOS_GEMPAK_META index 9d6683a521..8a28b27c07 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_META +++ b/jobs/JGFS_ATMOS_GEMPAK_META @@ -19,7 +19,7 @@ export MP_DEBUG_NOTIMEOUT=yes ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -32,12 +32,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} @@ -70,13 +70,13 @@ export DBN_ALERT_TYPE=GFS_METAFILE ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak/meta} -export COMINgempak=${COMINgempak:-${COMROOT}/${NET}/${envir}} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak/meta} +export COMINgempak=${COMINgempak:-$(compath.py ${envir}/${NET}/${gfs_ver})} -export COMINukmet=${COMINukmet:-$(compath.py nawips/prod/ukmet)} -export COMINecmwf=${COMINecmwf:-$(compath.py ecmwf/prod/ecmwf)} -export COMINnam=${COMINnam:-$(compath.py nam/prod/nam)} +export COMINukmet=${COMINukmet:-$(compath.py ${envir}/ukmet/${ukmet_ver})/ukmet} +export COMINecmwf=${COMINecmwf:-$(compath.py ${envir}/ecmwf/${ecmwf_ver})/ecmwf} +export COMINnam=${COMINnam:-$(compath.py ${envir}/nam/${nam_ver})/nam} export SENDDBN=${SENDDBN:-NO} export DBNROOT=${DBNROOT:-${UTILROOT}/fakedbn} diff --git a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF index 4b8a04e6a9..5f814daac5 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF +++ b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -22,12 +22,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} @@ -68,9 +68,10 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT/gempak} -export COMINgfs=${COMINgfs:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT/gempak} +export COMINgfs=${COMINgfs:-$(compath.py ${envir}/${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} +export COMINobsproc=${COMINobsproc:-$(compath.py ${envir}/obsproc/${obsproc_ver})/$RUN.$PDY/$cyc/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo} export SENDDBN=${SENDDBN:-NO} diff --git a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS index 8ae1170800..b02e48c69b 100755 --- a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS +++ b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS @@ -11,7 +11,7 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${jobid:?}} +export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} mkdir -p $DATA cd $DATA @@ -24,13 +24,12 @@ export cycle=${cycle:-t${cyc}z} # Run setpdy and initialize PDY variables ########################################### setpdy.sh -. PDY - +. ./PDY ################################ # Set up the HOME directory ################################ -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export USHgfs=${USHgfs:-$HOMEgfs/ush} export EXECgfs=${EXECgfs:-$HOMEgfs/exec} export PARMgfs=${PARMgfs:-$HOMEgfs/parm} @@ -50,8 +49,8 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## # Define COM directories ############################################## -export COMIN=${COMIN:-$(compath.py ${NET}/${envir}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-${COMROOT}/${NET}/${envir}/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} export COMOUTwmo=${COMOUTwmo:-${COMOUT}/wmo} export SENDDBN=${SENDDBN:-NO} @@ -106,11 +105,9 @@ then fi if test $recvy_shour -ge $FHOUR then - msg="Forecast Pgrb Generation Already Completed to $FHOUR" - postmsg "$jlogfile" "$msg" + echo="Forecast Pgrb Generation Already Completed to $FHOUR" else - msg="Starting: PDY=$PDY cycle=t${recvy_cyc}z SHOUR=$SHOUR ." - postmsg "$jlogfile" "$msg" + echo="Starting: PDY=$PDY cycle=t${recvy_cyc}z SHOUR=$SHOUR ." fi fi fi diff --git a/jobs/JGFS_ATMOS_POSTSND b/jobs/JGFS_ATMOS_POSTSND index 013e6d1648..859811e753 100755 --- a/jobs/JGFS_ATMOS_POSTSND +++ b/jobs/JGFS_ATMOS_POSTSND @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base postsnd" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -54,9 +54,6 @@ export pgmerr=errfile ############################################## export CDATE=${CDATE:-${PDY}${cyc}} export CDUMP=${CDUMP:-${RUN:-"gfs"}} -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir -fi ######################################## diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS b/jobs/JGLOBAL_ATMOS_ANALYSIS index df1f4ab474..db56beb582 100755 --- a/jobs/JGLOBAL_ATMOS_ANALYSIS +++ b/jobs/JGLOBAL_ATMOS_ANALYSIS @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC index 39438e32b7..2af443b8bf 100755 --- a/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC +++ b/jobs/JGLOBAL_ATMOS_ANALYSIS_CALC @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base anal analcalc" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -20,7 +20,7 @@ done ########################################## # Source machine runtime environment ########################################## -. $HOMEgfs/env/${machine}.env anal +. $HOMEgfs/env/${machine}.env analcalc status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP b/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP index c0aab4e921..d40a22da0f 100755 --- a/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP +++ b/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -55,18 +55,18 @@ cyc_m6hrs=$(echo $GDATE | cut -c9-10) export cycle_m6hrs=t${cyc_m6hrs}z export COMPONENT=${COMPONENT:-atmos} -export COMOUT=${COMOUT:-${COMROOT}/$NET/$envir/$RUN.$PDY/$cyc/$COMPONENT} +export COMOUT=${COMOUT:-$(compath.py -o ${NET}/${gfs_ver}/${RUN}.${PDY})/${cyc}/$COMPONENT} -export COMINgfs=${COMINgfs:-$(compath.py $NET/$envir/$RUN.$PDY)/$cyc/$COMPONENT} -export COMINgfs_m6hrs=${COMINgfs_m6hrs:-$(compath.py $NET/$envir/$RUN.$PDY_m6hrs)/$cyc_m6hrs/$COMPONENT} +export COMINobsproc=${COMINobsproc:-$(compath.py ${envir}/obsproc/${obsproc_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} +export COMIN_m6hrs=${COMIN_m6hrs:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY_m6hrs}/${cyc_m6hrs}/$COMPONENT} -export IMS_FILE=${COMINgfs}/${RUN}.${cycle}.imssnow96.grib2 -export FIVE_MIN_ICE_FILE=${COMINgfs}/${RUN}.${cycle}.seaice.5min.grib2 -export AFWA_NH_FILE=${COMINgfs}/${RUN}.${cycle}.NPR.SNWN.SP.S1200.MESH16.grb -export AFWA_SH_FILE=${COMINgfs}/${RUN}.${cycle}.NPR.SNWS.SP.S1200.MESH16.grb +export IMS_FILE=${COMINobsproc}/${RUN}.${cycle}.imssnow96.grib2 +export FIVE_MIN_ICE_FILE=${COMINobsproc}/${RUN}.${cycle}.seaice.5min.grib2 +export AFWA_NH_FILE=${COMINobsproc}/${RUN}.${cycle}.NPR.SNWN.SP.S1200.MESH16.grb +export AFWA_SH_FILE=${COMINobsproc}/${RUN}.${cycle}.NPR.SNWS.SP.S1200.MESH16.grb export BLENDED_ICE_FILE=${BLENDED_ICE_FILE:-${RUN}.${cycle}.seaice.5min.blend.grb} -export BLENDED_ICE_FILE_m6hrs=${BLENDED_ICE_FILE_m6hrs:-${COMINgfs_m6hrs}/${RUN}.${cycle_m6hrs}.seaice.5min.blend.grb} +export BLENDED_ICE_FILE_m6hrs=${BLENDED_ICE_FILE_m6hrs:-${COMIN_m6hrs}/${RUN}.${cycle_m6hrs}.seaice.5min.blend.grb} ############################################################### # Run relevant script diff --git a/jobs/JGLOBAL_ATMOS_NCEPPOST b/jobs/JGLOBAL_ATMOS_NCEPPOST index 4014ebf5e6..2dfaad6059 100755 --- a/jobs/JGLOBAL_ATMOS_NCEPPOST +++ b/jobs/JGLOBAL_ATMOS_NCEPPOST @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base post" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -70,7 +70,7 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## export APRUNP=${APRUN:-$APRUN_NP} export RERUN=${RERUN:-NO} -export HOMECRTM=${HOMECRTM:-${NWROOT:-}/lib/crtm/${crtm_ver:-}} +export HOMECRTM=${HOMECRTM:-${PACKAGEROOT:-}/lib/crtm/${crtm_ver:-}} export FIXCRTM=${CRTM_FIX:-${HOMECRTM}/fix} export PARMpost=${PARMpost:-$HOMEgfs/parm/post} export INLINE_POST=${WRITE_DOPOST:-".false."} diff --git a/jobs/JGLOBAL_ATMOS_POST_MANAGER b/jobs/JGLOBAL_ATMOS_POST_MANAGER index b931a7aa90..01323846db 100755 --- a/jobs/JGLOBAL_ATMOS_POST_MANAGER +++ b/jobs/JGLOBAL_ATMOS_POST_MANAGER @@ -13,7 +13,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# configs="base post" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -65,7 +65,7 @@ export gfs_ver=${gfs_ver:-v15.0.0} #################################### # Specify Execution Areas #################################### -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} +export HOMEgfs=${HOMEgfs:-${PACKAGEROOT}/gfs.${gfs_ver}} export EXECgfs=${HOMEgfs:-$HOMEgfs/exec} export FIXgfs=${HOMEgfs:-$HOMEgfs/fix} export PARMgfs=${HOMEgfs:-$HOMEgfs/parm} diff --git a/jobs/JGLOBAL_ATMOS_SFCANL b/jobs/JGLOBAL_ATMOS_SFCANL index 7d0e70782b..2e8e8a7160 100755 --- a/jobs/JGLOBAL_ATMOS_SFCANL +++ b/jobs/JGLOBAL_ATMOS_SFCANL @@ -9,7 +9,7 @@ export RUN_ENVIR=${RUN_ENVIR:-"nco"} ############################# export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} configs="base sfcanl" -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? diff --git a/jobs/JGLOBAL_FORECAST b/jobs/JGLOBAL_FORECAST index 40e8f46051..7f6dbd9a26 100755 --- a/jobs/JGLOBAL_FORECAST +++ b/jobs/JGLOBAL_FORECAST @@ -19,7 +19,7 @@ export CDUMP=${CDUMP:-${RUN:-"gfs"}} ############################# configs="base fcst" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -61,12 +61,6 @@ export pgmout="OUTPUT.${pid}" export pgmerr=errfile -if [ $RUN_ENVIR = "nco" ]; then - export ROTDIR=${COMROOT:?}/$NET/$envir - export RSTDIR=${GESROOT:?}/$envir -fi - - #-------------------------------- if [ $RUN_ENVIR = "nco" ]; then #-------------------------------- @@ -76,7 +70,7 @@ if [ $RUN_ENVIR = "nco" ]; then ############################# configs="base fcst" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} -config_path=${EXPDIR:-$NWROOT/gfs.${gfs_ver}/parm/config} +config_path=${EXPDIR:-$PACKAGEROOT/gfs.${gfs_ver}/parm/config} for config in $configs; do . $config_path/config.$config status=$? @@ -108,8 +102,8 @@ fi if [ ${DO_WAVE:-"NO"} = "YES" ]; then # WAVE component directory export CDUMPwave=${CDUMPwave:-${CDUMP}wave} - export COMINwave=${COMINwave:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave} - export COMOUTwave=${COMOUTwave:-${ROTDIR}/${CDUMP}.${PDY}/${cyc}/wave} + export COMINwave=${COMINwave:-$(compath.py ${envir}/${NET}/${gfs_ver})/${CDUMP}.${PDY}/${cyc}/wave} + export COMOUTwave=${COMOUTwave:-$(compath.py -o ${NET}/${gfs_ver})/${CDUMP}.${PDY}/${cyc}/wave} fi ############################################## From 0120e73867b9be64aecd777cf58fff52e2cbb582 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:21:22 +0000 Subject: [PATCH 43/78] Update config.efcs to run serial netcdf everywhere - Remove machine case checks around OUTPUT_FILETYPE_ATM and OUTPUT_FILETYPE_SFC settings. - Set both variables to "netcdf" (serial netcdf) everywhere now. Refs #419 --- parm/config/config.efcs | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/parm/config/config.efcs b/parm/config/config.efcs index a1f0fe49cc..bfffe3ced8 100755 --- a/parm/config/config.efcs +++ b/parm/config/config.efcs @@ -18,13 +18,9 @@ if [ $QUILTING = ".true." ]; then export npe_efcs=$npe_fv3 fi -# Only use serial I/O for ensemble on Hera and Orion (lustre?) -case $machine in - "HERA" | "ORION") - export OUTPUT_FILETYPE_ATM="netcdf" - export OUTPUT_FILETYPE_SFC="netcdf" - ;; -esac +# Use serial I/O for ensemble (lustre?) +export OUTPUT_FILETYPE_ATM="netcdf" +export OUTPUT_FILETYPE_SFC="netcdf" # Number of enkf members per fcst job export NMEM_EFCSGRP=2 From bc6efd7df7ad432e08e1815f5ff40c29c5ba7e44 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:23:05 +0000 Subject: [PATCH 44/78] Whitespace cleanup in config.anal Refs #419 --- parm/config/config.anal | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/parm/config/config.anal b/parm/config/config.anal index 6d3a48c82e..2f7dc275c4 100755 --- a/parm/config/config.anal +++ b/parm/config/config.anal @@ -155,12 +155,12 @@ if [[ $RUN_ENVIR == "emc" ]]; then # Turn off assimilation of S-NPP CrIS if [[ "$CDATE" -ge "2021052118" && "$CDATE" -lt "2021092206" ]]; then - export SATINFO=$FIXgsi/gfsv16_historical/global_satinfo.txt.2021052118 + export SATINFO=$FIXgsi/gfsv16_historical/global_satinfo.txt.2021052118 fi # Turn off assimilation of MetOp-A IASI if [[ "$CDATE" -ge "2021092206" && "$CDATE" -lt "2021102612" ]]; then - export SATINFO=$FIXgsi/gfsv16_historical/global_satinfo.txt.2021092206 + export SATINFO=$FIXgsi/gfsv16_historical/global_satinfo.txt.2021092206 fi # NOTE: From 4477457f04deea60b99c8777bd6b67c2e65d13e4 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:23:37 +0000 Subject: [PATCH 45/78] Add nth_echgres_gfs setting to config.analcalc - When CDUMP=gfs set nth_echgres to nth_echgres_gfs Refs #419 --- parm/config/config.analcalc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/parm/config/config.analcalc b/parm/config/config.analcalc index c02aafc2c3..9405114ecc 100755 --- a/parm/config/config.analcalc +++ b/parm/config/config.analcalc @@ -8,4 +8,8 @@ echo "BEGIN: config.analcalc" # Get task specific resources . $EXPDIR/config.resources analcalc +if [[ "$CDUMP" == "gfs" ]]; then + export nth_echgres=$nth_echgres_gfs +fi + echo "END: config.analcalc" From 0e00d22dc962b7a475689c8269b106379a8a305f Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:24:40 +0000 Subject: [PATCH 46/78] Remove GEMPAKSH in config.gempak - Remove setting of GEMPAKSH in config.gempak; JJOB now invoked directly in rocoto job script gempak.sh. Refs #419 --- parm/config/config.gempak | 2 -- 1 file changed, 2 deletions(-) diff --git a/parm/config/config.gempak b/parm/config/config.gempak index a2b5ecbaf5..791770ba4a 100755 --- a/parm/config/config.gempak +++ b/parm/config/config.gempak @@ -8,6 +8,4 @@ echo "BEGIN: config.gempak" # Get task specific resources . $EXPDIR/config.resources gempak -export GEMPAKSH=$HOMEgfs/jobs/JGFS_ATMOS_GEMPAK - echo "END: config.gempak" From 408022cb3f55914ce703ef12b501bb02c74ebe3b Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:25:54 +0000 Subject: [PATCH 47/78] Fit2Obs, GSI monitoring, Tracker updates in config.vrfy - Update Fit2Obs section to use new newm.1.5 version and add WCOSS2. - Update Tracker section to use new v1.1.15.5 everywhere. - Add COM_IN=$ROTDIR in GSI monitoring section; resolve unbound variable error at runtime. Refs #419 --- parm/config/config.vrfy | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/parm/config/config.vrfy b/parm/config/config.vrfy index 312c6fe9ad..4a2f5ce1ad 100755 --- a/parm/config/config.vrfy +++ b/parm/config/config.vrfy @@ -28,23 +28,27 @@ export RUNMOS="NO" # whether to run entire MOS package if [ $VRFYFITS = "YES" ]; then - export fit_ver="newm.1.3" - export fitdir="$BASE_GIT/verif/global/Fit2Obs/${fit_ver}/batrun" + export fit_ver="newm.1.5" + export fitdir="$BASE_GIT/Fit2Obs/${fit_ver}/batrun" export PRVT=$HOMEgfs/fix/fix_gsi/prepobs_errtable.global export HYBLEVS=$HOMEgfs/fix/fix_am/global_hyblev.l${LEVS}.txt export CUE2RUN=$QUEUE export VBACKUP_FITS=24 + export RUN_ENVIR=netcdf + export CONVNETC="YES" + export ACPROFit="YES" - export CONVNETC="NO" if [ ${netcdf_diag:-".false."} = ".true." ]; then export CONVNETC="YES" fi - if [ $machine = "HERA" ]; then - export PREPQFITSH="$fitdir/subfits_hera_slurm" + if [ $machine = "WCOSS2" ]; then + export PREPQFITSH="$fitdir/subfits_wcoss2" + elif [ $machine = "HERA" ]; then + export PREPQFITSH="$fitdir/subfits_hera" elif [ $machine = "ORION" ]; then - export PREPQFITSH="$fitdir/subfits_orion_netcdf" + export PREPQFITSH="$fitdir/subfits_orion" else echo "Fit2Obs NOT supported on this machine" fi @@ -59,6 +63,7 @@ fi if [ $VRFYRAD = "YES" -o $VRFYMINMON = "YES" -o $VRFYOZN = "YES" ]; then export envir="para" + export COM_IN=$ROTDIR # Radiance Monitoring if [[ "$VRFYRAD" == "YES" && "$CDUMP" == "$CDFNL" ]] ; then @@ -99,12 +104,13 @@ fi # Cyclone genesis and cyclone track verification #------------------------------------------------- -export ens_tracker_ver=v1.1.15.4 -export HOMEens_tracker=$BASE_GIT/TC_tracker/TC_tracker.${ens_tracker_ver} +export ens_tracker_ver=v1.1.15.5 +export HOMEens_tracker=$BASE_GIT/TC_tracker/${ens_tracker_ver} if [ "$VRFYTRAK" = "YES" ]; then export TRACKERSH="$HOMEgfs/jobs/JGFS_ATMOS_CYCLONE_TRACKER" + export COMINsyn=${COMINsyn:-${COMROOT}/gfs/prod/syndat} if [ "$CDUMP" = "gdas" ]; then export FHOUT_CYCLONE=3 export FHMAX_CYCLONE=$FHMAX @@ -112,7 +118,6 @@ if [ "$VRFYTRAK" = "YES" ]; then export FHOUT_CYCLONE=6 export FHMAX_CYCLONE=$(( FHMAX_GFS<240 ? FHMAX_GFS : 240 )) fi - export COMINsyn=${COMINsyn:-${COMROOT}/gfs/prod/syndat} fi @@ -138,5 +143,4 @@ if [[ "$RUNMOS" == "YES" && "$CDUMP" == "gfs" ]]; then fi - echo "END: config.vrfy" From 8d133fe0bea21bc3b53f187585e98a17fa70a92f Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:28:33 +0000 Subject: [PATCH 48/78] WCOSS2 updates in config.base copies - Change NWROOT to PACKAGEROOT. - Update OBSPROC package settings. Temporarily use obsproc.v1.0.2 while awaiting obsproc.v1.1.0 installs everywhere. - Set ROTDIR to use compath.py in config.base.nco.static. Refs #419 --- parm/config/config.base.emc.dyn | 8 +++----- parm/config/config.base.nco.static | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index af18173d60..af6abf2969 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -36,7 +36,7 @@ export FIXreg2grb2=$HOMEgfs/fix/fix_reg2grb2 ######################################################################## # GLOBAL static environment parameters -export NWPROD="@NWPROD@" +export PACKAGEOORT="@PACKAGEROOT@" export COMROOT="@COMROOT@" export DMPDIR="@DMPDIR@" export RTMFIX=$CRTM_FIX @@ -76,9 +76,8 @@ export MODE="@MODE@" # cycled/forecast-only export FIXgsi="$HOMEgfs/fix/fix_gsi" export HOMEfv3gfs="$HOMEgfs/sorc/fv3gfs.fd" export HOMEpost="$HOMEgfs" -export HOMEobsproc_prep="$BASE_GIT/obsproc/obsproc_prep.v5.5.0_hpc-stack" -export HOMEobsproc_network="$BASE_GIT/obsproc/obsproc_global.v3.4.2_hpc-stack" -export HOMEobsproc_global=$HOMEobsproc_network +#export HOMEobsproc="$BASE_GIT/obsproc/v1.1.0" +export HOMEobsproc="$BASE_GIT/obsproc/v1.0.2" # CONVENIENT utility scripts and other environment parameters export NCP="/bin/cp -p" @@ -133,7 +132,6 @@ export COMOUTice=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/ice export COMINaero=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/chem export COMOUTaero=${ROTDIR}/${CDUMP}.${PDY}/${cyc}/chem -export jlogfile="${EXPDIR}/logs/jlogfile" export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'} export LOGSCRIPT=${LOGSCRIPT:-""} #export ERRSCRIPT=${ERRSCRIPT:-"err_chk"} diff --git a/parm/config/config.base.nco.static b/parm/config/config.base.nco.static index a94f0be863..4fdb83d568 100755 --- a/parm/config/config.base.nco.static +++ b/parm/config/config.base.nco.static @@ -31,7 +31,7 @@ export SCRgfs=$HOMEgfs/scripts # GLOBAL static environment parameters -export NWPROD="/gpfs/dell1/nco/ops/nwprod" +export PACKAGEROOT="/lfs/h1/ops/prod/packages" export RTMFIX=$CRTM_FIX # Machine specific paths used everywhere @@ -65,9 +65,7 @@ export REALTIME="YES" export FIXgsi="$HOMEgfs/fix/fix_gsi" export HOMEfv3gfs="$HOMEgfs/sorc/fv3gfs.fd" export HOMEpost="$HOMEgfs" -export HOMEobsproc_prep="$NWPROD/obsproc_prep.v5.5.0" -export HOMEobsproc_network="$NWPROD/obsproc_global.v3.4.2" -export HOMEobsproc_global=$HOMEobsproc_network +export HOMEobsproc="/lfs/h1/ops/prod/packages/obsproc.v1.1.0" # CONVENIENT utility scripts and other environment parameters export NCP="/bin/cp -p" @@ -89,7 +87,7 @@ export EDATE=2039123100 export assim_freq=6 export PSLOT="test" export EXPDIR="$EXPDIR" -export ROTDIR="$ROTDIR" +export ROTDIR="$(compath.py ${envir}/${NET}/${gfs_ver})" export ROTDIR_DUMP="YES" export DUMP_SUFFIX="" export RUNDIR="$DATAROOT" From 90fc79205b0de9927f1b5d4235fdd0e30a2b4904 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:32:13 +0000 Subject: [PATCH 49/78] Add GFS ops and WCOSS2 values into NCO config.fv3 Refs #419 --- parm/config/config.fv3.nco.static | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/parm/config/config.fv3.nco.static b/parm/config/config.fv3.nco.static index 9181ca88e9..dc60b2ef03 100755 --- a/parm/config/config.fv3.nco.static +++ b/parm/config/config.fv3.nco.static @@ -19,15 +19,7 @@ case_in=$1 echo "BEGIN: config.fv3" - -if [[ "$machine" = "JET" ]]; then - export npe_node_max=24 -elif [[ "$machine" = "HERA" ]]; then - export npe_node_max=40 -elif [[ "$machine" = "ORION" ]]; then - export npe_node_max=40 -fi - +export npe_node_max=128 # (Standard) Model resolution dependent variables case $case_in in @@ -80,7 +72,7 @@ case $case_in in export WRTIOBUF="8M" ;; "C384") - export DELTIM=240 + export DELTIM=200 export layout_x=8 export layout_y=8 export layout_x_gfs=6 @@ -89,26 +81,27 @@ case $case_in in export npe_wav_gfs=35 export nth_fv3=1 export cdmbgwd="1.1,0.72,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling - export WRITE_GROUP=1 - export WRTTASK_PER_GROUP=$npe_node_max - export WRITE_GROUP_GFS=2 - export WRTTASK_PER_GROUP_GFS=$npe_node_max + export WRITE_GROUP=2 + export WRTTASK_PER_GROUP=64 + export WRITE_GROUP_GFS=1 + export WRTTASK_PER_GROUP_GFS=64 export WRTIOBUF="16M" ;; "C768") export DELTIM=150 export layout_x=8 export layout_y=12 - export layout_x_gfs=16 + export layout_x_gfs=12 export layout_y_gfs=24 export npe_wav=140 - export npe_wav_gfs=630 - export nth_fv3=4 + export npe_wav_gfs=448 + export nth_fv3=3 + export nth_fv3_gfs=5 export cdmbgwd="4.0,0.15,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling export WRITE_GROUP=2 - export WRTTASK_PER_GROUP=$(echo "2*$npe_node_max" |bc) + export WRTTASK_PER_GROUP=64 export WRITE_GROUP_GFS=8 - export WRTTASK_PER_GROUP_GFS=$(echo "2*$npe_node_max" |bc) + export WRTTASK_PER_GROUP_GFS=64 export WRTIOBUF="32M" ;; "C1152") From d2804b9fc17ebbd7a02251f1f45bf66590b5782d Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:33:28 +0000 Subject: [PATCH 50/78] Updates to WCOSS2.env - Add missing job sections into new WCOSS2.env. - Add new settings added to develop into WCOSS2.env. - Some additional updates to some job env settings. Refs #419 --- env/WCOSS2.env | 131 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 115 insertions(+), 16 deletions(-) diff --git a/env/WCOSS2.env b/env/WCOSS2.env index 3d5a5be1c2..b256368d15 100755 --- a/env/WCOSS2.env +++ b/env/WCOSS2.env @@ -4,7 +4,9 @@ if [ $# -ne 1 ]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" - echo "anal fcst post vrfy metp" + echo "atmanalrun atmensanalrun" + echo "aeroanlrun" + echo "anal sfcanl fcst post vrfy metp" echo "eobs eupd ecen esfc efcs epos" echo "postsnd awips gempak" exit 1 @@ -24,6 +26,8 @@ export jobid=${job}.${PBS_JOBID:-$$} if [ $step = "prep" -o $step = "prepbufr" ]; then + nth_max=$(($npe_node_max / $npe_node_prep)) + export POE=${POE:-"YES"} export BACK=${BACK:-"off"} export sys_tp="wcoss2" @@ -35,6 +39,40 @@ elif [ $step = "waveinit" -o $step = "waveprep" -o $step = "wavepostsbs" -o $ste export wavempexec="$launcher -np" export wave_mpmd=${mpmd} +elif [ $step = "atmanalrun" ]; then + + export CFP_MP=${CFP_MP:-"YES"} + export USE_CFP=${USE_CFP:-"YES"} + export APRUNCFP="$launcher -np \$ncmd $mpmd" + + nth_max=$(($npe_node_max / $npe_node_atmanalrun)) + + export NTHREADS_ATMANAL=${nth_atmanalrun:-$nth_max} + [[ $NTHREADS_ATMANAL -gt $nth_max ]] && export NTHREADS_ATMANAL=$nth_max + export APRUN_ATMANAL="$launcher -n $npe_atmanalrun" + +elif [ $step = "atmensanalrun" ]; then + + export CFP_MP=${CFP_MP:-"YES"} + export USE_CFP=${USE_CFP:-"YES"} + export APRUNCFP="$launcher -np \$ncmd $mpmd" + + nth_max=$(($npe_node_max / $npe_node_atmensanalrun)) + + export NTHREADS_ATMENSANAL=${nth_atmensanalrun:-$nth_max} + [[ $NTHREADS_ATMENSANAL -gt $nth_max ]] && export NTHREADS_ATMENSANAL=$nth_max + export APRUN_ATMENSANAL="$launcher -n $npe_atmensanalrun" + +elif [ $step = "aeroanlrun" ]; then + + export APRUNCFP="$launcher -np \$ncmd $mpmd" + + nth_max=$(($npe_node_max / $npe_node_aeroanlrun)) + + export NTHREADS_AEROANL=${nth_aeroanlrun:-$nth_max} + [[ $NTHREADS_AEROANL -gt $nth_max ]] && export NTHREADS_AEROANL=$nth_max + export APRUN_AEROANL="$launcher -n $npe_aeroanlrun" + elif [ $step = "anal" -o $step = "analcalc" ]; then export OMP_PLACES=cores @@ -45,10 +83,14 @@ elif [ $step = "anal" -o $step = "analcalc" ]; then export MPICH_MPIIO_HINTS="*:romio_cb_write=disable" fi - export NTHREADS_GSI=$nth_anal + nth_max=$(($npe_node_max / $npe_node_anal)) + + export NTHREADS_GSI=${nth_anal:-$nth_max} + [[ $NTHREADS_GSI -gt $nth_max ]] && export NTHREADS_GSI=$nth_max export APRUN_GSI="$launcher -n ${npe_gsi:-$npe_anal} -ppn $npe_node_anal --cpu-bind depth --depth $NTHREADS_GSI" export NTHREADS_CALCINC=${nth_calcinc:-1} + [[ $NTHREADS_CALCINC -gt $nth_max ]] && export NTHREADS_CALCINC=$nth_max export APRUN_CALCINC="$launcher \$ncmd" export NTHREADS_CYCLE=${nth_cycle:-14} @@ -68,16 +110,32 @@ elif [ $step = "anal" -o $step = "analcalc" ]; then export USE_CFP=${USE_CFP:-"YES"} export APRUNCFP="$launcher -np \$ncmd $mpmd" +elif [ $step = "sfcanl" ]; then + + nth_max=$(($npe_node_max / $npe_node_sfcanl)) + + export NTHREADS_CYCLE=${nth_sfcanl:-14} + [[ $NTHREADS_CYCLE -gt $npe_node_max ]] && export NTHREADS_CYCLE=$npe_node_max + npe_sfcanl=${ntiles:-6} + export APRUN_CYCLE="$launcher -n $npe_sfcanl" + elif [ $step = "gldas" ]; then - export NTHREADS_GLDAS=$nth_gldas + nth_max=$(($npe_node_max / $npe_node_gldas)) + + export NTHREADS_GLDAS=${nth_gldas:-$nth_max} + [[ $NTHREADS_GLDAS -gt $nth_max ]] && export NTHREADS_GLDAS=$nth_max export APRUN_GLDAS="$launcher -n $npe_gldas -ppn $npe_node_gldas --cpu-bind depth --depth $NTHREADS_GLDAS" export NTHREADS_GAUSSIAN=${nth_gaussian:-1} + [[ $NTHREADS_GAUSSIAN -gt $nth_max ]] && export NTHREADS_GAUSSIAN=$nth_max export APRUN_GAUSSIAN="$launcher -n $npe_gaussian -ppn $npe_node_gaussian --cpu-bind depth --depth $NTHREADS_GAUSSIAN" + # Must run data processing with exactly the number of tasks as time + # periods being processed. export USE_CFP=${USE_CFP:-"YES"} - export APRUN_GLDAS_DATA_PROC="$launcher -np $npe_gldas $mpmd" + npe_gldas_data_proc=$(($gldas_spinup_hours + 12)) + export APRUN_GLDAS_DATA_PROC="$launcher -np $npe_gldas_data_proc $mpmd" elif [ $step = "eobs" ]; then @@ -85,7 +143,10 @@ elif [ $step = "eobs" ]; then export OMP_STACKSIZE=1G export FI_OFI_RXM_SAR_LIMIT=3145728 - export NTHREADS_GSI=$nth_eobs + nth_max=$(($npe_node_max / $npe_node_eobs)) + + export NTHREADS_GSI=${nth_eobs:-$nth_max} + [[ $NTHREADS_GSI -gt $nth_max ]] && export NTHREADS_GSI=$nth_max export APRUN_GSI="$launcher -n ${npe_gsi:-$npe_eobs} -ppn $npe_node_eobs --cpu-bind depth --depth $NTHREADS_GSI" export CFP_MP=${CFP_MP:-"NO"} @@ -99,7 +160,10 @@ elif [ $step = "eupd" ]; then export MPICH_COLL_OPT_OFF=1 export FI_OFI_RXM_SAR_LIMIT=3145728 - export NTHREADS_ENKF=$nth_eupd + nth_max=$(($npe_node_max / $npe_node_eupd)) + + export NTHREADS_ENKF=${nth_eupd:-$nth_max} + [[ $NTHREADS_ENKF -gt $nth_max ]] && export NTHREADS_ENKF=$nth_max export APRUN_ENKF="$launcher -n ${npe_enkf:-$npe_eupd} -ppn $npe_node_eupd --cpu-bind depth --depth $NTHREADS_ENKF" export CFP_MP=${CFP_MP:-"NO"} @@ -120,14 +184,21 @@ elif [ $step = "fcst" ]; then nth_fv3=$nth_fv3_gfs fi - export NTHREADS_FV3=$nth_fv3 + nth_max=$(($npe_node_max / $npe_node_fcst)) + + export NTHREADS_FV3=${nth_fv3:-$nth_max} + [[ $NTHREADS_FV3 -gt $nth_max ]] && export NTHREADS_FV3=$nth_max export cores_per_node=$npe_node_max export APRUN_FV3="$launcher -n $npe_fcst -ppn $npe_node_fcst --cpu-bind depth --depth $NTHREADS_FV3" + export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1} + [[ $NTHREADS_REGRID_NEMSIO -gt $nth_max ]] && export NTHREADS_REGRID_NEMSIO=$nth_max export APRUN_REGRID_NEMSIO="$launcher -n $LEVS" export NTHREADS_REMAP=${nth_remap:-2} + [[ $NTHREADS_REMAP -gt $nth_max ]] && export NTHREADS_REMAP=$nth_max export APRUN_REMAP="$launcher -n ${npe_remap:-$npe_fcst}" + export I_MPI_DAPL_UD="enable" elif [ $step = "efcs" ]; then @@ -136,24 +207,35 @@ elif [ $step = "efcs" ]; then export FI_OFI_RXM_RX_SIZE=40000 export FI_OFI_RXM_TX_SIZE=40000 - export NTHREADS_FV3=$nth_efcs + nth_max=$(($npe_node_max / $npe_node_efcs)) + + export NTHREADS_FV3=${nth_efcs:-$nth_max} + [[ $NTHREADS_FV3 -gt $nth_max ]] && export NTHREADS_FV3=$nth_max export cores_per_node=$npe_node_max export APRUN_FV3="$launcher -n ${npe_fv3:-$npe_efcs} -ppn $npe_node_efcs --cpu-bind depth --depth $NTHREADS_FV3" export NTHREADS_REGRID_NEMSIO=${nth_regrid_nemsio:-1} + [[ $NTHREADS_REGRID_NEMSIO -gt $nth_max ]] && export NTHREADS_REGRID_NEMSIO=$nth_max export APRUN_REGRID_NEMSIO="$launcher -n $LEVS" elif [ $step = "post" ]; then + nth_max=$(($npe_node_max / $npe_node_post)) + export NTHREADS_NP=${nth_np:-1} + [[ $NTHREADS_NP -gt $nth_max ]] && export NTHREADS_NP=$nth_max export APRUN_NP="$launcher -n ${npe_np:-$npe_post} -ppn $npe_node_post --cpu-bind depth --depth $NTHREADS_NP" export NTHREADS_DWN=${nth_dwn:-1} + [[ $NTHREADS_DWN -gt $nth_max ]] && export NTHREADS_DWN=$nth_max export APRUN_DWN="$launcher -np $npe_dwn $mpmd" elif [ $step = "ecen" ]; then - export NTHREADS_ECEN=$nth_ecen + nth_max=$(($npe_node_max / $npe_node_ecen)) + + export NTHREADS_ECEN=${nth_ecen:-$nth_max} + [[ $NTHREADS_ECEN -gt $nth_max ]] && export NTHREADS_ECEN=$nth_max export APRUN_ECEN="$launcher -n $npe_ecen -ppn $npe_node_ecen --cpu-bind depth --depth $NTHREADS_ECEN" export NTHREADS_CHGRES=${nth_chgres:-14} @@ -161,6 +243,7 @@ elif [ $step = "ecen" ]; then export APRUN_CHGRES="time" export NTHREADS_CALCINC=${nth_calcinc:-1} + [[ $NTHREADS_CALCINC -gt $nth_max ]] && export NTHREADS_CALCINC=$nth_max export APRUN_CALCINC="$launcher -n $npe_ecen" export NTHREADS_CYCLE=${nth_cycle:-14} @@ -169,7 +252,10 @@ elif [ $step = "ecen" ]; then elif [ $step = "esfc" ]; then - export NTHREADS_ESFC=$nth_esfc + nth_max=$(($npe_node_max / $npe_node_esfc)) + + export NTHREADS_ESFC=${nth_esfc:-$nth_max} + [[ $NTHREADS_ESFC -gt $nth_max ]] && export NTHREADS_ESFC=$nth_max export APRUN_ESFC="$launcher -n $npe_esfc -ppn $npe_node_esfc --cpu-bind depth --depth $NTHREADS_ESFC" export NTHREADS_CYCLE=${nth_cycle:-14} @@ -178,33 +264,46 @@ elif [ $step = "esfc" ]; then elif [ $step = "epos" ]; then - export NTHREADS_EPOS=$nth_epos + nth_max=$(($npe_node_max / $npe_node_epos)) + + export NTHREADS_EPOS=${nth_epos:-$nth_max} + [[ $NTHREADS_EPOS -gt $nth_max ]] && export NTHREADS_EPOS=$nth_max export APRUN_EPOS="$launcher -n $npe_epos -ppn $npe_node_epos --cpu-bind depth --depth $NTHREADS_EPOS" -elif [ $step = "fv3ic" ]; then +elif [ $step = "init" ]; then - export NTHREADS_CHGRES=${nth_chgres:-$npe_node_max} - [[ $NTHREADS_CHGRES -gt $npe_node_max ]] && export NTHREADS_CHGRES=$npe_node_max - export APRUN_CHGRES="time" + export APRUN="$launcher" elif [ $step = "postsnd" ]; then export MPICH_MPIIO_HINTS_DISPLAY=1 export OMP_NUM_THREADS=1 + + nth_max=$(($npe_node_max / $npe_node_postsnd)) + export NTHREADS_POSTSND=${nth_postsnd:-1} + [[ $NTHREADS_POSTSND -gt $nth_max ]] && export NTHREADS_POSTSND=$nth_max export APRUN_POSTSND="$launcher -n $npe_postsnd --depth=$NTHREADS_POSTSND --cpu-bind depth" + export NTHREADS_POSTSNDCFP=${nth_postsndcfp:-1} + [[ $NTHREADS_POSTSNDCFP -gt $nth_max ]] && export NTHREADS_POSTSNDCFP=$nth_max export APRUN_POSTSNDCFP="$launcher -np $npe_postsndcfp $mpmd" elif [ $step = "awips" ]; then + nth_max=$(($npe_node_max / $npe_node_awips)) + export NTHREADS_AWIPS=${nth_awips:-2} + [[ $NTHREADS_AWIPS -gt $nth_max ]] && export NTHREADS_AWIPS=$nth_max export APRUN_AWIPSCFP="$launcher -np $npe_awips $mpmd" elif [ $step = "gempak" ]; then + nth_max=$(($npe_node_max / $npe_node_gempak)) + export NTHREADS_GEMPAK=${nth_gempak:-1} - export APRUN_GEMPAKCFP="$launcher -np \$ntasks $mpmd" + [[ $NTHREADS_GEMPAK -gt $nth_max ]] && export NTHREADS_GEMPAK=$nth_max + export APRUN_GEMPAKCFP="$launcher -np $npe_gempak $mpmd" elif [ $step = "waveawipsbulls" ]; then From d73dc2c157ec76ee1a0e7731c764e5c63f55ccdf Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 16:35:05 +0000 Subject: [PATCH 51/78] Change temp ncdiag MODULEPATH to append in module_base - Change the temporary MODULEPATH para install settings in module_base.wcoss2.lua for ncdiag to be an append instead of a prepend. - When prepended the wrong path to a parm file from the g2tmpl module is used. When appended the correct parm file from the g2tmpl module is used because it uses the prod path first when loading the module. Refs #419 --- modulefiles/module_base.wcoss2.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modulefiles/module_base.wcoss2.lua b/modulefiles/module_base.wcoss2.lua index cc3b622b15..8f68e994c7 100644 --- a/modulefiles/module_base.wcoss2.lua +++ b/modulefiles/module_base.wcoss2.lua @@ -34,8 +34,8 @@ load(pathJoin("g2tmpl", "1.9.1")) load(pathJoin("wgrib2", "2.0.7")) pushenv("HPC_OPT", "/apps/ops/para/libs") -prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") -prepend_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/mpi/intel/19.1.3.304/cray-mpich/8.1.7") +append_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/compiler/intel/19.1.3.304") +append_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/mpi/intel/19.1.3.304/cray-mpich/8.1.7") load("ncdiag/1.0.0") From f9be7d901277a00aff35dca5026bab8af41175b0 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 17:12:04 +0000 Subject: [PATCH 52/78] Correct PACKAGEROOT misspelling in config.base.emc.dyn Refs #419 --- parm/config/config.base.emc.dyn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index af6abf2969..1553e6b643 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -36,7 +36,7 @@ export FIXreg2grb2=$HOMEgfs/fix/fix_reg2grb2 ######################################################################## # GLOBAL static environment parameters -export PACKAGEOORT="@PACKAGEROOT@" +export PACKAGEROOT="@PACKAGEROOT@" export COMROOT="@COMROOT@" export DMPDIR="@DMPDIR@" export RTMFIX=$CRTM_FIX From c5ba2247fb45ade24b1de07bf350e144bbdbe576 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 17:34:38 +0000 Subject: [PATCH 53/78] Replace NWPROD with PACKAGEROOT in forecast_predet.sh Refs #419 --- ush/forecast_predet.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index e10436a4c8..4af2df8b82 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -71,8 +71,7 @@ FV3_GFS_predet(){ # Directories. pwd=$(pwd) - NWPROD=${NWPROD:-${PACKAGEROOT:-$pwd}} - HOMEgfs=${HOMEgfs:-$NWPROD} + HOMEgfs=${HOMEgfs:-${PACKAGEROOT:-$pwd}} FIX_DIR=${FIX_DIR:-$HOMEgfs/fix} FIX_AM=${FIX_AM:-$FIX_DIR/fix_am} FIX_AER=${FIX_AER:-$FIX_DIR/fix_aer} From 290ebfa7aedf3730f10e82f9c755e15ed52f70ce Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 17:38:27 +0000 Subject: [PATCH 54/78] Update WGRIB2 default in ush/scale_dec.sh - WGRIB2 is no longer a package on disk and is a module. - Set WGRIB2 variable default to use module wgrib2_ROOT bin path. Refs #419 --- ush/scale_dec.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/scale_dec.sh b/ush/scale_dec.sh index a698901120..77136d7f70 100755 --- a/ush/scale_dec.sh +++ b/ush/scale_dec.sh @@ -13,7 +13,7 @@ source "$HOMEgfs/ush/preamble.sh" f=$1 -export WGRIB2=${WGRIB2:-${PACKAGEROOT}/grib_util.v1.1.0/exec/wgrib2} +export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} # export WGRIB2=/gpfs/dell1/nco/ops/nwprod/grib_util.v1.1.0/exec/wgrib2 From 7ed4145d540536fce8e0c3413772e1ca3f0cc19d Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 17:41:16 +0000 Subject: [PATCH 55/78] Change WCOSS2.env from ksh to bash Refs #419 --- env/WCOSS2.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/WCOSS2.env b/env/WCOSS2.env index b256368d15..e73478ce3b 100755 --- a/env/WCOSS2.env +++ b/env/WCOSS2.env @@ -1,4 +1,4 @@ -#!/bin/ksh -x +#! /usr/bin/env bash if [ $# -ne 1 ]; then From 3ce6086b052be21dd64fafc53c12099a5b0226f6 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 17:51:08 +0000 Subject: [PATCH 56/78] Update WGRIB2 default in ush scripts to use module - Update the WGRIB2 setting default in ush scripts to no longer use NWPROD and instead now use module wgrib2_ROOT bin path for wgrib2 exec. Refs #419 --- ush/fv3gfs_downstream_nems.sh | 2 +- ush/fv3gfs_dwn_nems.sh | 2 +- ush/inter_flux.sh | 2 +- ush/mod_icec.sh | 2 +- ush/trim_rh.sh | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ush/fv3gfs_downstream_nems.sh b/ush/fv3gfs_downstream_nems.sh index 3b15b00cb2..645235af1f 100755 --- a/ush/fv3gfs_downstream_nems.sh +++ b/ush/fv3gfs_downstream_nems.sh @@ -36,7 +36,7 @@ export downset=${downset:-1} export DATA=${DATA:-/ptmpd2/$LOGNAME/test} export CNVGRIB=${CNVGRIB:-${NWPROD:-/nwprod}/util/exec/cnvgrib21} export COPYGB2=${COPYGB2:-${NWPROD:-/nwprod}/util/exec/copygb2} -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} +export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} export GRBINDEX=${GRBINDEX:-${NWPROD:-nwprod}/util/exec/grbindex} export RUN=${RUN:-"gfs"} export cycn=$(echo $CDATE |cut -c 9-10) diff --git a/ush/fv3gfs_dwn_nems.sh b/ush/fv3gfs_dwn_nems.sh index eb29445b36..12920479b3 100755 --- a/ush/fv3gfs_dwn_nems.sh +++ b/ush/fv3gfs_dwn_nems.sh @@ -20,7 +20,7 @@ export nset=$4 export CNVGRIB=${CNVGRIB:-$${NWPROD:-/nwprod}/util/exec/cnvgrib21} export COPYGB2=${COPYGB2:-$${NWPROD:-/nwprod}/util/exec/copygb2} -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} +export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} export TRIMRH=${TRIMRH:-$USHgfs/trim_rh.sh} export MODICEC=${MODICEC:-$USHgfs/mod_icec.sh} diff --git a/ush/inter_flux.sh b/ush/inter_flux.sh index 6b3d434069..cedbb825e8 100755 --- a/ush/inter_flux.sh +++ b/ush/inter_flux.sh @@ -10,7 +10,7 @@ source "$HOMEgfs/ush/preamble.sh" "$FH" export CNVGRIB=${CNVGRIB:-${NWPROD:-/nwprod}/util/exec/cnvgrib21} export COPYGB2=${COPYGB2:-${NWPROD:-/nwprod}/util/exec/copygb2} -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} +export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} export GRBINDEX=${GRBINDEX:-${NWPROD:-nwprod}/util/exec/grbindex} export RUN=${RUN:-"gfs"} export cycn=$(echo $CDATE |cut -c 9-10) diff --git a/ush/mod_icec.sh b/ush/mod_icec.sh index f62131846e..96ccab9075 100755 --- a/ush/mod_icec.sh +++ b/ush/mod_icec.sh @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" f=$1 -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} +export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} $WGRIB2 ${optncpu:-} $f \ -if 'LAND' -rpn 'sto_1' -fi \ diff --git a/ush/trim_rh.sh b/ush/trim_rh.sh index 2de2e17c7b..5a8903cae6 100755 --- a/ush/trim_rh.sh +++ b/ush/trim_rh.sh @@ -7,7 +7,7 @@ source "$HOMEgfs/ush/preamble.sh" f=$1 -export WGRIB2=${WGRIB2:-${NWPROD:-/nwprod}/util/exec/wgrib2} +export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} $WGRIB2 ${optncpu:-} $f -not_if ':RH:' -grib $f.new \ -if ':RH:' -rpn "10:*:0.5:+:floor:1000:min:10:/" -set_grib_type same \ From cab60e95eef4d79a5ea0fa1af8ccee79d2afb295 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 8 Sep 2022 18:07:59 +0000 Subject: [PATCH 57/78] Replace NWPROD with PACKAGEROOT or module paths - Remove commented out NWPROD setting in scripts/run_reg2grb2.sh. - Replace NWPROD with PACKAGEROOT in ush scripts. - Remove NWPROD in ush script utility default settings with module ROOT paths. Refs #419 --- scripts/run_reg2grb2.sh | 1 - ush/fv3gfs_downstream_nems.sh | 6 +++--- ush/fv3gfs_dwn_nems.sh | 4 ++-- ush/fv3gfs_nc2nemsio.sh | 3 +-- ush/fv3gfs_regrid_nemsio.sh | 3 +-- ush/fv3gfs_remap.sh | 3 +-- ush/inter_flux.sh | 6 +++--- 7 files changed, 11 insertions(+), 15 deletions(-) diff --git a/scripts/run_reg2grb2.sh b/scripts/run_reg2grb2.sh index 2284088f47..bcdcb1d0be 100755 --- a/scripts/run_reg2grb2.sh +++ b/scripts/run_reg2grb2.sh @@ -68,6 +68,5 @@ $executable > reg2grb2.$CDATE.$IDATE.out # interpolated from 0p25 to 0p5 grid grid2p05="0 6 0 0 0 0 0 0 720 361 0 0 90000000 0 48 -90000000 359500000 500000 500000 0" -#### $NWPROD/util/exec/copygb2 -g "${grid2p05}" -i0 -x $outfile $outfile0p5 $COPYGB2 -g "${grid2p05}" -i0 -x $outfile $outfile0p5 diff --git a/ush/fv3gfs_downstream_nems.sh b/ush/fv3gfs_downstream_nems.sh index 645235af1f..95b3caa132 100755 --- a/ush/fv3gfs_downstream_nems.sh +++ b/ush/fv3gfs_downstream_nems.sh @@ -34,10 +34,10 @@ source "$HOMEgfs/ush/preamble.sh" "$FH" export downset=${downset:-1} export DATA=${DATA:-/ptmpd2/$LOGNAME/test} -export CNVGRIB=${CNVGRIB:-${NWPROD:-/nwprod}/util/exec/cnvgrib21} -export COPYGB2=${COPYGB2:-${NWPROD:-/nwprod}/util/exec/copygb2} +export CNVGRIB=${CNVGRIB:-${grib_util_ROOT}/bin/cnvgrib} +export COPYGB2=${COPYGB2:-${grib_util_ROOT}/bin/copygb} export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} -export GRBINDEX=${GRBINDEX:-${NWPROD:-nwprod}/util/exec/grbindex} +export GRBINDEX=${GRBINDEX:-${wgrib2_ROOT}/bin/grbindex} export RUN=${RUN:-"gfs"} export cycn=$(echo $CDATE |cut -c 9-10) export TCYC=${TCYC:-".t${cycn}z."} diff --git a/ush/fv3gfs_dwn_nems.sh b/ush/fv3gfs_dwn_nems.sh index 12920479b3..fdc58c68ea 100755 --- a/ush/fv3gfs_dwn_nems.sh +++ b/ush/fv3gfs_dwn_nems.sh @@ -18,8 +18,8 @@ export fhr3=$2 export iproc=$3 export nset=$4 -export CNVGRIB=${CNVGRIB:-$${NWPROD:-/nwprod}/util/exec/cnvgrib21} -export COPYGB2=${COPYGB2:-$${NWPROD:-/nwprod}/util/exec/copygb2} +export CNVGRIB=${CNVGRIB:-${grib_util_ROOT}/bin/cnvgrib} +export COPYGB2=${COPYGB2:-${grib_util_ROOT}/bin/copygb} export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} export TRIMRH=${TRIMRH:-$USHgfs/trim_rh.sh} export MODICEC=${MODICEC:-$USHgfs/mod_icec.sh} diff --git a/ush/fv3gfs_nc2nemsio.sh b/ush/fv3gfs_nc2nemsio.sh index 99eea9ce5f..8bdd4c929a 100755 --- a/ush/fv3gfs_nc2nemsio.sh +++ b/ush/fv3gfs_nc2nemsio.sh @@ -17,8 +17,7 @@ export fdiag=${fdiag:-"none"} # specified forecast output hours pwd=$(pwd) export DATA=${DATA:-$pwd} -export NWPROD=${NWPROD:-$pwd} -export HOMEgfs=${HOMEgfs:-$NWPROD} +export HOMEgfs=${HOMEgfs:-$PACKAGEROOT} export NC2NEMSIOEXE=${NC2NEMSIOEXE:-$HOMEgfs/exec/fv3nc2nemsio.x} cycn=$(echo $CDATE | cut -c 9-10) diff --git a/ush/fv3gfs_regrid_nemsio.sh b/ush/fv3gfs_regrid_nemsio.sh index 7b92c27cde..6a98112578 100755 --- a/ush/fv3gfs_regrid_nemsio.sh +++ b/ush/fv3gfs_regrid_nemsio.sh @@ -25,8 +25,7 @@ source "$HOMEgfs/ush/preamble.sh" # Directories and paths pwd=$(pwd) DATA=${DATA:-$pwd} -NWPROD=${NWPROD:-$pwd} -HOMEgfs=${HOMEgfs:-$NWPROD} +HOMEgfs=${HOMEgfs:-$PACKAGEROOT} FIX_DIR=${FIX_DIR:-$HOMEgfs/fix} FIX_AM=${FIX_AM:-$FIX_DIR/fix_am} FIXfv3=${FIXfv3:-$FIX_DIR/fix_fv3_gmted2010} diff --git a/ush/fv3gfs_remap.sh b/ush/fv3gfs_remap.sh index b1c3546d97..619858ea5d 100755 --- a/ush/fv3gfs_remap.sh +++ b/ush/fv3gfs_remap.sh @@ -13,8 +13,7 @@ export GG=${master_grid:-"0p25deg"} # 1deg 0p5deg 0p25deg 0p125deg pwd=$(pwd) export DATA=${DATA:-$pwd} -export NWPROD=${NWPROD:-$pwd} -export HOMEgfs=${HOMEgfs:-$NWPROD} +export HOMEgfs=${HOMEgfs:-$PACKAGEROOT} export FIX_DIR=${FIX_DIR:-$HOMEgfs/fix} export FIXfv3=${FIXfv3:-$FIX_DIR/fix_fv3_gmted2010} export REMAPEXE=${REMAPEXE:-$HOMEgfs/exec/fregrid_parallel} diff --git a/ush/inter_flux.sh b/ush/inter_flux.sh index cedbb825e8..661fcb1fd0 100755 --- a/ush/inter_flux.sh +++ b/ush/inter_flux.sh @@ -8,10 +8,10 @@ source "$HOMEgfs/ush/preamble.sh" "$FH" # into lat-lon grids. #----------------------------------------------------------------------- -export CNVGRIB=${CNVGRIB:-${NWPROD:-/nwprod}/util/exec/cnvgrib21} -export COPYGB2=${COPYGB2:-${NWPROD:-/nwprod}/util/exec/copygb2} +export CNVGRIB=${CNVGRIB:-${grib_util_ROOT}/bin/cnvgrib} +export COPYGB2=${COPYGB2:-${grib_util_ROOT}/bin/copygb} export WGRIB2=${WGRIB2:-${wgrib2_ROOT}/bin/wgrib2} -export GRBINDEX=${GRBINDEX:-${NWPROD:-nwprod}/util/exec/grbindex} +export GRBINDEX=${GRBINDEX:-${wgrib2_ROOT}/bin/grbindex} export RUN=${RUN:-"gfs"} export cycn=$(echo $CDATE |cut -c 9-10) export TCYC=${TCYC:-".t${cycn}z."} From 6abdaa73d00c7bdf799901676aa72a29f68eccc7 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 14 Sep 2022 18:22:55 +0000 Subject: [PATCH 58/78] Update CFP settings for gldas job on WCOSS2 - Add USE_CFP and CFP_MP settings into gldas block in WCOSS2.env. - When on WCOSS2 the gldas job should use CFP (USE_CFP=YES) but not use the line counter value in the generated cfile (CFP_MP=NO). Related to work happening in the GLDAS script absorption issue #1014. Refs #419 --- env/WCOSS2.env | 3 +++ 1 file changed, 3 insertions(+) diff --git a/env/WCOSS2.env b/env/WCOSS2.env index e73478ce3b..71f967181c 100755 --- a/env/WCOSS2.env +++ b/env/WCOSS2.env @@ -121,6 +121,9 @@ elif [ $step = "sfcanl" ]; then elif [ $step = "gldas" ]; then + export USE_CFP="YES" + export CFP_MP="NO" + nth_max=$(($npe_node_max / $npe_node_gldas)) export NTHREADS_GLDAS=${nth_gldas:-$nth_max} From f853574aed67627bd64ea62db78fe466b9c7a843 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Mon, 19 Sep 2022 17:50:08 +0000 Subject: [PATCH 59/78] Cleanup ush/global_extrkr.sh - Remove unneeded commented out lines and NWPROD duplicate lines. - Replace NWPROD with PACKAGEROOT. Refs #419 --- ush/global_extrkr.sh | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/ush/global_extrkr.sh b/ush/global_extrkr.sh index eb523b9e24..5874c4e9be 100755 --- a/ush/global_extrkr.sh +++ b/ush/global_extrkr.sh @@ -207,15 +207,10 @@ export IKEFLAG=n export trkrtype=tracker export loopnum=1 -# Define tracker working directory for this global member -##export TRKDATA=/ptmpp1/${userid}/trakout2/${PDY}${cyc}/${cmodel} - -##export TMPDIR=$DATA/trak/${RANDOM} export flag_pgb=${flag_pgb:-q} -export NWPROD=${NWPROD:-${PACKAGEROOT}} -export NWPROD=${NWPROD:-/nwprod} +export PACKAGEROOT=${PACKAGEROOT:-${PACKAGEROOT}} export rundir=${rundir:-$COMOUT} if [ ! -d $DATA ] @@ -224,14 +219,9 @@ then fi cd $DATA -#$NWPROD/util/ush/setup.sh - if [ ${PARAFLAG} = 'YES' ] then - $NWPROD/util/ush/setup.sh -#else -#TM take out this else part for operations..... -# $NWPROD/util/ush/setup.sh + $PACKAGEROOT/util/ush/setup.sh fi if [ ${#PDY} -eq 0 -o ${#CYL} -eq 0 -o ${#cmodel} -eq 0 ] @@ -277,7 +267,6 @@ export gltrkdir=${gltrkdir:-${COMDIR}${COMROOTp1}/hur/${envir}/global} export TPCATdir=/tpcprd/atcf export homesyndir=${homesyndir:-${HOMERELO}} -export homesyndir=${homesyndir:-$NWPROD/util} export exectrkdir=${exectrkdir:-${homesyndir}/exec} export ushtrkdir=${ushtrkdir:-${homesyndir}/ush} export archsyndir=${archsyndir:-${COMINsyn:-$(compath.py gfs/prod/syndat)}} @@ -916,11 +905,6 @@ echo " -----------------------------------------" echo " " ${TRACE_ON:-set -x} -#gix=$NWPROD/util/exec/grbindex -#g2ix=$NWPROD/util/exec/grb2index -#cgb=$NWPROD/util/exec/copygb -#cgb2=$NWPROD/util/exec/copygb2 - regflag=$(grep NHC ${DATA}/vitals.upd.${atcfout}.${PDY}${CYL} | wc -l) # ---------------------------------------------------------------------- From fefbb5a4ec63043c53f2240237933a99371a7a2a Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Mon, 19 Sep 2022 17:52:10 +0000 Subject: [PATCH 60/78] Updates to ush/global_nceppost.sh - Some cleanup. - Replace NWPROD with HOMEgfs. Refs #419 --- ush/global_nceppost.sh | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/ush/global_nceppost.sh b/ush/global_nceppost.sh index 45aebe8e4f..2c0711c57f 100755 --- a/ush/global_nceppost.sh +++ b/ush/global_nceppost.sh @@ -55,7 +55,7 @@ # CHGRESSH optional: the script to run chgres # default to to ${USHglobal}/global_chgres.sh # SIGLEVEL optional: the coordinate text file -# default to to /nwprod/fix/global_hyblev.l${LEVS}.txt +# default to to $HOMEgfs/fix/global_hyblev.l${LEVS}.txt ##### Chuang: Add new imported Shell Variable for ncep post # OUTTYP Output file type read in by post # 1: if user has a sigma file and needs post to run chgres to convert to gfs io file @@ -83,14 +83,10 @@ # GENPSICHIEXE Optional, specify where executable is for generating # psi and chi. ######################################################################## -# EXECUTIL Directory for utility executables -# defaults to /nwprod/util/exec -# USHUTIL Directory for utility scripts -# defaults to /nwprod/util/ush # EXECglobal Directory for global executables -# defaults to /nwprod/exec +# defaults to $HOMEgfs/exec # USHglobal Directory for global scripts -# defaults to /nwprod/ush +# defaults to $HOMEgfs/ush # DATA working directory # (if nonexistent will be made, used and deleted) # defaults to current working directory @@ -101,7 +97,6 @@ # POSTGPEXEC Global post executable # defaults to ${EXECglobal}/ncep_post # GRBINDEX GRIB index maker -# defaults to ${EXECUTIL}/grbindex$XC # ANOMCATSH Global anomaly GRIB script # defaults to ${USHglobal/global_anomcat.sh # POSTGPLIST File containing further namelist inputs @@ -197,11 +192,8 @@ export IO=${6:-${IO:-0}} export JO=${7:-${JO:-0}} export IGEN=${8:-${IGEN:-0}} # Directories. -export NWPROD=${NWPROD:-/nwprod} -#export EXECUTIL=${EXECUTIL:-$NWPROD/util/exec} -export USHUTIL=${USHUTIL:-$NWPROD/util/ush} -export EXECglobal=${EXECglobal:-$NWPROD/exec} -export USHglobal=${USHglobal:-$NWPROD/ush} +export EXECglobal=${EXECglobal:-$HOMEgfs/exec} +export USHglobal=${USHglobal:-$HOMEgfs/ush} export DATA=${DATA:-$(pwd)} # Filenames. export MP=${MP:-$([[ $LOADL_STEP_TYPE = PARALLEL ]]&&echo "p"||echo "s")} @@ -216,7 +208,7 @@ export ERRSCRIPT=${ERRSCRIPT:-'eval [[ $err = 0 ]]'} export LOGSCRIPT=${LOGSCRIPT} export ENDSCRIPT=${ENDSCRIPT} export GFSOUT=${GFSOUT:-gfsout} -export CTLFILE=${CTLFILE:-$NWPROD/parm/gfs_cntrl.parm} +export CTLFILE=${CTLFILE:-$HOMEgfs/parm/post/postcntrl_gfs.xml} export MODEL_OUT_FORM=${MODEL_OUT_FORM:-binarynemsiompiio} export GRIBVERSION=${GRIBVERSION:-'grib1'} # Other variables. @@ -251,7 +243,7 @@ if [ ${OUTTYP} -le 3 ] ; then fi fi -export SIGHDR=${SIGHDR:-$NWPROD/exec/global_sighdr} +export SIGHDR=${SIGHDR:-$HOMEgfs/exec/global_sighdr} export IDRT=${IDRT:-4} if [ ${OUTTYP} -le 1 ] ; then @@ -268,7 +260,7 @@ if [ ${OUTTYP} -le 1 ] ; then export CHGRESVARS="LATCH=$LATCH,$CHGRESVARS" fi #export SIGLEVEL=${SIGLEVEL:-""} - export SIGLEVEL=${SIGLEVEL:-"$NWPROD/fix/global_hyblev.l${LEVS}.txt"} + export SIGLEVEL=${SIGLEVEL:-"$HOMEgfs/fix/global_hyblev.l${LEVS}.txt"} # specify threads for running chgres export OMP_NUM_THREADS=$CHGRESTHREAD export NTHREADS=$OMP_NUM_THREADS From 04562aa003c1b88f20d9816210c94dc8a9ebdb2e Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 21 Sep 2022 15:07:39 +0000 Subject: [PATCH 61/78] Revert DATA default value in some JJOBS - Change the default for DATA in some downstream job JJOB scripts to use jobid again instead of PBS_JOBNAME.PBS_JOBID. - The jobid variable is set in env files and uses PBS_JOBNAME.PBS_JOBID in WCOSS2.env so it's unneeded to change in JJOBS. Refs #419 --- jobs/JGDAS_ATMOS_GEMPAK_META_NCDC | 2 +- jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG | 2 +- jobs/JGFS_ATMOS_AWIPS_G2 | 2 +- jobs/JGFS_ATMOS_FBWIND | 2 +- jobs/JGFS_ATMOS_GEMPAK | 2 +- jobs/JGFS_ATMOS_GEMPAK_META | 2 +- jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF | 2 +- jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC | 2 +- jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC index a2022002a9..367f0a0c83 100755 --- a/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC +++ b/jobs/JGDAS_ATMOS_GEMPAK_META_NCDC @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG index 32ebb64cd4..0971ec6bff 100755 --- a/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG +++ b/jobs/JGFS_ATMOS_AWIPS_20KM_1P0DEG @@ -11,7 +11,7 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} ######################################################### # obtain unique process id (pid) and make temp directory ######################################################### -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_AWIPS_G2 b/jobs/JGFS_ATMOS_AWIPS_G2 index 0550bb6626..db4e984b6a 100755 --- a/jobs/JGFS_ATMOS_AWIPS_G2 +++ b/jobs/JGFS_ATMOS_AWIPS_G2 @@ -11,7 +11,7 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_FBWIND b/jobs/JGFS_ATMOS_FBWIND index df9bf4dc96..df8d3bc0c1 100755 --- a/jobs/JGFS_ATMOS_FBWIND +++ b/jobs/JGFS_ATMOS_FBWIND @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ########################################################### # obtain unique process id (pid) and make temp directory ########################################################### -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_GEMPAK b/jobs/JGFS_ATMOS_GEMPAK index f626b02378..6230829bc8 100755 --- a/jobs/JGFS_ATMOS_GEMPAK +++ b/jobs/JGFS_ATMOS_GEMPAK @@ -46,7 +46,7 @@ status=$? ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_GEMPAK_META b/jobs/JGFS_ATMOS_GEMPAK_META index 8a28b27c07..707537f3f1 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_META +++ b/jobs/JGFS_ATMOS_GEMPAK_META @@ -19,7 +19,7 @@ export MP_DEBUG_NOTIMEOUT=yes ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF index 5f814daac5..82667654d1 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF +++ b/jobs/JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC index 005e9297f9..f7080fb523 100755 --- a/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC +++ b/jobs/JGFS_ATMOS_GEMPAK_PGRB2_SPEC @@ -9,7 +9,7 @@ source "$HOMEgfs/ush/preamble.sh" ######################################################### # obtain unique process id (pid) and make temp directory ######################################################### -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA diff --git a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS index b02e48c69b..74b4695f28 100755 --- a/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS +++ b/jobs/JGFS_ATMOS_PGRB2_SPEC_NPOESS @@ -11,7 +11,7 @@ export OMP_NUM_THREADS=${OMP_NUM_THREADS:-1} ########################################################## # obtain unique process id (pid) and make temp directory ########################################################## -export DATA=${DATA:-${DATAROOT}/${PBS_JOBNAME}.${PBS_JOBID}} +export DATA=${DATA:-${DATAROOT}/${jobid:?}} mkdir -p $DATA cd $DATA From d9e763fde3c7f4a8a5e76f1e4a16b6fd995c0c9e Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 21 Sep 2022 15:52:07 +0000 Subject: [PATCH 62/78] Update COMINsyn setting in configs - Add COMINsyn to config.base.emc.dyn and have it use COMROOT and gfs_ver syndat path. Set default for gfs_ver for now and remove when version files are added later. - Update default of COMINsyn in config.prep and config.vrfy. Refs #419 --- parm/config/config.base.emc.dyn | 1 + parm/config/config.prep | 2 +- parm/config/config.vrfy | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index 1553e6b643..2c660bfc0a 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -38,6 +38,7 @@ export FIXreg2grb2=$HOMEgfs/fix/fix_reg2grb2 # GLOBAL static environment parameters export PACKAGEROOT="@PACKAGEROOT@" export COMROOT="@COMROOT@" +export COMINsyn="${COMROOT}/gfs/${gfs_ver:-"v16.2"})/syndat" export DMPDIR="@DMPDIR@" export RTMFIX=$CRTM_FIX diff --git a/parm/config/config.prep b/parm/config/config.prep index ac172bf5b8..c4fe7c513e 100755 --- a/parm/config/config.prep +++ b/parm/config/config.prep @@ -17,7 +17,7 @@ export DO_RELOCATE="NO" export TROPCYQCRELOSH="$HOMEgfs/scripts/exglobal_atmos_tropcy_qc_reloc.sh" export SENDCOM=YES -export COMINsyn=${COMINsyn:-${COMROOT}/gfs/prod/syndat} +export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat} export HOMERELO=$HOMEgfs export EXECRELO=${HOMERELO}/exec diff --git a/parm/config/config.vrfy b/parm/config/config.vrfy index 4a2f5ce1ad..cdf4dde670 100755 --- a/parm/config/config.vrfy +++ b/parm/config/config.vrfy @@ -110,7 +110,7 @@ export HOMEens_tracker=$BASE_GIT/TC_tracker/${ens_tracker_ver} if [ "$VRFYTRAK" = "YES" ]; then export TRACKERSH="$HOMEgfs/jobs/JGFS_ATMOS_CYCLONE_TRACKER" - export COMINsyn=${COMINsyn:-${COMROOT}/gfs/prod/syndat} + export COMINsyn=${COMINsyn:-$(compath.py ${envir}/com/gfs/${gfs_ver})/syndat} if [ "$CDUMP" = "gdas" ]; then export FHOUT_CYCLONE=3 export FHMAX_CYCLONE=$FHMAX From b6c14609aacbbe5bee827bc0379b7905c1dfc210 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 21 Sep 2022 15:54:07 +0000 Subject: [PATCH 63/78] Add supported_resolutions to wcoss2.yaml host file Refs #419 --- workflow/hosts/wcoss2.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/hosts/wcoss2.yaml b/workflow/hosts/wcoss2.yaml index 7324adc337..4c7653462f 100644 --- a/workflow/hosts/wcoss2.yaml +++ b/workflow/hosts/wcoss2.yaml @@ -17,3 +17,4 @@ chgrp_cmd: 'chgrp rstprod' hpssarch: 'YES' localarch: 'NO' atardir: '/NCEPDEV/$HPSS_PROJECT/1year/$USER/$machine/scratch/$PSLOT' +supported_resolutions: ['C768', 'C384', 'C192', 'C96', 'C48'] From 312bd7f5b74632cca384e64b0944195c9eea2401 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 21 Sep 2022 20:09:48 +0000 Subject: [PATCH 64/78] Remove unused ush/global_extrkr.sh Refs #419 --- ush/global_extrkr.sh | 1676 ------------------------------------------ 1 file changed, 1676 deletions(-) delete mode 100755 ush/global_extrkr.sh diff --git a/ush/global_extrkr.sh b/ush/global_extrkr.sh deleted file mode 100755 index 5874c4e9be..0000000000 --- a/ush/global_extrkr.sh +++ /dev/null @@ -1,1676 +0,0 @@ -#! /usr/bin/env bash - -source "$HOMEgfs/ush/preamble.sh" - -userid=$LOGNAME - -############################################################################## -# cat<${DATA}/tmpsynvit.${atcfout}.${PDY}${CYL} - grep "${current_str}" ${synvitdir}/${synvitfile} \ - >>${DATA}/tmpsynvit.${atcfout}.${PDY}${CYL} - grep "${future_str}" ${synvitfuture_dir}/${synvitfuture_file} \ - >>${DATA}/tmpsynvit.${atcfout}.${PDY}${CYL} -else - set +x - echo " " - echo " There is no (synthetic) TC vitals file for ${CYL}z in ${synvitdir}," - echo " nor is there a TC vitals file for ${old_hh}z in ${synvitold_dir}." - echo " nor is there a TC vitals file for ${future_hh}z in ${synvitfuture_dir}," - echo " Checking the raw TC Vitals file ....." - echo " " - ${TRACE_ON:-set -x} -fi - -# Take the vitals from Steve Lord's /com/gfs/prod tcvitals file, -# and cat them with the NHC-only vitals from the raw, original -# /com/arch/prod/synda_tcvitals file. Do this because the nwprod -# tcvitals file is the original tcvitals file, and Steve runs a -# program that ignores the vitals for a storm that's over land or -# even just too close to land, and for tracking purposes for the -# US regional models, we need these locations. Only include these -# "inland" storm vitals for NHC (we're not going to track inland -# storms that are outside of NHC's domain of responsibility -- we -# don't need that info). -# UPDATE 5/12/98 MARCHOK: awk logic is added to screen NHC -# vitals such as "89E TEST", since TPC -# does not want tracks for such storms. - -grep "${old_str}" ${archsyndir}/syndat_tcvitals.${CENT}${syy} | \ - grep -v TEST | awk 'substr($0,6,1) !~ /8/ {print $0}' \ - >${DATA}/tmprawvit.${atcfout}.${PDY}${CYL} -grep "${current_str}" ${archsyndir}/syndat_tcvitals.${CENT}${syy} | \ - grep -v TEST | awk 'substr($0,6,1) !~ /8/ {print $0}' \ - >>${DATA}/tmprawvit.${atcfout}.${PDY}${CYL} -grep "${future_str}" ${archsyndir}/syndat_tcvitals.${CENT}${syy} | \ - grep -v TEST | awk 'substr($0,6,1) !~ /8/ {print $0}' \ - >>${DATA}/tmprawvit.${atcfout}.${PDY}${CYL} - - -# IMPORTANT: When "cat-ing" these files, make sure that the vitals -# files from the "raw" TC vitals files are first in order and Steve's -# TC vitals files second. This is because Steve's vitals file has -# been error-checked, so if we have a duplicate tc vitals record in -# these 2 files (very likely), program supvit.x below will -# only take the last vitals record listed for a particular storm in -# the vitals file (all previous duplicates are ignored, and Steve's -# error-checked vitals records are kept). - -cat ${DATA}/tmprawvit.${atcfout}.${PDY}${CYL} ${DATA}/tmpsynvit.${atcfout}.${PDY}${CYL} \ - >${DATA}/vitals.${atcfout}.${PDY}${CYL} - -#--------------------------------------------------------------# -# Now run a fortran program that will read all the TC vitals -# records for the current dtg and the dtg from 6h ago, and -# sort out any duplicates. If the program finds a storm that -# was included in the vitals file 6h ago but not for the current -# dtg, this program updates the 6h-old first guess position -# and puts these updated records as well as the records from -# the current dtg into a temporary vitals file. It is this -# temporary vitals file that is then used as the input for the -# tracking program. -#--------------------------------------------------------------# - -oldymdh=$( ${NDATE:?} -${vit_incr} ${PDY}${CYL}) -oldyy=${oldymdh:2:2} -oldmm=${oldymdh:4:2} -olddd=${oldymdh:6:2} -oldhh=${oldymdh:8:2} -oldymd=${oldyy}${oldmm}${olddd} - -futureymdh=$( ${NDATE:?} 6 ${PDY}${CYL}) -futureyy=${futureymdh:2:2} -futuremm=${futureymdh:4:2} -futuredd=${futureymdh:6:2} -futurehh=${futureymdh:8:2} -futureymd=${futureyy}${futuremm}${futuredd} - -cat<${DATA}/suv_input.${atcfout}.${PDY}${CYL} -&datenowin dnow%yy=${syy}, dnow%mm=${smm}, - dnow%dd=${sdd}, dnow%hh=${CYL}/ -&dateoldin dold%yy=${oldyy}, dold%mm=${oldmm}, - dold%dd=${olddd}, dold%hh=${oldhh}/ -&datefuturein dfuture%yy=${futureyy}, dfuture%mm=${futuremm}, - dfuture%dd=${futuredd}, dfuture%hh=${futurehh}/ -&hourinfo vit_hr_incr=${vit_incr}/ -EOF - - -numvitrecs=$(cat ${DATA}/vitals.${atcfout}.${PDY}${CYL} | wc -l) -if [ ${numvitrecs} -eq 0 ] -then - - if [ ${trkrtype} = 'tracker' ] - then - set +x - echo " " - echo "!!! NOTE -- There are no vitals records for this time period." - echo "!!! File ${DATA}/vitals.${atcfout}.${PDY}${CYL} is empty." - echo "!!! It could just be that there are no storms for the current" - echo "!!! time. Please check the dates and submit this job again...." - echo " " - ${TRACE_ON:-set -x} - exit 1 - fi - -fi - -# For tcgen cases, filter to use only vitals from the ocean -# basin of interest.... - -if [ ${trkrtype} = 'tcgen' ] - then - - if [ ${numvitrecs} -gt 0 ] - then - - fullvitfile=${DATA}/vitals.${atcfout}.${PDY}${CYL} - cp $fullvitfile ${DATA}/vitals.all_basins.${atcfout}.${PDY}${CYL} - basin=$( echo $regtype | cut -c1-2) - - if [ ${basin} = 'al' ]; then - cat $fullvitfile | awk '{if (substr($0,8,1) == "L") print $0}' \ - >${DATA}/vitals.tcgen_al_only.${atcfout}.${PDY}${CYL} - cp ${DATA}/vitals.tcgen_al_only.${atcfout}.${PDY}${CYL} \ - ${DATA}/vitals.${atcfout}.${PDY}${CYL} - fi - if [ ${basin} = 'ep' ]; then - cat $fullvitfile | awk '{if (substr($0,8,1) == "E") print $0}' \ - >${DATA}/vitals.tcgen_ep_only.${atcfout}.${PDY}${CYL} - cp ${DATA}/vitals.tcgen_ep_only.${atcfout}.${PDY}${CYL} \ - ${DATA}/vitals.${atcfout}.${PDY}${CYL} - fi - if [ ${basin} = 'wp' ]; then - cat $fullvitfile | awk '{if (substr($0,8,1) == "W") print $0}' \ - >${DATA}/vitals.tcgen_wp_only.${atcfout}.${PDY}${CYL} - cp ${DATA}/vitals.tcgen_wp_only.${atcfout}.${PDY}${CYL} \ - ${DATA}/vitals.${atcfout}.${PDY}${CYL} - fi - - cat ${DATA}/vitals.${atcfout}.${PDY}${CYL} - - fi - -fi - -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# Before running the program to read, sort and update the vitals, -# first run the vitals through some awk logic, the purpose of -# which is to convert all the 2-digit years into 4-digit years. -# We need this logic to ensure that all the vitals going -# into supvit.f have uniform, 4-digit years in their records. -# -# 1/8/2000: sed code added by Tim Marchok due to the fact that -# some of the vitals were getting past the syndata/qctropcy -# error-checking with a colon in them; the colon appeared -# in the character immediately to the left of the date, which -# was messing up the "(length($4) == 8)" statement logic. -# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -sed -e "s/\:/ /g" ${DATA}/vitals.${atcfout}.${PDY}${CYL} > ${DATA}/tempvit -mv ${DATA}/tempvit ${DATA}/vitals.${atcfout}.${PDY}${CYL} - -awk ' -{ - yycheck = substr($0,20,2) - if ((yycheck == 20 || yycheck == 19) && (length($4) == 8)) { - printf ("%s\n",$0) - } - else { - if (yycheck >= 0 && yycheck <= 50) { - printf ("%s20%s\n",substr($0,1,19),substr($0,20)) - } - else { - printf ("%s19%s\n",substr($0,1,19),substr($0,20)) - } - } -} ' ${DATA}/vitals.${atcfout}.${PDY}${CYL} >${DATA}/vitals.${atcfout}.${PDY}${CYL}.y4 - -mv ${DATA}/vitals.${atcfout}.${PDY}${CYL}.y4 ${DATA}/vitals.${atcfout}.${PDY}${CYL} - -if [ ${numvitrecs} -gt 0 ] -then - - export pgm=supvit - . $prep_step - - ln -s -f ${DATA}/vitals.${atcfout}.${PDY}${CYL} fort.31 - ln -s -f ${DATA}/vitals.upd.${atcfout}.${PDY}${CYL} fort.51 - - echo "$pgm start for $atcfout at ${CYL}z" - - ${exectrkdir}/supvit <${DATA}/suv_input.${atcfout}.${PDY}${CYL} - suvrcc=$? - - if [ ${suvrcc} -eq 0 ] - then - echo "$pgm end for $atcfout at ${CYL}z completed normally" - else - set +x - echo " " - echo "!!! ERROR -- An error occurred while running supvit.x, " - echo "!!! which is the program that updates the TC Vitals file." - echo "!!! Return code from supvit.x = ${suvrcc}" - echo "!!! model= ${atcfout}, forecast initial time = ${PDY}${CYL}" - echo "!!! Exiting...." - echo " " - ${TRACE_ON:-set -x} - err_exit " FAILED ${jobid} - ERROR RUNNING SUPVIT IN TRACKER SCRIPT- ABNORMAL EXIT" - fi - -else - - touch ${DATA}/vitals.upd.${atcfout}.${PDY}${CYL} - -fi - -#----------------------------------------------------------------- -# In this section, check to see if the user requested the use of -# operational TC vitals records for the initial time only. This -# option might be used for a retrospective medium range forecast -# in which the user wants to initialize with the storms that are -# currently there, but then let the model do its own thing for -# the next 10 or 14 days.... - -#------------------------------------------------------------------# -# Now select all storms to be processed, that is, process every -# storm that's listed in the updated vitals file for the current -# forecast hour. If there are no storms for the current time, -# then exit. -#------------------------------------------------------------------# - -numvitrecs=$(cat ${DATA}/vitals.upd.${atcfout}.${PDY}${CYL} | wc -l) -if [ ${numvitrecs} -eq 0 ] -then - if [ ${trkrtype} = 'tracker' ] - then - set +x - echo " " - echo "!!! NOTE -- There are no vitals records for this time period " - echo "!!! in the UPDATED vitals file." - echo "!!! It could just be that there are no storms for the current" - echo "!!! time. Please check the dates and submit this job again...." - echo " " - ${TRACE_ON:-set -x} - exit 1 - fi -fi - -set +x -echo " " -echo " *--------------------------------*" -echo " | STORM SELECTION |" -echo " *--------------------------------*" -echo " " -${TRACE_ON:-set -x} - -ict=1 -while [ $ict -le 15 ] -do - stormflag[${ict}]=3 - let ict=ict+1 -done - -dtg_current="${symd} ${CYL}00" -stormmax=$( grep "${dtg_current}" ${DATA}/vitals.upd.${atcfout}.${PDY}${CYL} | wc -l) - -if [ ${stormmax} -gt 15 ] -then - stormmax=15 -fi - -sct=1 -while [ ${sct} -le ${stormmax} ] -do - stormflag[${sct}]=1 - let sct=sct+1 -done - - -#---------------------------------------------------------------# -# -# -------- "Genesis" Vitals processing -------- -# -# May 2006: This entire genesis tracking system is being -# upgraded to more comprehensively track and categorize storms. -# One thing that has been missing from the tracking system is -# the ability to keep track of storms from one analysis cycle -# to the next. That is, the current system has been very -# effective at tracking systems within a forecast, but we have -# no methods in place for keeping track of storms across -# difference initial times. For example, if we are running -# the tracker on today's 00z GFS analysis, we will get a -# position for various storms at the analysis time. But then -# if we go ahead and run again at 06z, we have no way of -# telling the tracker that we know about the 00z position of -# this storm. We now address that problem by creating -# "genesis" vitals, that is, when a storm is found at an -# analysis time, we not only produce "atcfunix" output to -# detail the track & intensity of a found storm, but we also -# produce a vitals record that will be used for the next -# run of the tracker script. These "genesis vitals" records -# will be of the format: -# -# YYYYMMDDHH_AAAH_LLLLX_TYP -# -# Where: -# -# YYYYMMDDHH = Date the storm was FIRST identified -# by the tracker. -# AAA = Abs(Latitude) * 10; integer value -# H = 'N' for norther hem, 'S' for southern hem -# LLLL = Abs(Longitude) * 10; integer value -# X = 'E' for eastern hem, 'W' for western hem -# TYP = Tropical cyclone storm id if this is a -# tropical cyclone (e.g., "12L", or "09W", etc). -# If this is one that the tracker instead "Found -# On the Fly (FOF)", we simply put those three -# "FOF" characters in there. - -d6ago_ymdh=$( ${NDATE:?} -6 ${PDY}${CYL}) -d6ago_4ymd=$( echo ${d6ago_ymdh} | cut -c1-8) -d6ago_ymd=$( echo ${d6ago_ymdh} | cut -c3-8) -d6ago_hh=$( echo ${d6ago_ymdh} | cut -c9-10) -d6ago_str="${d6ago_ymd} ${d6ago_hh}00" - -d6ahead_ymdh=$( ${NDATE:?} 6 ${PDY}${CYL}) -d6ahead_4ymd=$( echo ${d6ahead_ymdh} | cut -c1-8) -d6ahead_ymd=$( echo ${d6ahead_ymdh} | cut -c3-8) -d6ahead_hh=$( echo ${d6ahead_ymdh} | cut -c9-10) -d6ahead_str="${d6ahead_ymd} ${d6ahead_hh}00" - -syyyym6=$( echo ${d6ago_ymdh} | cut -c1-4) -smmm6=$( echo ${d6ago_ymdh} | cut -c5-6) -sddm6=$( echo ${d6ago_ymdh} | cut -c7-8) -shhm6=$( echo ${d6ago_ymdh} | cut -c9-10) - -syyyyp6=$( echo ${d6ahead_ymdh} | cut -c1-4) -smmp6=$( echo ${d6ahead_ymdh} | cut -c5-6) -sddp6=$( echo ${d6ahead_ymdh} | cut -c7-8) -shhp6=$( echo ${d6ahead_ymdh} | cut -c9-10) - -set +x -echo " " -echo " d6ago_str= --->${d6ago_str}<---" -echo " current_str= --->${current_str}<---" -echo " d6ahead_str= --->${d6ahead_str}<---" -echo " " -echo " for the times 6h ago, current and 6h ahead:" -echo " " -echo " " -${TRACE_ON:-set -x} - - touch ${DATA}/genvitals.upd.${cmodel}.${atcfout}.${PDY}${CYL} - - -#-----------------------------------------------------------------# -# -# ------ CUT APART INPUT GRIB FILES ------- -# -# For the selected model, cut apart the GRIB input files in order -# to pull out only the variables that we need for the tracker. -# Put these selected variables from all forecast hours into 1 big -# GRIB file that we'll use as input for the tracker. -# -#-----------------------------------------------------------------# - -set +x -echo " " -echo " -----------------------------------------" -echo " NOW CUTTING APART INPUT GRIB FILES TO " -echo " CREATE 1 BIG GRIB INPUT FILE " -echo " -----------------------------------------" -echo " " -${TRACE_ON:-set -x} - -regflag=$(grep NHC ${DATA}/vitals.upd.${atcfout}.${PDY}${CYL} | wc -l) - -# ---------------------------------------------------------------------- -find_gfile() { - # This subroutine finds an input file from a list of possible - # input filenames, and calls err_exit if no file is found. The - # first file found is returned. - - # Calling conventions: - # find_gfile GFS 30 /path/to/file1.master.pgrbq30.grib2 /path/to/file2.master.pgrbq030.grib2 ... - nicename="$1" - nicehour="$2" - shift 2 - gfile=none - echo "Searching for input $nicename data for forecast hour $nicehour" - ${TRACE_ON:-set -x} - now=$( date +%s ) - later=$(( now + wait_max_time )) - # Note: the loop has only one iteration if --wait-max-time is - # unspecified. That is because later=now - while [[ ! ( "$now" -gt "$later" ) ]] ; do - for gfile in "$@" ; do - if [[ ! -e "$gfile" ]] ; then - set +x - echo "$gfile: does not exist" - ${TRACE_ON:-set -x} - gfile=none - elif [[ ! -s "$gfile" ]] ; then - set +x - echo "$gfile: exists, but is empty" - ${TRACE_ON:-set -x} - gfile=none - else - set +x - echo "$gfile: exists, is non-empty, so I will use this file" - ${TRACE_ON:-set -x} - return 0 - fi - done - now=$( date +%s ) - if [[ "$gfile" == none ]] ; then - if [[ ! ( "$now" -lt "$later" ) ]] ; then - set +x - echo " " - echo " " - echo " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo " !!! $nicename missing for hour $nicehour" - echo " !!! Check for the existence of these file:" - for gfile in "$@" ; do - echo " !!! $nicename File: $gfile" - done - echo " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" - echo " " - ${TRACE_ON:-set -x} - err_exit "ERROR: mandatory input GFS file for hour $nicehour is missing or empty. Aborting. Checked for these files: $*" - continue - else - set +x - echo " " - echo " !!! Mandatory input $nicename missing for hour $nicehour" - echo " !!! Will retry after $sleep_time second sleep." - echo " !!! Checked these files:" - for gfile in "$@" ; do - echo " !!! $nicename File: $gfile" - done - echo " " - ${TRACE_ON:-set -x} - sleep $sleep_time - fi - fi - done -} - -# -------------------------------------------------- -# Process GFS or GDAS data -# -------------------------------------------------- -if [[ ${model} -eq 1 || $model == 8 ]] ; then - - export nest_type="fixed" - export trkrebd=360.0 - export trkrwbd=0.0 - export trkrnbd=85.0 - export trkrsbd=-85.0 - rundescr="xxxx" - atcfdescr="xxxx" - - - if [ $loopnum -eq 1 ] - then - - if [ -s ${DATA}/gfsgribfile.${PDY}${CYL} ] - then - rm ${DATA}/gfsgribfile.${PDY}${CYL} - fi - - rm ${DATA}/master.gfsgribfile.${PDY}${CYL}.f* - rm ${DATA}/gfsgribfile.${PDY}${CYL}.f* - >${DATA}/gfsgribfile.${PDY}${CYL} - - set +x - echo " " - echo "Time before gfs wgrib loop is $(date)" - echo " " - ${TRACE_ON:-set -x} - - if [[ "$model" -eq 8 ]] ; then - name=gdas - name1=gdas - nicename=GDAS - else # not model 8, so assume GFS - name=gfs - name1=gfs - nicename=GFS - fi - - for fhour in ${fcsthrs} ; do - fhour=$( echo "$fhour" | bc ) - - if [ ${fhour} -eq $bad_hour ] - then - continue - fi - - fhour00=$( printf %02d "$fhour" ) - fhour000=$( printf %03d "$fhour" ) - fhour0000=$( printf %03d "$fhour" ) - - if [[ "$gribver" == 1 ]] ; then - - find_gfile "$nicename" "$fhour" \ - ${gfsdir}/$name1.t${CYL}z.${flag_pgb}$fhour00 \ - ${gfsdir}/$name1.t${CYL}z.${flag_pgb}$fhour000 \ - ${gfsdir}/pgb${flag_pgb}$fhour00.$name.${symdh} \ - ${gfsdir}/pgrb${flag_pgb}$fhour00.$name.${symdh} - ${WGRIB:?} -s $gfile >gfs.ix - - for parm in ${wgrib_parmlist} - do - case ${parm} in - "SurfaceU") grep "UGRD:10 m " gfs.ix ;; - "SurfaceV") grep "VGRD:10 m " gfs.ix ;; - *) grep "${parm}" gfs.ix ;; - esac - done | ${WGRIB:?} -s $gfile -i -grib -append \ - -o ${DATA}/master.gfsgribfile.${PDY}${CYL}.f${fhour000} - - gfs_master_file=${DATA}/master.gfsgribfile.${PDY}${CYL}.f${fhour000} - gfs_converted_file=${DATA}/gfsgribfile.${PDY}${CYL}.f${fhour000} - gfs_cat_file=${DATA}/gfsgribfile.${PDY}${CYL} -# $cgb -g4 -i2 -x ${gfs_master_file} ${gfs_converted_file} -# cat ${gfs_converted_file} >>${gfs_cat_file} - cat ${gfs_master_file} >>${gfs_cat_file} - - else # gribver is not 1, so assume GRIB2 - - find_gfile "$nicename" "$fhour" \ - ${gfsdir}/$name1.t${CYL}z.pgrb2.0p25.f${fhour000} \ - ${gfsdir}/$name1.t${CYL}z.pgrb2.0p25.f${fhour00} \ - ${gfsdir}/pgb${flag_pgb}$fhour00.$name.${symdh}.grib2 \ - ${gfsdir}/pgrb${flag_pgb}${fhour000}.$name.${symdh}.grib2 - ${WGRIB2:?} -s $gfile >gfs.ix - - for parm in ${wgrib_parmlist} - do - case ${parm} in - "SurfaceU") grep "UGRD:10 m " gfs.ix ;; - "SurfaceV") grep "VGRD:10 m " gfs.ix ;; - *) grep "${parm}" gfs.ix ;; - esac - done | ${WGRIB2:?} -i $gfile -append -grib \ - ${DATA}/master.gfsgribfile.${PDY}${CYL}.f${fhour000} - - gfs_master_file=${DATA}/master.gfsgribfile.${PDY}${CYL}.f${fhour000} - gfs_converted_file=${DATA}/gfsgribfile.${PDY}${CYL}.f${fhour000} - gfs_cat_file=${DATA}/gfsgribfile.${PDY}${CYL} - - ${GRB2INDEX:?} ${gfs_master_file} ${gfs_master_file}.ix - - g1=${gfs_master_file} - x1=${gfs_master_file}.ix - -# grid4="0 6 0 0 0 0 0 0 720 361 0 0 90000000 0 48 -90000000 359500000 500000 500000 0" -# $cgb2 -g "${grid4}" ${g1} ${x1} ${gfs_converted_file} -# cat ${gfs_converted_file} >>${gfs_cat_file} - - cat ${gfs_master_file} >>${gfs_cat_file} - - fi - - done - - if [ ${gribver} -eq 1 ]; then - ${GRBINDEX:?} ${DATA}/gfsgribfile.${PDY}${CYL} ${DATA}/gfsixfile.${PDY}${CYL} - else - ${GRB2INDEX:?} ${DATA}/gfsgribfile.${PDY}${CYL} ${DATA}/gfsixfile.${PDY}${CYL} - fi - -# -------------------------------------------- - - if [[ "$PhaseFlag" == y ]] ; then - - catfile=${DATA}/gfs.${PDY}${CYL}.catfile - >${catfile} - - for fhour in ${fcsthrs} - do - - - fhour=$( echo "$fhour" | bc ) - - if [ ${fhour} -eq $bad_hour ] - then - continue - fi - - fhour00=$( printf %02d "$fhour" ) - fhour000=$( printf %03d "$fhour" ) - fhour0000=$( printf %03d "$fhour" ) - - set +x - echo " " - echo "Date in interpolation for model= $cmodel and fhour= $fhour000 before = $(date)" - echo " " - ${TRACE_ON:-set -x} - - gfile=${DATA}/gfsgribfile.${PDY}${CYL} - ifile=${DATA}/gfsixfile.${PDY}${CYL} - - if [ ${gribver} -eq 1 ]; then - ${GRBINDEX:?} $gfile $ifile - else - ${GRB2INDEX:?} $gfile $ifile - fi - - gparm=7 - namelist=${DATA}/vint_input.${PDY}${CYL}.z - echo "&timein ifcsthour=${fhour000}," >${namelist} - echo " iparm=${gparm}," >>${namelist} - echo " gribver=${gribver}," >>${namelist} - echo " g2_jpdtn=${g2_jpdtn}/" >>${namelist} - - ln -s -f ${gfile} fort.11 - ln -s -f ${FIXRELO}/gfs_hgt_levs.txt fort.16 - ln -s -f ${ifile} fort.31 - ln -s -f ${DATA}/${cmodel}.${PDY}${CYL}.z.f${fhour000} fort.51 - - ${exectrkdir}/vint.x <${namelist} - rcc1=$? - - - gparm=11 - namelist=${DATA}/vint_input.${PDY}${CYL}.t - echo "&timein ifcsthour=${fhour000}," >${namelist} - echo " iparm=${gparm}," >>${namelist} - echo " gribver=${gribver}," >>${namelist} - echo " g2_jpdtn=${g2_jpdtn}/" >>${namelist} - - ln -s -f ${gfile} fort.11 - ln -s -f ${FIXRELO}/gfs_tmp_levs.txt fort.16 - ln -s -f ${ifile} fort.31 - ln -s -f ${DATA}/${cmodel}.${PDY}${CYL}.t.f${fhour000} fort.51 - - ${exectrkdir}/vint.x <${namelist} - rcc2=$? - - namelist=${DATA}/tave_input.${PDY}${CYL} - echo "&timein ifcsthour=${fhour000}," >${namelist} - echo " iparm=${gparm}," >>${namelist} - echo " gribver=${gribver}," >>${namelist} - echo " g2_jpdtn=${g2_jpdtn}/" >>${namelist} - - ffile=${DATA}/${cmodel}.${PDY}${CYL}.t.f${fhour000} - ifile=${DATA}/${cmodel}.${PDY}${CYL}.t.f${fhour000}.i - - if [ ${gribver} -eq 1 ]; then - ${GRBINDEX:?} ${ffile} ${ifile} - else - ${GRB2INDEX:?} ${ffile} ${ifile} - fi - - ln -s -f ${ffile} fort.11 - ln -s -f ${ifile} fort.31 - ln -s -f ${DATA}/${cmodel}.tave.${PDY}${CYL}.f${fhour000} fort.51 - ln -s -f ${DATA}/${cmodel}.tave92.${PDY}${CYL}.f${fhour000} fort.92 - - ${exectrkdir}/tave.x <${namelist} - rcc3=$? - - if [ $rcc1 -eq 0 -a $rcc2 -eq 0 -a $rcc3 -eq 0 ]; then - echo " " - else - mailfile=${rundir}/errmail.${cmodel}.${PDY}${CYL} - echo "CPS/WC interp failure for $cmodel ${PDY}${CYL}" >${mailfile} - mail -s "GFS Failure (CPS/WC int) $cmodel ${PDY}${CYL}" ${userid} <${mailfile} - exit 8 - fi - - tavefile=${DATA}/${cmodel}.tave.${PDY}${CYL}.f${fhour000} - zfile=${DATA}/${cmodel}.${PDY}${CYL}.z.f${fhour000} - cat ${zfile} ${tavefile} >>${catfile} -## rm $tavefile $zfile - - set +x - echo " " - echo "Date in interpolation for cmodel= $cmodel and fhour= $fhour000 after = $(date)" - echo " " - ${TRACE_ON:-set -x} - - done - fi # end of "If PhaseFlag is on" - fi # end of "If loopnum is 1" - - gfile=${DATA}/gfsgribfile.${PDY}${CYL} - ifile=${DATA}/gfsixfile.${PDY}${CYL} - - if [[ "$PhaseFlag" == y ]] ; then - cat ${catfile} >>${gfile} - if [ ${gribver} -eq 1 ]; then - ${GRBINDEX:?} ${gfile} ${ifile} - else - ${GRB2INDEX:?} ${gfile} ${ifile} - fi - fi - - # File names for input to tracker: - gribfile=${DATA}/gfsgribfile.${PDY}${CYL} - ixfile=${DATA}/gfsixfile.${PDY}${CYL} -fi - -echo "SUCCESS: have all inputs needed to run tracker. Will now run the tracker." - -#------------------------------------------------------------------------# -# Now run the tracker # -#------------------------------------------------------------------------# - -ist=1 -while [ $ist -le 15 ] -do - if [ ${stormflag[${ist}]} -ne 1 ] - then - set +x; echo "Storm number $ist NOT selected for processing"; ${TRACE_ON:-set -x} - else - set +x; echo "Storm number $ist IS selected for processing...."; ${TRACE_ON:-set -x} - fi - let ist=ist+1 -done - -namelist=${DATA}/input.${atcfout}.${PDY}${CYL} -ATCFNAME=$( echo "${atcfname}" | tr '[a-z]' '[A-Z]') - -if [ ${cmodel} = 'sref' ]; then - export atcfymdh=$( ${NDATE:?} -3 ${scc}${syy}${smm}${sdd}${shh}) -else - export atcfymdh=${scc}${syy}${smm}${sdd}${shh} -fi - -contour_interval=100.0 -write_vit=n -want_oci=.TRUE. - -cat < ${namelist} -&datein inp%bcc=${scc},inp%byy=${syy},inp%bmm=${smm}, - inp%bdd=${sdd},inp%bhh=${shh},inp%model=${model}, - inp%modtyp='${modtyp}', - inp%lt_units='${lead_time_units}', - inp%file_seq='${file_sequence}', - inp%nesttyp='${nest_type}'/ -&atcfinfo atcfnum=${atcfnum},atcfname='${ATCFNAME}', - atcfymdh=${atcfymdh},atcffreq=${atcffreq}/ -&trackerinfo trkrinfo%westbd=${trkrwbd}, - trkrinfo%eastbd=${trkrebd}, - trkrinfo%northbd=${trkrnbd}, - trkrinfo%southbd=${trkrsbd}, - trkrinfo%type='${trkrtype}', - trkrinfo%mslpthresh=${mslpthresh}, - trkrinfo%v850thresh=${v850thresh}, - trkrinfo%gridtype='${modtyp}', - trkrinfo%contint=${contour_interval}, - trkrinfo%want_oci=${want_oci}, - trkrinfo%out_vit='${write_vit}', - trkrinfo%gribver=${gribver}, - trkrinfo%g2_jpdtn=${g2_jpdtn}/ -&phaseinfo phaseflag='${PHASEFLAG}', - phasescheme='${PHASE_SCHEME}', - wcore_depth=${WCORE_DEPTH}/ -&structinfo structflag='${STRUCTFLAG}', - ikeflag='${IKEFLAG}'/ -&fnameinfo gmodname='${atcfname}', - rundescr='${rundescr}', - atcfdescr='${atcfdescr}'/ -&verbose verb=3/ -&waitinfo use_waitfor='n', - wait_min_age=10, - wait_min_size=100, - wait_max_wait=1800, - wait_sleeptime=5, - per_fcst_command=''/ -EOF - -export pgm=gettrk -. $prep_step - -ln -s -f ${gribfile} fort.11 -ln -s -f ${DATA}/vitals.upd.${atcfout}.${PDY}${shh} fort.12 -ln -s -f ${DATA}/genvitals.upd.${cmodel}.${atcfout}.${PDY}${CYL} fort.14 -ihour=1 -for fhour in ${fcsthrs} ; do - fhour=$( echo "$fhour" | bc ) # strip leading zeros - printf "%4d %5d\n" $ihour $(( fhour * 60 )) - let ihour=ihour+1 -done > leadtimes.txt -ln -s -f leadtimes.txt fort.15 -#ln -s -f ${FIXRELO}/${cmodel}.tracker_leadtimes fort.15 -ln -s -f ${ixfile} fort.31 - -if [[ -z "$atcfout" ]] ; then - err_exit 'ERROR: exgfs_trkr script forgot to set $atcfout variable' -fi - -track_file_path=nowhere - -if [ ${trkrtype} = 'tracker' ]; then - if [ ${atcfout} = 'gfdt' -o ${atcfout} = 'gfdl' -o \ - ${atcfout} = 'hwrf' -o ${atcfout} = 'hwft' ]; then - ln -s -f ${DATA}/trak.${atcfout}.all.${stormenv}.${PDY}${CYL} fort.61 - ln -s -f ${DATA}/trak.${atcfout}.atcf.${stormenv}.${PDY}${CYL} fort.62 - ln -s -f ${DATA}/trak.${atcfout}.radii.${stormenv}.${PDY}${CYL} fort.63 - ln -s -f ${DATA}/trak.${atcfout}.atcf_gen.${stormenv}.${PDY}${CYL} fort.66 - ln -s -f ${DATA}/trak.${atcfout}.atcf_sink.${stormenv}.${PDY}${CYL} fort.68 - ln -s -f ${DATA}/trak.${atcfout}.atcf_hfip.${stormenv}.${PDY}${CYL} fort.69 - track_file_path=${DATA}/trak.${atcfout}.atcfunix.${stormenv}.${PDY}${CYL} - else - ln -s -f ${DATA}/trak.${atcfout}.all.${PDY}${CYL} fort.61 - ln -s -f ${DATA}/trak.${atcfout}.atcf.${PDY}${CYL} fort.62 - ln -s -f ${DATA}/trak.${atcfout}.radii.${PDY}${CYL} fort.63 - ln -s -f ${DATA}/trak.${atcfout}.atcf_gen.${PDY}${CYL} fort.66 - ln -s -f ${DATA}/trak.${atcfout}.atcf_sink.${PDY}${CYL} fort.68 - ln -s -f ${DATA}/trak.${atcfout}.atcf_hfip.${PDY}${CYL} fort.69 - track_file_path=${DATA}/trak.${atcfout}.atcfunix.${PDY}${CYL} - fi -else - ln -s -f ${DATA}/trak.${atcfout}.all.${regtype}.${PDY}${CYL} fort.61 - ln -s -f ${DATA}/trak.${atcfout}.atcf.${regtype}.${PDY}${CYL} fort.62 - ln -s -f ${DATA}/trak.${atcfout}.radii.${regtype}.${PDY}${CYL} fort.63 - ln -s -f ${DATA}/trak.${atcfout}.atcf_gen.${regtype}.${PDY}${CYL} fort.66 - ln -s -f ${DATA}/trak.${atcfout}.atcf_sink.${regtype}.${PDY}${CYL} fort.68 - ln -s -f ${DATA}/trak.${atcfout}.atcf_hfip.${regtype}.${PDY}${CYL} fort.69 - track_file_path=${DATA}/trak.${atcfout}.atcfunix.${regtype}.${PDY}${CYL} -fi - -if [[ "$track_file_path" == nowhere ]] ; then - err_exit 'ERROR: exgfs_trkr script forgot to set $track_file_path variable' -fi - -ln -s -f $track_file_path fort.64 - -if [ ${atcfname} = 'aear' ] -then - ln -s -f ${DATA}/trak.${atcfout}.initvitl.${PDY}${CYL} fort.65 -fi - -if [ ${write_vit} = 'y' ] -then - ln -s -f ${DATA}/output_genvitals.${atcfout}.${PDY}${shh} fort.67 -fi - -if [ ${PHASEFLAG} = 'y' ]; then - if [ ${atcfout} = 'gfdt' -o ${atcfout} = 'gfdl' -o \ - ${atcfout} = 'hwrf' -o ${atcfout} = 'hwft' ]; then - ln -s -f ${DATA}/trak.${atcfout}.cps_parms.${stormenv}.${PDY}${CYL} fort.71 - else - ln -s -f ${DATA}/trak.${atcfout}.cps_parms.${PDY}${CYL} fort.71 - fi -fi - -if [ ${STRUCTFLAG} = 'y' ]; then - if [ ${atcfout} = 'gfdt' -o ${atcfout} = 'gfdl' -o \ - ${atcfout} = 'hwrf' -o ${atcfout} = 'hwft' ]; then - ln -s -f ${DATA}/trak.${atcfout}.structure.${stormenv}.${PDY}${CYL} fort.72 - ln -s -f ${DATA}/trak.${atcfout}.fractwind.${stormenv}.${PDY}${CYL} fort.73 - ln -s -f ${DATA}/trak.${atcfout}.pdfwind.${stormenv}.${PDY}${CYL} fort.76 - else - ln -s -f ${DATA}/trak.${atcfout}.structure.${PDY}${CYL} fort.72 - ln -s -f ${DATA}/trak.${atcfout}.fractwind.${PDY}${CYL} fort.73 - ln -s -f ${DATA}/trak.${atcfout}.pdfwind.${PDY}${CYL} fort.76 - fi -fi - -if [ ${IKEFLAG} = 'y' ]; then - if [ ${atcfout} = 'gfdt' -o ${atcfout} = 'gfdl' -o \ - ${atcfout} = 'hwrf' -o ${atcfout} = 'hwft' ]; then - ln -s -f ${DATA}/trak.${atcfout}.ike.${stormenv}.${PDY}${CYL} fort.74 - else - ln -s -f ${DATA}/trak.${atcfout}.ike.${PDY}${CYL} fort.74 - fi -fi - -if [ ${trkrtype} = 'midlat' -o ${trkrtype} = 'tcgen' ]; then - ln -s -f ${DATA}/trkrmask.${atcfout}.${regtype}.${PDY}${CYL} fort.77 -fi - - -set +x -echo " " -echo " -----------------------------------------------" -echo " NOW EXECUTING TRACKER......" -echo " -----------------------------------------------" -echo " " -${TRACE_ON:-set -x} - -echo "$pgm start for $atcfout at ${CYL}z" - -set +x -echo "+++ TIMING: BEFORE gettrk ---> $(date)" -${TRACE_ON:-set -x} - -set +x -echo " " -echo "TIMING: Before call to gettrk at $(date)" -echo " " -${TRACE_ON:-set -x} - -##/usrx/local/bin/getrusage -a /hwrf/save/Qingfu.Liu/trak/para/exec/gettrk <${namelist} - -${exectrkdir}/gettrk <${namelist} | tee gettrk.log -gettrk_rcc=$? - -set +x -echo " " -echo "TIMING: After call to gettrk at $(date)" -echo " " -${TRACE_ON:-set -x} - -set +x -echo "+++ TIMING: AFTER gettrk ---> $(date)" -${TRACE_ON:-set -x} - -#--------------------------------------------------------------# -# Echo a message for each storm that used -# tcvitals for hour 0 track/intensity info. -#--------------------------------------------------------------# - -pcount=0 -cat gettrk.log | grep -a 'NOTE: TCVITALS_USED_FOR_ATCF_F00' | \ -while read line -do - echo "line is [$line]" - if [[ ! ( "$pcount" -lt 30 ) ]] ; then - echo "Hit maximum number of echo commands for tcvitals usage at hour 0. Will stop warning about that." - break - fi - echo "$line" - pcount=$(( pcount + 1 )) -done - -#--------------------------------------------------------------# -# Now copy the output track files to different directories -#--------------------------------------------------------------# - -set +x -echo " " -echo " -----------------------------------------------" -echo " NOW COPYING OUTPUT TRACK FILES TO COM " -echo " -----------------------------------------------" -echo " " -${TRACE_ON:-set -x} - -if [[ ! -e "$track_file_path" ]] ; then - echo "WARNING: tracker output file does not exist. This is probably an error. File: $track_file_path" - echo "WARNING: exgfs_trkr will create an empty track file and deliver that." - cat /dev/null > $track_file_path -elif [[ ! -s "$track_file_path" ]] ; then - echo "WARNING: tracker output file is empty. That is only an error if there are storms or genesis cases somewhere in the world. File: $track_file_path" -else - echo "SUCCESS: Track file exists and is non-empty: $track_file" - if [[ "$PHASEFLAG" == n ]] ; then - echo "Phase information was disabled. I will remove the empty phase information from the track file before delivery." - cp -p $track_file_path $track_file_path.orig - cut -c1-112 < $track_file_path.orig > $track_file_path - if [[ ! -s "$track_file_path" ]] ; then - echo "WARNING: Something went wrong with \"cut\" command to remove phase information. Will deliver original file." - /bin/mv -f $track_file_path.orig $track_file_path - else - echo "SUCCESS: Removed empty phase information because phase information is disabled." - fi - fi -fi - -#mkdir /global/save/Qingfu.Liu/gfspara_track/gfs.${PDY}${CYL} -#cp /ptmpp1/Qingfu.Liu/trakout2/${PDY}${CYL}/gfs/trak.gfso.atcf* /global/save/Qingfu.Liu/gfspara_track/gfs.${PDY}${CYL}/. -#rm -rf /ptmpp1/Qingfu.Liu/trakout2/${PDY}${CYL}/gfs/* - -if [ ${gettrk_rcc} -eq 0 ]; then - - if [ -s ${DATA}/output_genvitals.${atcfout}.${PDY}${shh} ]; then - cat ${DATA}/output_genvitals.${atcfout}.${PDY}${shh} >>${genvitfile} - fi - - if [ ${PARAFLAG} = 'YES' ] - then - - if [[ ! -s "$track_file_path" ]] ; then - echo "WARNING: delivering empty track file to rundir." - fi - - cp $track_file_path ../. - cat $track_file_path >> \ - ${rundir}/${cmodel}.atcfunix.${syyyy} - if [ ${cmodel} = 'gfs' ]; then - cat ${rundir}/${cmodel}.atcfunix.${syyyy} | sed -e "s/ GFSO/ AVNO/g" >>${rundir}/avn.atcfunix.${syyyy} - fi -# cp ${DATA}/trak.${atcfout}.atcf_sink.${regtype}.${PDY}${CYL} ../. -# cp ${DATA}/trak.${atcfout}.atcf_gen.${regtype}.${PDY}${CYL} ../. - fi - - echo "$pgm end for $atcfout at ${CYL}z completed normally" - -# Now copy track files into various archives.... - - if [ ${SENDCOM} = 'YES' ] - then - - if [[ ! -s "$track_file_path" ]] ; then - echo "WARNING: delivering an empty track file to COM." - return - fi - - glatuxarch=${glatuxarch:-${gltrkdir}/tracks.atcfunix.${syy}} - - cat $track_file_path >>${glatuxarch} - if [ ${cmodel} = 'gfs' ]; then - cat $track_file_path | sed -e "s/ GFSO/ AVNO/g" >>${glatuxarch} - fi - - if [ ${PARAFLAG} = 'YES' ] - then - echo " " - tmatuxarch=${tmatuxarch:-/gpfs/gd2/emc/hwrf/save/${userid}/trak/prod/tracks.atcfunix.${syy}} - cat $track_file_path >>${tmatuxarch} - if [ ${cmodel} = 'gfs' ]; then - cat $track_file_path | sed -e "s/ GFSO/ AVNO/g" >>${tmatuxarch} - fi - else - - if [ ${cmodel} = 'gfdl' ] - then - cp $track_file_path ${COM}/${stormenv}.${PDY}${CYL}.trackeratcfunix - else - cp $track_file_path ${COM}/${atcfout}.t${CYL}z.cyclone.trackatcfunix - if [ ${cmodel} = 'gfs' ]; then - cat $track_file_path | sed -e "s/ GFSO/ AVNO/g" >${COM}/avn.t${CYL}z.cyclone.trackatcfunix - fi - fi - - tmscrdir=/gpfs/gd2/emc/hwrf/save/${userid}/trak/prod - - tmtrakstat=${tmscrdir}/tracker.prod.status - echo "${atcfout} tracker completed okay for ${PDY}${CYL}" >>${tmtrakstat} - - export SENDDBN=${SENDDBN:-YES} - if [ ${SENDDBN} = 'YES' ] - then - if [ ${cmodel} = 'gfdl' ] - then - $DBNROOT/bin/dbn_alert ATCFUNIX GFS_NAVY $job ${COM}/${stormenv}.${PDY}${CYL}.trackeratcfunix - else - $DBNROOT/bin/dbn_alert ATCFUNIX GFS_NAVY $job ${COM}/${atcfout}.t${CYL}z.cyclone.trackatcfunix - if [ ${cmodel} = 'gfs' ]; then - $DBNROOT/bin/dbn_alert ATCFUNIX GFS_NAVY $job ${COM}/avn.t${CYL}z.cyclone.trackatcfunix - fi - fi - fi - - if [[ "$SENDNHC" == YES ]] ; then - # We need to parse apart the atcfunix file and distribute the forecasts to - # the necessary directories. To do this, first sort the atcfunix records - # by forecast hour (k6), then sort again by ocean basin (k1), storm number (k2) - # and then quadrant radii wind threshold (k12). Once you've got that organized - # file, break the file up by putting all the forecast records for each storm - # into a separate file. Then, for each file, find the corresponding atcfunix - # file in the /nhc/com/prod/atcf directory and dump the atcfunix records for that - # storm in there. - - if [ ${cmodel} = 'gfdl' ] - then - auxfile=${COM}/${stormenv}.${PDY}${CYL}.trackeratcfunix - else - auxfile=$track_file_path - fi - - sort -k6 ${auxfile} | sort -k1 -k2 -k12 >atcfunix.sorted - - old_string="XX, XX" - - ict=0 - while read unixrec - do - storm_string=$( echo "${unixrec}" | cut -c1-6) - if [ "${storm_string}" = "${old_string}" ] - then - echo "${unixrec}" >>atcfunix_file.${ict} - else - let ict=ict+1 - echo "${unixrec}" >atcfunix_file.${ict} - old_string="${storm_string}" - fi - done >${ATCFdir}/${at}${NO}${syyyy}/a${at}${NO}${syyyy}.dat - cat atcfunix_file.$mct >>${ATCFdir}/${at}${NO}${syyyy}/a${at}${NO}${syyyy}.dat - cat atcfunix_file.$mct >>${ATCFdir}/${at}${NO}${syyyy}/ncep_a${at}${NO}${syyyy}.dat - if [ ${cmodel} = 'gfs' ]; then - cat atcfunix_file.$mct | sed -e "s/ GFSO/ AVNO/g" >>${ATCFdir}/${at}${NO}${syyyy}/a${at}${NO}${syyyy}.dat - cat atcfunix_file.$mct | sed -e "s/ GFSO/ AVNO/g" >>${ATCFdir}/${at}${NO}${syyyy}/ncep_a${at}${NO}${syyyy}.dat - fi - set +x - echo " " - echo "+++ Adding records to TPC ATCFUNIX directory: /tpcprd/atcf_unix/${at}${NO}${syyyy}" - echo " " - ${TRACE_ON:-set -x} - else - set +x - echo " " - echo "There is no TPC ATCFUNIX directory for: /tpcprd/atcf_unix/${at}${NO}${syyyy}" - ${TRACE_ON:-set -x} - fi - done - fi - fi - fi - - fi - -else - - if [ ${PARAFLAG} = 'YES' ] - then - echo " " - else - tmtrakstat=/gpfs/gd2/emc/hwrf/save/${userid}/trak/prod/tracker.prod.status - echo "ERROR: ${atcfout} tracker FAILED for ${PDY}${CYL}" >>${tmtrakstat} - fi - - set +x - echo " " - echo "!!! ERROR -- An error occurred while running gettrk.x, " - echo "!!! which is the program that actually gets the track." - echo "!!! Return code from gettrk.x = ${gettrk_rcc}" - echo "!!! model= ${atcfout}, forecast initial time = ${PDY}${CYL}" - echo "!!! Exiting...." - echo " " - ${TRACE_ON:-set -x} - err_exit " FAILED ${jobid} - ERROR RUNNING GETTRK IN TRACKER SCRIPT- ABNORMAL EXIT" - -fi From cd2543e1a97ba329dcee702227ee0fb01edfd508 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 22 Sep 2022 09:49:10 -0500 Subject: [PATCH 65/78] Add analcalc to Hera and Orion env files - Similar to a change made in WCOSS2.env, update the if-check for the "anal" job in env files for Hera and Orion to include "analcalc". - The analcalc job needs to source the same settings as the anal job. Refs #419 --- env/HERA.env | 2 +- env/ORION.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/env/HERA.env b/env/HERA.env index 51a7c85a33..7c9cfd4aa0 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -86,7 +86,7 @@ elif [ $step = "aeroanlrun" ]; then [[ $NTHREADS_AEROANL -gt $nth_max ]] && export NTHREADS_AEROANL=$nth_max export APRUN_AEROANL="$launcher -n $npe_aeroanlrun" -elif [ $step = "anal" ]; then +elif [ $step = "anal" -o $step = "analcalc" ]; then export MKL_NUM_THREADS=4 export MKL_CBWR=AUTO diff --git a/env/ORION.env b/env/ORION.env index 8dc267631f..6c5883dae1 100755 --- a/env/ORION.env +++ b/env/ORION.env @@ -85,7 +85,7 @@ elif [ $step = "aeroanlrun" ]; then [[ $NTHREADS_AEROANL -gt $nth_max ]] && export NTHREADS_AEROANL=$nth_max export APRUN_AEROANL="$launcher -n $npe_aeroanlrun" -elif [ $step = "anal" ]; then +elif [ $step = "anal" -o $step = "analcalc" ]; then export MKL_NUM_THREADS=4 export MKL_CBWR=AUTO From 9e57c9979295734b23e91ffbc3286b8165f23e97 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Thu, 22 Sep 2022 12:26:46 -0500 Subject: [PATCH 66/78] Reverting Fit2Obs updates - will do separately Refs #419 --- jobs/rocoto/vrfy.sh | 9 +-------- parm/config/config.vrfy | 16 ++++++---------- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/jobs/rocoto/vrfy.sh b/jobs/rocoto/vrfy.sh index 84dca8304f..584961e7ff 100755 --- a/jobs/rocoto/vrfy.sh +++ b/jobs/rocoto/vrfy.sh @@ -92,14 +92,7 @@ if [ $VRFYFITS = "YES" -a $CDUMP = $CDFNL -a $CDATE != $SDATE ]; then export TMPDIR="$RUNDIR/$CDATE/$CDUMP" [[ ! -d $TMPDIR ]] && mkdir -p $TMPDIR - export xdate=$($NDATE -${VBACKUP_FITS} $CDATE) - - export vday=$(echo $xdate | cut -c1-8) - export vcyc=$(echo $xdate | cut -c9-10) - export COMDAY=$ROTDIR/logs/$xdate - export COM_INA=$ROTDIR/gdas.$vday/$vcyc/atmos - export COM_INF='$ROTDIR/vrfyarch/gfs.$fdy/$fzz' - export COM_PRP='$ROTDIR/gdas.$pdy/$cyc/atmos' + xdate=$($NDATE -${VBACKUP_FITS} $CDATE) export RUN_ENVIR_SAVE=$RUN_ENVIR export RUN_ENVIR=$OUTPUT_FILE diff --git a/parm/config/config.vrfy b/parm/config/config.vrfy index cdf4dde670..bed065a128 100755 --- a/parm/config/config.vrfy +++ b/parm/config/config.vrfy @@ -28,27 +28,23 @@ export RUNMOS="NO" # whether to run entire MOS package if [ $VRFYFITS = "YES" ]; then - export fit_ver="newm.1.5" - export fitdir="$BASE_GIT/Fit2Obs/${fit_ver}/batrun" + export fit_ver="newm.1.3" + export fitdir="$BASE_GIT/verif/global/Fit2Obs/${fit_ver}/batrun" export PRVT=$HOMEgfs/fix/fix_gsi/prepobs_errtable.global export HYBLEVS=$HOMEgfs/fix/fix_am/global_hyblev.l${LEVS}.txt export CUE2RUN=$QUEUE export VBACKUP_FITS=24 - export RUN_ENVIR=netcdf - export CONVNETC="YES" - export ACPROFit="YES" + export CONVNETC="NO" if [ ${netcdf_diag:-".false."} = ".true." ]; then export CONVNETC="YES" fi - if [ $machine = "WCOSS2" ]; then - export PREPQFITSH="$fitdir/subfits_wcoss2" - elif [ $machine = "HERA" ]; then - export PREPQFITSH="$fitdir/subfits_hera" + if [ $machine = "HERA" ]; then + export PREPQFITSH="$fitdir/subfits_hera_slurm" elif [ $machine = "ORION" ]; then - export PREPQFITSH="$fitdir/subfits_orion" + export PREPQFITSH="$fitdir/subfits_orion_netcdf" else echo "Fit2Obs NOT supported on this machine" fi From 90a930b001efaeefa61e50884e57719c0659b48a Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Mon, 26 Sep 2022 09:50:37 -0500 Subject: [PATCH 67/78] Update config.resources for analcalc Add needed settings into analcalc block of config.resources: - add "ntasks=$npe_analcalc" - add echgres variables: nth_echgres, nth_echgres_gfs Refs #419 --- parm/config/config.resources | 3 +++ 1 file changed, 3 insertions(+) diff --git a/parm/config/config.resources b/parm/config/config.resources index b69e87b800..b723b57916 100755 --- a/parm/config/config.resources +++ b/parm/config/config.resources @@ -220,7 +220,10 @@ elif [ $step = "analcalc" ]; then export wtime_analcalc="00:10:00" export npe_analcalc=127 + export ntasks=$npe_analcalc export nth_analcalc=1 + export nth_echgres=4 + export nth_echgres_gfs=12 export npe_node_analcalc=$npe_node_max elif [ $step = "analdiag" ]; then From c992555b476c221cb50f69a38603d64a57b2cbd3 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 17:55:48 +0000 Subject: [PATCH 68/78] Back out obsproc updates, do in separate PR Refs #419 --- jobs/rocoto/prep.sh | 2 +- parm/config/config.base.emc.dyn | 5 +++-- parm/config/config.base.nco.static | 4 +++- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/jobs/rocoto/prep.sh b/jobs/rocoto/prep.sh index 7715dd4904..7d22adc7aa 100755 --- a/jobs/rocoto/prep.sh +++ b/jobs/rocoto/prep.sh @@ -109,7 +109,7 @@ if [ $DO_MAKEPREPBUFR = "YES" ]; then export MAKE_NSSTBUFR="NO" fi - $HOMEobsproc/jobs/JOBSPROC_GLOBAL_PREP + $HOMEobsproc_network/jobs/JGLOBAL_PREP status=$? [[ $status -ne 0 ]] && exit $status diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index a11693d628..59ab21259f 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -77,8 +77,9 @@ export MODE="@MODE@" # cycled/forecast-only export FIXgsi="$HOMEgfs/fix/fix_gsi" export HOMEfv3gfs="$HOMEgfs/sorc/fv3gfs.fd" export HOMEpost="$HOMEgfs" -#export HOMEobsproc="$BASE_GIT/obsproc/v1.1.0" -export HOMEobsproc="$BASE_GIT/obsproc/v1.0.2" +export HOMEobsproc_prep="$BASE_GIT/obsproc/obsproc_prep.v5.5.0_hpc-stack" +export HOMEobsproc_network="$BASE_GIT/obsproc/obsproc_global.v3.4.2_hpc-stack" +export HOMEobsproc_global=$HOMEobsproc_network # CONVENIENT utility scripts and other environment parameters export NCP="/bin/cp -p" diff --git a/parm/config/config.base.nco.static b/parm/config/config.base.nco.static index 4fdb83d568..ca3b6680e1 100755 --- a/parm/config/config.base.nco.static +++ b/parm/config/config.base.nco.static @@ -65,7 +65,9 @@ export REALTIME="YES" export FIXgsi="$HOMEgfs/fix/fix_gsi" export HOMEfv3gfs="$HOMEgfs/sorc/fv3gfs.fd" export HOMEpost="$HOMEgfs" -export HOMEobsproc="/lfs/h1/ops/prod/packages/obsproc.v1.1.0" +export HOMEobsproc_prep="$NWPROD/obsproc_prep.v5.5.0" +export HOMEobsproc_network="$NWPROD/obsproc_global.v3.4.2" +export HOMEobsproc_global=$HOMEobsproc_network # CONVENIENT utility scripts and other environment parameters export NCP="/bin/cp -p" From 3583444a4e5cb2ec48b5143dff89c8b1e973af52 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 17:57:00 +0000 Subject: [PATCH 69/78] Updates for COMINsyn in supported platforms - Change COMROOT/comroot back to prior path on Hera. - Add cominsyn to setup_expt.py and hosts files to set COMINsyn in config.base[.emc.dyn] on supported platforms. - When syndat is added to ops mirror to Hera change comroot to new mirror location to get syndat. Refs #419 --- workflow/hosts/hera.yaml | 3 ++- workflow/hosts/orion.yaml | 1 + workflow/hosts/wcoss2.yaml | 1 + workflow/setup_expt.py | 1 + 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/workflow/hosts/hera.yaml b/workflow/hosts/hera.yaml index 118404b2bb..372af486c5 100644 --- a/workflow/hosts/hera.yaml +++ b/workflow/hosts/hera.yaml @@ -2,7 +2,8 @@ base_git: '/scratch1/NCEPDEV/global/glopara/git' base_svn: '/scratch1/NCEPDEV/global/glopara/svn' dmpdir: '/scratch1/NCEPDEV/global/glopara/dump' packageroot: '/scratch1/NCEPDEV/global/glopara/nwpara' -comroot: '/scratch1/NCEPDEV/rstprod/prod/com' +comroot: '/scratch1/NCEPDEV/global/glopara/com' +cominsyn: '${COMROOT}/gfs/prod/syndat' homedir: '/scratch1/NCEPDEV/global/$USER' stmp: '/scratch1/NCEPDEV/stmp2/$USER' ptmp: '/scratch1/NCEPDEV/stmp4/$USER' diff --git a/workflow/hosts/orion.yaml b/workflow/hosts/orion.yaml index db28e861cd..6d5be757d6 100644 --- a/workflow/hosts/orion.yaml +++ b/workflow/hosts/orion.yaml @@ -3,6 +3,7 @@ base_svn: '/work/noaa/global/glopara/svn' dmpdir: '/work/noaa/rstprod/dump' packageroot: '/work/noaa/global/glopara/nwpara' comroot: '/work/noaa/global/glopara/com' +cominsyn: '${COMROOT}/gfs/prod/syndat' homedir: '/work/noaa/global/$USER' stmp: '/work/noaa/stmp/$USER' ptmp: '/work/noaa/stmp/$USER' diff --git a/workflow/hosts/wcoss2.yaml b/workflow/hosts/wcoss2.yaml index 4c7653462f..f68ac9ac8a 100644 --- a/workflow/hosts/wcoss2.yaml +++ b/workflow/hosts/wcoss2.yaml @@ -3,6 +3,7 @@ base_svn: '/lfs/h2/emc/global/save/emc.global/git' dmpdir: '/lfs/h2/emc/global/noscrub/emc.global/dump' packageroot: '${PACKAGEROOT:-"/lfs/h1/ops/prod/packages"}' comroot: '${COMROOT:-"/lfs/h1/ops/prod/com"}' +cominsyn: '${COMROOT}/gfs/${gfs_ver:-"v16.2"})/syndat' homedir: '/lfs/h2/emc/global/noscrub/$USER' stmp: '/lfs/h2/emc/stmp/$USER' ptmp: '/lfs/h2/emc/ptmp/$USER' diff --git a/workflow/setup_expt.py b/workflow/setup_expt.py index fad11bf901..d9bf76d068 100755 --- a/workflow/setup_expt.py +++ b/workflow/setup_expt.py @@ -124,6 +124,7 @@ def edit_baseconfig(host, inputs): "@DMPDIR@": host.info["dmpdir"], "@PACKAGEROOT@": host.info["packageroot"], "@COMROOT@": host.info["comroot"], + "@COMINsyn@": host.info["cominsyn"], "@HOMEDIR@": host.info["homedir"], "@EXPDIR@": inputs.expdir, "@ROTDIR@": inputs.comrot, From 111359826363f0f7e624d7b95f1c75ac36ba4279 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 18:08:14 +0000 Subject: [PATCH 70/78] Replace COMINsyn in config.base.emc.dyn with parsed value Refs #419 --- parm/config/config.base.emc.dyn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/config.base.emc.dyn b/parm/config/config.base.emc.dyn index 59ab21259f..02480316b9 100755 --- a/parm/config/config.base.emc.dyn +++ b/parm/config/config.base.emc.dyn @@ -38,7 +38,7 @@ export FIXreg2grb2=$HOMEgfs/fix/fix_reg2grb2 # GLOBAL static environment parameters export PACKAGEROOT="@PACKAGEROOT@" export COMROOT="@COMROOT@" -export COMINsyn="${COMROOT}/gfs/${gfs_ver:-"v16.2"})/syndat" +export COMINsyn="@COMINsyn" export DMPDIR="@DMPDIR@" export RTMFIX=$CRTM_FIX From 14b48cb50cdb6b66948401c57a76f266fa5504b2 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 18:09:04 +0000 Subject: [PATCH 71/78] Change new config.resources.nco.static from ksh to bash Refs #419 --- parm/config/config.resources.nco.static | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/config.resources.nco.static b/parm/config/config.resources.nco.static index fbf3d41d47..e6cd2ef73e 100755 --- a/parm/config/config.resources.nco.static +++ b/parm/config/config.resources.nco.static @@ -1,4 +1,4 @@ -#!/bin/ksh -x +#! /usr/bin/env bash ########## config.resources ########## # Set resource information for job tasks From aeb669a37cc8790e0807b32b5ade0948e84e6fe8 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 18:10:17 +0000 Subject: [PATCH 72/78] Remove unneeded echos in GEMPAK JJOBS Refs #419 --- jobs/JGDAS_ATMOS_GEMPAK | 2 -- jobs/JGFS_ATMOS_GEMPAK | 2 -- 2 files changed, 4 deletions(-) diff --git a/jobs/JGDAS_ATMOS_GEMPAK b/jobs/JGDAS_ATMOS_GEMPAK index 097db9bb8d..52747b2ffe 100755 --- a/jobs/JGDAS_ATMOS_GEMPAK +++ b/jobs/JGDAS_ATMOS_GEMPAK @@ -6,8 +6,6 @@ source "$HOMEgfs/ush/preamble.sh" # GDAS GEMPAK PRODUCT GENERATION ############################################ echo -echo "=============== BEGIN GEMPAK ===============" -echo echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" configs="base gempak" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} diff --git a/jobs/JGFS_ATMOS_GEMPAK b/jobs/JGFS_ATMOS_GEMPAK index 6230829bc8..41ac87b8dd 100755 --- a/jobs/JGFS_ATMOS_GEMPAK +++ b/jobs/JGFS_ATMOS_GEMPAK @@ -6,8 +6,6 @@ source "$HOMEgfs/ush/preamble.sh" # GFS GEMPAK PRODUCT GENERATION ############################################ echo -echo "=============== BEGIN GEMPAK ===============" -echo echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" configs="base gempak" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} From 0d063851c516c1d582a910354da2ae4d83c307b9 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 18:14:14 +0000 Subject: [PATCH 73/78] Fix empty defaults in jobs/JGLOBAL_ATMOS_NCEPPOST - Change default for PACKAGEROOT and crtm_ver to ?. Refs #419 --- jobs/JGLOBAL_ATMOS_NCEPPOST | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jobs/JGLOBAL_ATMOS_NCEPPOST b/jobs/JGLOBAL_ATMOS_NCEPPOST index 2dfaad6059..56d6ca602e 100755 --- a/jobs/JGLOBAL_ATMOS_NCEPPOST +++ b/jobs/JGLOBAL_ATMOS_NCEPPOST @@ -70,7 +70,7 @@ export COMPONENT=${COMPONENT:-atmos} ############################################## export APRUNP=${APRUN:-$APRUN_NP} export RERUN=${RERUN:-NO} -export HOMECRTM=${HOMECRTM:-${PACKAGEROOT:-}/lib/crtm/${crtm_ver:-}} +export HOMECRTM=${HOMECRTM:-${PACKAGEROOT:?}/lib/crtm/${crtm_ver:?}} export FIXCRTM=${CRTM_FIX:-${HOMECRTM}/fix} export PARMpost=${PARMpost:-$HOMEgfs/parm/post} export INLINE_POST=${WRITE_DOPOST:-".false."} From c2d6b2b5fe82761802f80fdcd74f2960cbd33bec Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 18:20:05 +0000 Subject: [PATCH 74/78] Remove other unneeded echo announcements in GEMPAK JJOBS Refs #419 --- jobs/JGDAS_ATMOS_GEMPAK | 4 ---- jobs/JGFS_ATMOS_GEMPAK | 4 ---- 2 files changed, 8 deletions(-) diff --git a/jobs/JGDAS_ATMOS_GEMPAK b/jobs/JGDAS_ATMOS_GEMPAK index 52747b2ffe..2655b34069 100755 --- a/jobs/JGDAS_ATMOS_GEMPAK +++ b/jobs/JGDAS_ATMOS_GEMPAK @@ -5,8 +5,6 @@ source "$HOMEgfs/ush/preamble.sh" ############################################ # GDAS GEMPAK PRODUCT GENERATION ############################################ -echo -echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" configs="base gempak" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} for config in $configs; do @@ -16,8 +14,6 @@ for config in $configs; do done ############################################################### -echo -echo "=============== BEGIN TO SOURCE MACHINE RUNTIME ENVIRONMENT ===============" . $BASE_ENV/${machine}.env gempak status=$? [[ $status -ne 0 ]] && exit $status diff --git a/jobs/JGFS_ATMOS_GEMPAK b/jobs/JGFS_ATMOS_GEMPAK index 41ac87b8dd..1e93982cd1 100755 --- a/jobs/JGFS_ATMOS_GEMPAK +++ b/jobs/JGFS_ATMOS_GEMPAK @@ -5,8 +5,6 @@ source "$HOMEgfs/ush/preamble.sh" ############################################ # GFS GEMPAK PRODUCT GENERATION ############################################ -echo -echo "=============== BEGIN TO SOURCE RELEVANT CONFIGS ===============" configs="base gempak" export EXPDIR=${EXPDIR:-$HOMEgfs/parm/config} for config in $configs; do @@ -16,8 +14,6 @@ for config in $configs; do done ############################################################### -echo -echo "=============== BEGIN TO SOURCE MACHINE RUNTIME ENVIRONMENT ===============" . $BASE_ENV/${machine}.env gempak status=$? [[ $status -ne 0 ]] && exit $status From bfd917287de2769ebf5b9a602106dd31b610ce07 Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 18:22:20 +0000 Subject: [PATCH 75/78] Revert FC change in webtitle makefile - Will make change to code makefile in new utils repo as needed. Refs #419 --- util/sorc/webtitle.fd/makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/sorc/webtitle.fd/makefile b/util/sorc/webtitle.fd/makefile index f6594b41cc..b6ea1ca304 100755 --- a/util/sorc/webtitle.fd/makefile +++ b/util/sorc/webtitle.fd/makefile @@ -11,7 +11,7 @@ OBJS= webtitle.o # CMD Name of the executable # PROFLIB Library needed for profiling # -FC = ftn +FC = ifort LIBS= ${W3NCO_LIB4} From 73c0fd6c7ebda9265a115b63bc947318ffe82b7d Mon Sep 17 00:00:00 2001 From: "Kate.Friedman" Date: Tue, 27 Sep 2022 19:06:51 +0000 Subject: [PATCH 76/78] Retire base_svn from wcoss2 hostfile Refs #1035 #419 --- workflow/hosts/wcoss2.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/workflow/hosts/wcoss2.yaml b/workflow/hosts/wcoss2.yaml index f68ac9ac8a..e715ed3e9b 100644 --- a/workflow/hosts/wcoss2.yaml +++ b/workflow/hosts/wcoss2.yaml @@ -1,5 +1,4 @@ base_git: '/lfs/h2/emc/global/save/emc.global/git' -base_svn: '/lfs/h2/emc/global/save/emc.global/git' dmpdir: '/lfs/h2/emc/global/noscrub/emc.global/dump' packageroot: '${PACKAGEROOT:-"/lfs/h1/ops/prod/packages"}' comroot: '${COMROOT:-"/lfs/h1/ops/prod/com"}' From 075c8d334b85aa758ff6ef410e09e384c7b584a1 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 28 Sep 2022 13:21:34 +0000 Subject: [PATCH 77/78] Backout prepobs module load addition - New obsproc/prepobs changes will happen in separate PR Refs #419 --- modulefiles/module_base.wcoss2.lua | 3 --- 1 file changed, 3 deletions(-) diff --git a/modulefiles/module_base.wcoss2.lua b/modulefiles/module_base.wcoss2.lua index 8f68e994c7..66af3fa94f 100644 --- a/modulefiles/module_base.wcoss2.lua +++ b/modulefiles/module_base.wcoss2.lua @@ -39,7 +39,4 @@ append_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/mpi/intel/19.1.3.304/ load("ncdiag/1.0.0") -prepend_path("MODULEPATH", pathJoin("/lfs/h2/emc/global/save/emc.global/git/prepobs/v1.0.1/modulefiles")) -load(pathJoin("prepobs", "1.0.1")) - whatis("Description: GFS run environment") From b221092d940c6246da67be0e794dad620ff1dcd8 Mon Sep 17 00:00:00 2001 From: "kate.friedman" Date: Wed, 28 Sep 2022 19:05:44 +0000 Subject: [PATCH 78/78] Put prepobs module load back in module_base.wcoss2 It was already in develop, put it back. Refs #419 --- modulefiles/module_base.wcoss2.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modulefiles/module_base.wcoss2.lua b/modulefiles/module_base.wcoss2.lua index 66af3fa94f..8f68e994c7 100644 --- a/modulefiles/module_base.wcoss2.lua +++ b/modulefiles/module_base.wcoss2.lua @@ -39,4 +39,7 @@ append_path("MODULEPATH", "/apps/ops/para/libs/modulefiles/mpi/intel/19.1.3.304/ load("ncdiag/1.0.0") +prepend_path("MODULEPATH", pathJoin("/lfs/h2/emc/global/save/emc.global/git/prepobs/v1.0.1/modulefiles")) +load(pathJoin("prepobs", "1.0.1")) + whatis("Description: GFS run environment")