diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml index 77c6d9ff6..977541d9b 100755 --- a/parm/post_avblflds.xml +++ b/parm/post_avblflds.xml @@ -4168,7 +4168,7 @@ 3.0 - + 467 EDPARM_GTG_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL @@ -4243,6 +4243,40 @@ 6.0 + + + 476 + EDPARM_ON_ISOBARIC_SFC + EDPARM + isobaric_sfc + 3.0 + + + + 477 + CAT_ON_ISOBARIC_SFC + CATEDR + isobaric_sfc + 3.0 + + + + 478 + MWTURB_ON_ISOBARIC_SFC + MWTURB + isobaric_sfc + 3.0 + + + + + 479 + ICESEV_ON_ISOBARIC_SFC + ICESEV + isobaric_sfc + 1.0 + + 480 ICESEV_ON_ICAO_STD_SFC @@ -4252,6 +4286,14 @@ 1.0 + + 481 + ICIP_ON_ISOBARIC_SFC + ICIP + isobaric_sfc + 3.0 + + 482 PRES_ON_SPEC_ALT_ABOVE_MEAN_SEA_LVL @@ -4549,7 +4591,7 @@ 6.0 - + 518 HGT_ON_ICAO_STD_SFC @@ -4590,30 +4632,6 @@ 2.0 - - 523 - VVEL_ON_ICAO_STD_SFC - VVEL - isobaric_sfc - 5.0 - - - - 524 - ABSV_ON_ICAO_STD_SFC - ABSV - isobaric_sfc - 4.0 - - - - 525 - CLWMR_ON_ICAO_STD_SFC - CLWMR - isobaric_sfc - 4.0 - - 551 CSNOW_ON_SURFACE diff --git a/parm/postcntrl_gfs_wafs.xml b/parm/postcntrl_gfs_wafs.xml index 8dea081b2..2bcf81c74 100755 --- a/parm/postcntrl_gfs_wafs.xml +++ b/parm/postcntrl_gfs_wafs.xml @@ -1,8 +1,8 @@ - - GFSPRS + + GFSSTD 0 ncep_nco v2003 @@ -82,31 +82,81 @@ 3.0 + + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + - RH_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. + EDPARM_ON_ISOBARIC_SFC + 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. + 3.0 - VVEL_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. + CAT_ON_ISOBARIC_SFC + 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 3.0 - ABSV_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. + MWTURB_ON_ISOBARIC_SFC + 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 3.0 - CLWMR_ON_ICAO_STD_SFC - 7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. - 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. + ICESEV_ON_ISOBARIC_SFC + 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + + 1.0 + + + + HGT_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + UGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + RH_ON_ISOBARIC_SFC + 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. 3.0 diff --git a/parm/postcntrl_gfs_wafs_anl.xml b/parm/postcntrl_gfs_wafs_anl.xml index 8d99f54fb..33b0beba4 100755 --- a/parm/postcntrl_gfs_wafs_anl.xml +++ b/parm/postcntrl_gfs_wafs_anl.xml @@ -20,24 +20,21 @@ lossless - TMP_ON_ICAO_STD_SFC - 10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. - 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. - 3.0 + TMP_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 - UGRD_ON_ICAO_STD_SFC - 10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. - 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. - 3.0 + UGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 - VGRD_ON_ICAO_STD_SFC - 10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. - 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. - 3.0 + VGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 diff --git a/parm/postcntrl_gfs_wafs_ext.xml b/parm/postcntrl_gfs_wafs_ext.xml new file mode 100755 index 000000000..ec7efbcac --- /dev/null +++ b/parm/postcntrl_gfs_wafs_ext.xml @@ -0,0 +1,54 @@ + + + + + GFSPRS + 0 + ncep_nco + v2003 + local_tab_yes1 + fcst + oper + fcst + fcst + hour + nws_ncep + gfs_avn + complex_packing_spatial_diff + 2nd_ord_sptdiff + fltng_pnt + lossless + + + HGT_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 6.0 + + + + TMP_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + UGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + VGRD_ON_ISOBARIC_SFC + 7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 4.0 + + + + RH_ON_ISOBARIC_SFC + 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. + 3.0 + + + + + diff --git a/parm/postxconfig-NT-GFS-WAFS-ANL.txt b/parm/postxconfig-NT-GFS-WAFS-ANL.txt index c1dcde1a1..7c79ea42e 100644 --- a/parm/postxconfig-NT-GFS-WAFS-ANL.txt +++ b/parm/postxconfig-NT-GFS-WAFS-ANL.txt @@ -16,8 +16,8 @@ complex_packing_spatial_diff 2nd_ord_sptdiff fltng_pnt lossless -519 -TMP_ON_ICAO_STD_SFC +13 +TMP_ON_ISOBARIC_SFC ? 1 tmpl4_0 @@ -27,8 +27,8 @@ TMP isobaric_sfc 0 ? -19 -10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. ? 0 ? @@ -46,15 +46,15 @@ isobaric_sfc 0 0.0 1 -3.0 +4.0 0 0 0 ? ? ? -520 -UGRD_ON_ICAO_STD_SFC +18 +UGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 @@ -64,8 +64,8 @@ UGRD isobaric_sfc 0 ? -19 -10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. ? 0 ? @@ -83,15 +83,15 @@ isobaric_sfc 0 0.0 1 -3.0 +4.0 0 0 0 ? ? ? -521 -VGRD_ON_ICAO_STD_SFC +19 +VGRD_ON_ISOBARIC_SFC ? 1 tmpl4_0 @@ -101,8 +101,8 @@ VGRD isobaric_sfc 0 ? -19 -10040. 14750. 19680. 25000. 30090. 34430. 39270. 44650. 50600. 55000. 59520. 65000. 69680. 75260. 81200. 84310. 90000. 95000. 100000. +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. ? 0 ? @@ -120,7 +120,7 @@ isobaric_sfc 0 0.0 1 -3.0 +4.0 0 0 0 diff --git a/parm/postxconfig-NT-GFS-WAFS-EXT.txt b/parm/postxconfig-NT-GFS-WAFS-EXT.txt new file mode 100644 index 000000000..9a0415316 --- /dev/null +++ b/parm/postxconfig-NT-GFS-WAFS-EXT.txt @@ -0,0 +1,203 @@ +1 +5 +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +14 +50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +3.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-GFS-WAFS.txt b/parm/postxconfig-NT-GFS-WAFS.txt index c14856c7a..250b80756 100644 --- a/parm/postxconfig-NT-GFS-WAFS.txt +++ b/parm/postxconfig-NT-GFS-WAFS.txt @@ -1,6 +1,7 @@ -1 -16 -GFSPRS +2 +12 +9 +GFSSTD 0 ncep_nco v2003 @@ -349,19 +350,35 @@ isobaric_sfc ? ? ? -522 -RH_ON_ICAO_STD_SFC +GFSPRS +0 +ncep_nco +v2003 +local_tab_yes1 +fcst +oper +fcst +fcst +hour +nws_ncep +gfs_avn +complex_packing_spatial_diff +2nd_ord_sptdiff +fltng_pnt +lossless +476 +EDPARM_ON_ISOBARIC_SFC ? 1 tmpl4_0 -RH +EDPARM ? ? isobaric_sfc 0 ? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. +36 +14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. ? 0 ? @@ -386,19 +403,19 @@ isobaric_sfc ? ? ? -523 -VVEL_ON_ICAO_STD_SFC +477 +CAT_ON_ISOBARIC_SFC ? 1 tmpl4_0 -VVEL +CATEDR ? ? isobaric_sfc 0 ? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. +36 +14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. ? 0 ? @@ -423,19 +440,19 @@ isobaric_sfc ? ? ? -524 -ABSV_ON_ICAO_STD_SFC +478 +MWTURB_ON_ISOBARIC_SFC ? 1 tmpl4_0 -ABSV +MWTURB ? ? isobaric_sfc 0 ? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. +36 +14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. ? 0 ? @@ -460,19 +477,204 @@ isobaric_sfc ? ? ? -525 -CLWMR_ON_ICAO_STD_SFC +479 +ICESEV_ON_ISOBARIC_SFC ? 1 tmpl4_0 -CLWMR +ICESEV ? ? isobaric_sfc 0 ? -38 -7000. 10040. 12770. 14750. 17870. 19680. 22730. 25000. 27450. 30090. 32500. 34430. 37500. 39270. 42500. 44650. 47500. 50600. 52500. 55000. 57500. 59520. 62500. 65000. 67500. 69680. 72500. 75260. 77500. 81200. 82500. 84310. 87500. 90000. 92500. 95000. 97500. 100000. +26 +30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +1.0 +0 +0 +0 +? +? +? +12 +HGT_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +HGT +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +6.0 +0 +0 +0 +? +? +? +13 +TMP_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +TMP +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +18 +UGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +UGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +19 +VGRD_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +VGRD +? +? +isobaric_sfc +0 +? +56 +7170. 7520. 7900. 8280. 8700. 9120. 9570. 10040. 10530. 11050. 11600. 12170. 12770. 13400. 14060. 14750. 15470. 16240. 17040. 17870. 18750. 19680. 20650. 21660. 22730. 23840. 25000. 26200. 27450. 28740. 30090. 31490. 32930. 34430. 35990. 37600. 39270. 41000. 42790. 44650. 46560. 48550. 50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +17 +RH_ON_ISOBARIC_SFC +? +1 +tmpl4_0 +RH +? +? +isobaric_sfc +0 +? +14 +50600. 52720. 54920. 57180. 59520. 61940. 64440. 67020. 69680. 72430. 75260. 78190. 81200. 84310. ? 0 ? diff --git a/scripts/exgfs_atmos_nceppost.sh b/scripts/exgfs_atmos_nceppost.sh index 20d591b3a..2aaa0dda4 100755 --- a/scripts/exgfs_atmos_nceppost.sh +++ b/scripts/exgfs_atmos_nceppost.sh @@ -30,6 +30,9 @@ echo " Jun 21 - Mao - Instead of err_chk, catch err and print out" echo " WAFS failure warnings to avoid job crashing" echo " Oct 21 - Meng - Remove jlogfile for wcoss2 transition." echo " Nov 21 - Meng - Update POSTGRB2TBL default setting for wcoss2 transition." +echo " May 22 - Mao - Set KPO for WAFS on different pressure levels" +echo " May 22 - Mao - Three diff WAFS control files for anl, F000-F048, F054-F120" +echo " May 22 - Mao - Add processing two paramsets for WAFS" echo "-----------------------------------------------------" ##################################################################### @@ -199,6 +202,9 @@ then if [[ $RUN = gfs && $GRIBVERSION = 'grib2' ]] ; then export OUTTYP=${OUTTYP:-4} + #For MDL2P.f, WAFS pressure levels are different from master file + export POSTGPVARS="KPO=56,PO=84310.,81200.,78190.,75260.,72430.,69680.,67020.,64440.,61940.,59520.,57180.,54920.,52720.,50600.,48550.,46560.,44650.,42790.,41000.,39270.,37600.,35990.,34430.,32930.,31490.,30090.,28740.,27450.,26200.,25000.,23840.,22730.,21660.,20650.,19680.,18750.,17870.,17040.,16240.,15470.,14750.,14060.,13400.,12770.,12170.,11600.,11050.,10530.,10040.,9570.,9120.,8700.,8280.,7900.,7520.,7170.,popascal=.true.," + export PostFlatFile=$PARMpost/postxconfig-NT-GFS-WAFS-ANL.txt export CTLFILE=$PARMpost/postcntrl_gfs_wafs_anl.xml @@ -512,9 +518,17 @@ do if [[ $RUN = gfs && $GRIBVERSION = 'grib2' ]] ; then export OUTTYP=${OUTTYP:-4} + #For MDL2P.f, WAFS pressure levels are different from master file + export POSTGPVARS="KPO=56,PO=84310.,81200.,78190.,75260.,72430.,69680.,67020.,64440.,61940.,59520.,57180.,54920.,52720.,50600.,48550.,46560.,44650.,42790.,41000.,39270.,37600.,35990.,34430.,32930.,31490.,30090.,28740.,27450.,26200.,25000.,23840.,22730.,21660.,20650.,19680.,18750.,17870.,17040.,16240.,15470.,14750.,14060.,13400.,12770.,12170.,11600.,11050.,10530.,10040.,9570.,9120.,8700.,8280.,7900.,7520.,7170.,popascal=.true.," + # Extend WAFS icing and gtg up to 120 hours - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-WAFS.txt - export CTLFILE=$PARMpost/postcntrl_gfs_wafs.xml + if [ $fhr -le 48 ] ; then + export PostFlatFile=$PARMpost/postxconfig-NT-GFS-WAFS.txt + export CTLFILE=$PARMpost/postcntrl_gfs_wafs.xml + else + export PostFlatFile=$PARMpost/postxconfig-NT-GFS-WAFS-EXT.txt + export CTLFILE=$PARMpost/postcntrl_gfs_wafs_ext.xml + fi # gtg has its own configurations cp $PARMpost/gtg.config.gfs gtg.config @@ -542,17 +556,30 @@ do if [ $err -ne 0 ] ; then echo " *** GFS POST WARNING: WAFS output failed for f${fhr}, err=$err" else + # Will remove when GFSv17 + if [ -e ${PGBOUT}GFSSTD ] + then + if test $SENDCOM = "YES" + then + cp ${PGBOUT}GFSSTD $COMOUT/${PREFIX}wafs_icao.grb2f$fhr + $WGRIB2 -s ${PGBOUT}GFSSTD > $PGIOUT # WAFS products exist from ush/gfs_nceppost.sh before running anything else + cp $PGIOUT $COMOUT/${PREFIX}wafs_icao.grb2f$fhr.idx + fi + fi + if [ -e $PGBOUT ] then if test $SENDCOM = "YES" then cp $PGBOUT $COMOUT/${PREFIX}wafs.grb2f$fhr - cp $PGIOUT $COMOUT/${PREFIX}wafs.grb2if$fhr + $WGRIB2 -s $PGBOUT > $PGIOUT # WAFS products exist from ush/gfs_nceppost.sh before running anything else + cp $PGIOUT $COMOUT/${PREFIX}wafs.grb2f$fhr.idx fi fi fi fi [[ -f wafsfile ]] && rm wafsfile ; [[ -f wafsifile ]] && rm wafsifile + [[ -f wafsfileGFSSTD ]] && rm wafsfileGFSSTD fi ########################### WAFS end ########################### diff --git a/sorc/ncep_post.fd/FDLVL.f b/sorc/ncep_post.fd/FDLVL.f index 817d767f1..07b02e452 100644 --- a/sorc/ncep_post.fd/FDLVL.f +++ b/sorc/ncep_post.fd/FDLVL.f @@ -839,6 +839,7 @@ SUBROUTINE FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) ! ALLOW ARRAY OF MASS INPUT TO INTERPOLATE MULTIPLE FIELDS ! WITH THE SAME LEVELS AT ONE TIME ! DUST=>AERFD CAN BE PROCESSED WHEN NIN=NBIN_DU +! 2022-05-25 | Y Mao | Remove interpolation of w/omega/Hydrometeor fields on FD levels ! ! USAGE: CALL FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) ! INPUT ARGUMENT LIST: @@ -1088,9 +1089,7 @@ SUBROUTINE FDLVL_MASS(ITYPE,NFD,PTFD,HTFD,NIN,QIN,QTYPE,QFD) endif END IF ! endif loop for deducing T and Q differently for GFS - if(QTYPE(N) == "W") QFD(I,J,IFD,N)=QIN(I,J,LM,N) ! W OMGA if(QTYPE(N) == "K") QFD(I,J,IFD,N)= max(0.0,0.5*(QIN(I,J,LM,N)+QIN(I,J,LM-1,N))) ! TKE - if(QTYPE(N) == "C") QFD(I,J,IFD,N)=0.0 ! Hydrometeor fields END DO ENDIF ! Underground diff --git a/sorc/ncep_post.fd/MDL2P.f b/sorc/ncep_post.fd/MDL2P.f index 3f4ce004a..fb8aefd86 100644 --- a/sorc/ncep_post.fd/MDL2P.f +++ b/sorc/ncep_post.fd/MDL2P.f @@ -25,6 +25,7 @@ SUBROUTINE MDL2P(iostatusD3D) ! 12-01-11 S LU - ADD GOCART AEROSOLS ! 13-08-01 S Moorthi - some optimization ! 14-02-26 S Moorthi - threading datapd assignment +! 2022-05-25 | Y Mao | Add WAFS icing/turbulence ! ! USAGE: CALL MDL2P ! INPUT ARGUMENT LIST: @@ -65,7 +66,7 @@ SUBROUTINE MDL2P(iostatusD3D) ZGDRAG, CNVCTVMMIXING, VDIFFMACCE, MGDRAG, & CNVCTUMMIXING, NCNVCTCFRAC, CNVCTUMFLX, CNVCTDETMFLX, & CNVCTZGDRAG, CNVCTMGDRAG, ZMID, ZINT, PMIDV, & - CNVCTDMFLX + CNVCTDMFLX, ICING_GFIP, ICING_GFIS,GTG,CAT=>CATEDR,MWT use vrbls2d, only: T500, W_UP_MAX, W_DN_MAX, W_MEAN, PSLP, FIS, Z1000 use masks, only: LMH, SM use physcons_post,only: CON_FVIRT, CON_ROG, CON_EPS, CON_EPSM1 @@ -99,7 +100,9 @@ SUBROUTINE MDL2P(iostatusD3D) &, Q2SL, WSL, CFRSL, O3SL, TDSL & &, EGRID1, EGRID2 & &, FSL_OLD, USL_OLD, VSL_OLD & - &, OSL_OLD, OSL995 + &, OSL_OLD, OSL995 & + &, ICINGFSL, ICINGVSL & + &, GTGSL,CATSL,MWTSL ! REAL D3DSL(IM,JM,27),DUSTSL(IM,JM,NBIN_DU) REAL, allocatable :: D3DSL(:,:,:), DUSTSL(:,:,:), SMOKESL(:,:,:) ! @@ -219,6 +222,10 @@ SUBROUTINE MDL2P(iostatusD3D) (IGET(442) > 0) .OR. (IGET(455) > 0) .OR. & ! ADD SMOKE FIELDS (IGET(738) > 0) .OR. (MODELNAME == 'RAPR') .OR.& +! Add WAFS hazard fields: Icing and GTG turbulence + (IGET(476) > 0) .OR. (IGET(477) > 0) .OR. & + (IGET(478) > 0) .OR. (IGET(479) > 0) .OR. & + (IGET(481) > 0) .OR. & ! LIFTED INDEX needs 500 mb T (IGET(030)>0) .OR. (IGET(031)>0) .OR. (IGET(075)>0)) THEN ! @@ -264,6 +271,11 @@ SUBROUTINE MDL2P(iostatusD3D) RAD(I,J) = SPVAL O3SL(I,J) = SPVAL CFRSL(I,J) = SPVAL + ICINGFSL(I,J) = SPVAL + ICINGVSL(I,J) = SPVAL + GTGSL(I,J) = SPVAL + CATSL(I,J) = SPVAL + MWTSL(I,J) = SPVAL ! !*** LOCATE VERTICAL INDEX OF MODEL MIDLAYER JUST BELOW !*** THE PRESSURE LEVEL TO WHICH WE ARE INTERPOLATING. @@ -354,6 +366,13 @@ SUBROUTINE MDL2P(iostatusD3D) IF(TTND(I,J,1) < SPVAL) RAD(I,J) = TTND(I,J,1) IF(O3(I,J,1) < SPVAL) O3SL(I,J) = O3(I,J,1) IF(CFR(I,J,1) < SPVAL) CFRSL(I,J) = CFR(I,J,1) +!GFIP + IF(ICING_GFIP(I,J,1) < SPVAL) ICINGFSL(I,J) = ICING_GFIP(I,J,1) + IF(ICING_GFIS(I,J,1) < SPVAL) ICINGVSL(I,J) = ICING_GFIS(I,J,1) +!GTG + IF(GTG(I,J,1) < SPVAL) GTGSL(I,J) = GTG(I,J,1) + IF(CAT(I,J,1) < SPVAL) CATSL(I,J) = CAT(I,J,1) + IF(MWT(I,J,1) < SPVAL) MWTSL(I,J) = MWT(I,J,1) ! DUST if (gocart_on) then DO K = 1, NBIN_DU @@ -516,6 +535,48 @@ SUBROUTINE MDL2P(iostatusD3D) IF(CFR(I,J,LL) < SPVAL .AND. CFR(I,J,LL-1) < SPVAL) & CFRSL(I,J) = CFR(I,J,LL) + (CFR(I,J,LL)-CFR(I,J,LL-1))*FACT +!GFIP + IF(ICING_GFIP(I,J,LL) < SPVAL .AND. ICING_GFIP(I,J,LL-1) < SPVAL) & + ICINGFSL(I,J) = ICING_GFIP(I,J,LL) + (ICING_GFIP(I,J,LL)-ICING_GFIP(I,J,LL-1))*FACT + ICINGFSL(I,J) = max(0.0, ICINGFSL(I,J)) + ICINGFSL(I,J) = min(1.0, ICINGFSL(I,J)) + IF(ICING_GFIS(I,J,LL) < SPVAL .AND. ICING_GFIS(I,J,LL-1) < SPVAL) & + ICINGVSL(I,J) = ICING_GFIS(I,J,LL) + (ICING_GFIS(I,J,LL)-ICING_GFIS(I,J,LL-1))*FACT +! Icing severity categories +! 0 = none (0, 0.08) +! 1 = trace [0.08, 0.21] +! 2 = light (0.21, 0.37] +! 3 = moderate (0.37, 0.67] +! 4 = severe (0.67, 1] +! https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-228.shtml + if (ICINGVSL(I,J) < 0.08) then + ICINGVSL(I,J) = 0.0 + elseif (ICINGVSL(I,J) <= 0.21) then + ICINGVSL(I,J) = 1. + else if(ICINGVSL(I,J) <= 0.37) then + ICINGVSL(I,J) = 2.0 + else if(ICINGVSL(I,J) <= 0.67) then + ICINGVSL(I,J) = 3.0 + else + ICINGVSL(I,J) = 4.0 + endif + if(ICINGFSL(I,J)< 0.001) ICINGVSL(I,J) = 0. +! GTG + IF(GTG(I,J,LL) < SPVAL .AND. GTG(I,J,LL-1) < SPVAL) THEN + GTGSL(I,J) = GTG(I,J,LL) + (GTG(I,J,LL)-GTG(I,J,LL-1))*FACT + GTGSL(I,J) = max(0.0, GTGSL(I,J)) + GTGSL(I,J) = min(1.0, GTGSL(I,J)) + ENDIF + IF(CAT(I,J,LL) < SPVAL .AND. CAT(I,J,LL-1) < SPVAL) THEN + CATSL(I,J) = CAT(I,J,LL) + (CAT(I,J,LL)-CAT(I,J,LL-1))*FACT + CATSL(I,J) = max(0.0, CATSL(I,J)) + CATSL(I,J) = min(1.0, CATSL(I,J)) + ENDIF + IF(MWT(I,J,LL) < SPVAL .AND. MWT(I,J,LL-1) < SPVAL) THEN + MWTSL(I,J) = MWT(I,J,LL) + (MWT(I,J,LL)-MWT(I,J,LL-1))*FACT + MWTSL(I,J) = max(0.0, MWTSL(I,J)) + MWTSL(I,J) = min(1.0, MWTSL(I,J)) + ENDIF ! DUST if (gocart_on) then DO K = 1, NBIN_DU @@ -2042,6 +2103,123 @@ SUBROUTINE MDL2P(iostatusD3D) end if ! +! +!--- GFIP IN-FLIGHT ICING POTENTIAL: ADDED BY H CHUANG + IF(IGET(481) > 0)THEN + IF(LVLS(LP,IGET(481)) > 0)THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + GRID1(I,J) = ICINGFSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld + 1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(481)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(481)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,im + datapd(i,j,cfld) = GRID1(i,jj) + enddo + enddo + endif + ENDIF + ENDIF +!--- GFIP IN-FLIGHT ICING SEVERITY: ADDED BY Y MAO + IF(IGET(479) > 0) THEN + IF(LVLS(LP,IGET(479)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + GRID1(I,J) = ICINGVSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(479)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(479)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,im + datapd(i,j,cfld) = GRID1(i,jj) + enddo + enddo + endif + ENDIF + ENDIF +!--- GTG EDR turbulence: ADDED BY Y. MAO + IF(IGET(476) > 0) THEN + IF(LVLS(LP,IGET(476)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + GRID1(I,J) = GTGSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(476)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(476)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,im + datapd(i,j,cfld) = GRID1(i,jj) + enddo + enddo + endif + ENDIF + ENDIF +!--- GTG CAT turbulence: ADDED BY Y. MAO + IF(IGET(477) > 0) THEN + IF(LVLS(LP,IGET(477)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + GRID1(I,J) = CATSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(477)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(477)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,im + datapd(i,j,cfld) = GRID1(i,jj) + enddo + enddo + endif + ENDIF + ENDIF +!--- GTG MWT turbulence: ADDED BY Y. MAO + IF(IGET(478) > 0) THEN + IF(LVLS(LP,IGET(478)) > 0) THEN +!$omp parallel do private(i,j) + DO J=JSTA,JEND + DO I=1,IM + GRID1(I,J) = MWTSL(I,J) + ENDDO + ENDDO + if(grib == 'grib2') then + cfld = cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(IGET(478)) + fld_info(cfld)%lvl=LVLSXML(LP,IGET(478)) +!$omp parallel do private(i,j,jj) + do j=1,jend-jsta+1 + jj = jsta+j-1 + do i=1,im + datapd(i,j,cfld) = GRID1(i,jj) + enddo + enddo + endif + ENDIF + ENDIF + !$omp parallel do private(i,j) DO J=JSTA_2L,JEND_2U DO I=1,IM diff --git a/sorc/ncep_post.fd/MDL2STD_P.f b/sorc/ncep_post.fd/MDL2STD_P.f index 6b6f73033..50b280576 100644 --- a/sorc/ncep_post.fd/MDL2STD_P.f +++ b/sorc/ncep_post.fd/MDL2STD_P.f @@ -10,6 +10,7 @@ SUBROUTINE MDL2STD_P() ! ! PROGRAM HISTORY LOG: ! 19-09-24 Y Mao - REWRITTEN FROM MISCLN.f +! 2022-05-25 | Y Mao | Remove interpolation of VVEL/ABSV/CLWMR ! ! USAGE: CALL MDL2STD_P ! INPUT ARGUMENT LIST: @@ -86,17 +87,13 @@ SUBROUTINE MDL2STD_P() ! 520 UGRD ! 521 VGRD ! 522 RH -! 523 VVEL -! 524 ABSV -! 525 CLWMR=QQW+QQR+QQS+QQG+QQI IF(IGET(450)>0 .or. IGET(480)>0 .or. & IGET(464)>0 .or. IGET(465)>0 .or. IGET(466)>0 .or. & IGET(518)>0 .or. IGET(519)>0 .or. IGET(520)>0 .or. & - IGET(521)>0 .or. IGET(522)>0 .or. IGET(523)>0 .or. & - IGET(524)>0 .or. IGET(525)>0) then + IGET(521)>0 .or. IGET(522)>0) then ! STEP 1 -- U V (POSSIBLE FOR ABSV) INTERPLOCATION - IF(IGET(520)>0 .or. IGET(521)>0 .or. IGET(524) > 0 ) THEN + IF(IGET(520)>0 .or. IGET(521)>0 ) THEN ! U/V are always paired, use any for HTFDCTL iID=520 N = IAVBLFLD(IGET(iID)) @@ -155,30 +152,6 @@ SUBROUTINE MDL2STD_P() cfld=cfld+1 fld_info(cfld)%ifld=IAVBLFLD(IGET(521)) fld_info(cfld)%lvl=LVLSXML(IFD,IGET(521)) -!$omp parallel do private(i,j,jj) - do j=1,jend-jsta+1 - jj = jsta+j-1 - do i=1,im - datapd(i,j,cfld) = GRID1(i,jj) - enddo - enddo - endif - ENDIF - ! ABSV - IF (LVLS(IFD,IGET(524)) > 0) THEN - EGRID1=VAR3D1(1:IM,JSTA_2L:JEND_2U,IFD) - EGRID2=VAR3D2(1:IM,JSTA_2L:JEND_2U,IFD) - call CALVOR(EGRID1,EGRID2,EGRID3) -!$omp parallel do private(i,j) - DO J=JSTA,JEND - DO I=1,IM - GRID1(I,J)=EGRID3(I,J) - ENDDO - ENDDO - if(grib=='grib2') then - cfld=cfld+1 - fld_info(cfld)%ifld=IAVBLFLD(IGET(524)) - fld_info(cfld)%lvl=LVLSXML(IFD,IGET(524)) !$omp parallel do private(i,j,jj) do j=1,jend-jsta+1 jj = jsta+j-1 @@ -242,22 +215,6 @@ SUBROUTINE MDL2STD_P() QIN(1:IM,JSTA:JEND,1:LM,nFDS)=T(1:IM,JSTA:JEND,1:LM) QTYPE(nFDS)="T" end if - IF(IGET(523) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 523 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=OMGA(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="W" - end if - IF(IGET(525) > 0) THEN - nFDS = nFDS + 1 - IDS(nFDS) = 525 - QIN(1:IM,JSTA:JEND,1:LM,nFDS)=QQW(1:IM,JSTA:JEND,1:LM)+ & - QQR(1:IM,JSTA:JEND,1:LM)+ & - QQS(1:IM,JSTA:JEND,1:LM)+ & - QQG(1:IM,JSTA:JEND,1:LM)+ & - QQI(1:IM,JSTA:JEND,1:LM) - QTYPE(nFDS)="C" - end if ! FOR WAFS, ALL LEVLES OF DIFFERENT VARIABLES ARE THE SAME, USE ANY iID=IDS(1) @@ -301,20 +258,6 @@ SUBROUTINE MDL2STD_P() ENDDO endif - - if(iID==525) then - N1=N - DO IFD = 1,NFDCTL - DO J=JSTA,JEND - DO I=1,IM - if(QFD(I,J,IFD,N) < SPVAL) then - QFD(I,J,IFD,N)=max(0.0,QFD(I,J,IFD,N)) - endif - ENDDO - ENDDO - ENDDO - endif - ! Icing severity categories ! 0 = none (0, 0.08) ! 1 = trace [0.08, 0.21] @@ -523,7 +466,7 @@ SUBROUTINE MDL2STD_P() ! Relabel the pressure level to reference levels ! IDS = 0 - IDS = (/ 450,480,464,465,466,518,519,520,521,522,523,524,525,(0,I=14,50) /) + IDS = (/ 450,480,464,465,466,518,519,520,521,522,(0,I=11,50) /) do i = 1, NFDMAX iID=IDS(i) if(iID == 0) exit diff --git a/sorc/ncep_post.fd/MDLFLD.f b/sorc/ncep_post.fd/MDLFLD.f index 869433104..20bc525bc 100644 --- a/sorc/ncep_post.fd/MDLFLD.f +++ b/sorc/ncep_post.fd/MDLFLD.f @@ -40,6 +40,7 @@ SUBROUTINE MDLFLD ! 14-11-17 B ZHOU - Undetected ECHO TOP value is modified from SPVAL to -5000. ! 15-xx-xx S. Moorthi - reduced memory version ! 15-11-03 S Moorthi - fix a bug in "RELATIVE HUMIDITY ON MDLSURFACES" sectio logic +! 2022-05-25 | Y Mao | Add WAFS icing/turbulence on pressure levels ! ! USAGE: CALL MDLFLD ! INPUT ARGUMENT LIST: @@ -870,10 +871,11 @@ SUBROUTINE MDLFLD (IGET(752).GT.0).OR.(IGET(754).GT.0).OR. & (IGET(278).GT.0).OR.(IGET(264).GT.0).OR. & (IGET(450).GT.0).OR.(IGET(480).GT.0).OR. & + (IGET(479).GT.0).OR.(IGET(481).GT.0).OR. & (IGET(774).GT.0).OR.(IGET(747).GT.0).OR. & (IGET(464).GT.0).OR.(IGET(467).GT.0).OR. & + (IGET(470).GT.0).OR.(IGET(476).GT.0).OR. & (IGET(629).GT.0).OR.(IGET(630).GT.0).OR. & - (IGET(470).GT.0).OR. & (IGET(909).GT.0).OR.(IGET(737).GT.0) ) THEN DO 190 L=1,LM @@ -1598,7 +1600,8 @@ SUBROUTINE MDLFLD ! RELATIVE HUMIDITY ON MDL SURFACES. item = -1 IF (IGET(006) > 0) item = LVLS(L,IGET(006)) - IF (item > 0 .OR. IGET(450) > 0 .OR. IGET(480) > 0) THEN + IF (item > 0 .OR. IGET(450) > 0 .OR. IGET(480) > 0 .OR. & + IGET(479) > 0 .OR. IGET(481) > 0 ) THEN LL=LM-L+1 !$omp parallel do private(i,j) DO J=JSTA,JEND @@ -3624,7 +3627,7 @@ SUBROUTINE MDLFLD ! IF ( (IGET(289).GT.0) .OR. (IGET(389).GT.0) .OR. (IGET(454).GT.0) & .OR. (IGET(245).GT.0) .or. IGET(464)>0 .or. IGET(467)>0 & - .or. IGET(470)>0 ) THEN + .or. IGET(470)>0 .or. IGET(476)>0 ) THEN ! should only compute pblri if pblh from model is not computed based on Ri ! post does not yet read pbl scheme used by model. Will do this soon ! For now, compute PBLRI for non GFS models. @@ -3855,7 +3858,7 @@ SUBROUTINE MDLFLD ENDIF ! ! CALCULATE Gust based on Ri PBL - IF (IGET(245).GT.0 .or. IGET(464)>0 .or. IGET(467)>0.or. IGET(470)>0) THEN + IF (IGET(245).GT.0 .or. IGET(464)>0 .or. IGET(467)>0.or. IGET(470)>0 .or. IGET(476)>0) THEN IF(MODELNAME.EQ.'RAPR') THEN !tgs - 24may17 - smooth PBLHGUST if(MAPTYPE == 6) then @@ -4017,7 +4020,7 @@ SUBROUTINE MDLFLD ! ! ! COMPUTE NCAR GTG turbulence - IF(IGET(464)>0 .or. IGET(467)>0 .or. IGET(470)>0)THEN + IF(IGET(464)>0 .or. IGET(467)>0 .or. IGET(470)>0 .or. IGET(476)>0)THEN i=IM/2 j=(jsta+jend)/2 if(me == 0) print*,'sending input to GTG i,j,hgt,gust',i,j,ZINT(i,j,LP1),gust(i,j) @@ -4103,7 +4106,7 @@ SUBROUTINE MDLFLD end IF ! COMPUTE NCAR FIP - IF(IGET(450).GT.0 .or. IGET(480).GT.0)THEN + IF(IGET(450)>0 .or. IGET(480)>0 .or. IGET(479)>0 .or. IGET(481)>0)THEN ! cape and cin ITYPE = 1 diff --git a/sorc/ncep_post.fd/get_postfilename.f b/sorc/ncep_post.fd/get_postfilename.f index bc731e1c4..12879d291 100644 --- a/sorc/ncep_post.fd/get_postfilename.f +++ b/sorc/ncep_post.fd/get_postfilename.f @@ -5,6 +5,7 @@ subroutine get_postfilename(fname) ! ! Program log: ! 11-02 Jun Wang generate code from subroutine gribit +! 2022-05-25 | Y Mao | For WAFS, output multi paramsets to different files ! use ctlblk_mod, only : ifhr, me, modelname, ifmin use rqstfld_mod, only : ritehd, datset, iget @@ -80,6 +81,9 @@ subroutine get_postfilename(fname) if(me==0)PRINT*,' FNAME FROM IPVOUT=',trim(FNAME) ELSE IF(PGBOUT(1:4).NE.BLANK)THEN FNAME = PGBOUT + if (IGET(464) >0 ) then + FNAME=trim(FNAME) // DATSET(1:KDAT) + endif if(me==0)PRINT*,' FNAME FROM PGBOUT=',trim(FNAME) ELSE NDIG=MAX(LOG10(IHR+0.5)+1.,2.) diff --git a/sorc/post_gtg.fd b/sorc/post_gtg.fd index 95959a1c0..6bb7a1242 160000 --- a/sorc/post_gtg.fd +++ b/sorc/post_gtg.fd @@ -1 +1 @@ -Subproject commit 95959a1c04ef49452186e4be9d49b0c1d7aba7d9 +Subproject commit 6bb7a1242ab231f9afc047988483db494df59820