From bf9750e4ae75012fd1480b53f898562bc66d4c14 Mon Sep 17 00:00:00 2001 From: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com> Date: Sat, 12 Nov 2022 18:45:55 -0500 Subject: [PATCH] Add MERRA2 aerosol fields as GFS V17 products. (#589) --- parm/global_1x1_paramlist_g2 | 2 +- parm/postcntrl_gfs.xml | 30 ++++ parm/postcntrl_gfs_f00.xml | 30 ++++ parm/postcntrl_gfs_f00_two.xml | 30 ++++ parm/postcntrl_gfs_two.xml | 30 ++++ parm/postxconfig-NT-GFS-F00-TWO.txt | 224 +++++++++++++++++++++++++++- parm/postxconfig-NT-GFS-F00.txt | 224 +++++++++++++++++++++++++++- parm/postxconfig-NT-GFS-TWO.txt | 224 +++++++++++++++++++++++++++- parm/postxconfig-NT-GFS.txt | 224 +++++++++++++++++++++++++++- scripts/exgfs_atmos_nceppost.sh | 2 +- 10 files changed, 1014 insertions(+), 6 deletions(-) diff --git a/parm/global_1x1_paramlist_g2 b/parm/global_1x1_paramlist_g2 index 958fbd4d7..909261ccf 100644 --- a/parm/global_1x1_paramlist_g2 +++ b/parm/global_1x1_paramlist_g2 @@ -45,7 +45,7 @@ ACPCP:surface ALBDO:surface APCP:surface APTMP:2 m above ground -var discipline=0 master_table=2 parmcat=0 parm=21:2 m above ground +AOTK:entire atmosphere CAPE:180-0 mb above ground CAPE:255-0 mb above ground CAPE:90-0 mb above ground diff --git a/parm/postcntrl_gfs.xml b/parm/postcntrl_gfs.xml index 0d14de92d..9d79cdbe9 100755 --- a/parm/postcntrl_gfs.xml +++ b/parm/postcntrl_gfs.xml @@ -1159,6 +1159,36 @@ 3.0 + + AER_OPT_GFS_at550 + 9.0 + + + + DUST_AER_OPT_GFS_at550 + 9.0 + + + + SEASALT_AER_OPT_GFS_at550 + 9.0 + + + + SULFATE_AER_OPT_GFS_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_GFS_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_GFS_at550 + 9.0 + + diff --git a/parm/postcntrl_gfs_f00.xml b/parm/postcntrl_gfs_f00.xml index 22a5ddc8f..3473ccdb9 100755 --- a/parm/postcntrl_gfs_f00.xml +++ b/parm/postcntrl_gfs_f00.xml @@ -907,6 +907,36 @@ 3.0 + + AER_OPT_GFS_at550 + 9.0 + + + + DUST_AER_OPT_GFS_at550 + 9.0 + + + + SEASALT_AER_OPT_GFS_at550 + 9.0 + + + + SULFATE_AER_OPT_GFS_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_GFS_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_GFS_at550 + 9.0 + + diff --git a/parm/postcntrl_gfs_f00_two.xml b/parm/postcntrl_gfs_f00_two.xml index 184d03ea7..3d5df294f 100755 --- a/parm/postcntrl_gfs_f00_two.xml +++ b/parm/postcntrl_gfs_f00_two.xml @@ -907,6 +907,36 @@ 3.0 + + AER_OPT_GFS_at550 + 9.0 + + + + DUST_AER_OPT_GFS_at550 + 9.0 + + + + SEASALT_AER_OPT_GFS_at550 + 9.0 + + + + SULFATE_AER_OPT_GFS_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_GFS_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_GFS_at550 + 9.0 + + diff --git a/parm/postcntrl_gfs_two.xml b/parm/postcntrl_gfs_two.xml index 6d6e05793..c3edbb94f 100755 --- a/parm/postcntrl_gfs_two.xml +++ b/parm/postcntrl_gfs_two.xml @@ -1159,6 +1159,36 @@ 3.0 + + AER_OPT_GFS_at550 + 9.0 + + + + DUST_AER_OPT_GFS_at550 + 9.0 + + + + SEASALT_AER_OPT_GFS_at550 + 9.0 + + + + SULFATE_AER_OPT_GFS_at550 + 9.0 + + + + ORGANIC_CARBON_AER_OPT_GFS_at550 + 9.0 + + + + BLACK_CARBON_AER_OPT_GFS_at550 + 9.0 + + diff --git a/parm/postxconfig-NT-GFS-F00-TWO.txt b/parm/postxconfig-NT-GFS-F00-TWO.txt index af5f49c16..229c1f52e 100644 --- a/parm/postxconfig-NT-GFS-F00-TWO.txt +++ b/parm/postxconfig-NT-GFS-F00-TWO.txt @@ -1,6 +1,6 @@ 2 47 -150 +156 GFSPRS 0 ncep_nco @@ -5567,6 +5567,228 @@ surface ? ? ? +600 +AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +601 +DUST_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? GFSFLX 0 ncep_nco diff --git a/parm/postxconfig-NT-GFS-F00.txt b/parm/postxconfig-NT-GFS-F00.txt index fe928aa55..bf2548acd 100644 --- a/parm/postxconfig-NT-GFS-F00.txt +++ b/parm/postxconfig-NT-GFS-F00.txt @@ -1,5 +1,5 @@ 1 -150 +156 GFSPRS 0 ncep_nco @@ -5566,3 +5566,225 @@ surface ? ? ? +600 +AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +601 +DUST_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? diff --git a/parm/postxconfig-NT-GFS-TWO.txt b/parm/postxconfig-NT-GFS-TWO.txt index a459e5240..ea053e5f7 100644 --- a/parm/postxconfig-NT-GFS-TWO.txt +++ b/parm/postxconfig-NT-GFS-TWO.txt @@ -1,6 +1,6 @@ 2 112 -197 +203 GFSPRS 0 ncep_nco @@ -7306,6 +7306,228 @@ surface ? ? ? +600 +AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +601 +DUST_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? GFSFLX 0 ncep_nco diff --git a/parm/postxconfig-NT-GFS.txt b/parm/postxconfig-NT-GFS.txt index 776ce6d3b..faf8aa0c3 100644 --- a/parm/postxconfig-NT-GFS.txt +++ b/parm/postxconfig-NT-GFS.txt @@ -1,5 +1,5 @@ 1 -197 +203 GFSPRS 0 ncep_nco @@ -7305,3 +7305,225 @@ surface ? ? ? +600 +AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +total_aerosol +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +601 +DUST_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +dust_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +602 +SEASALT_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sea_salt_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +603 +SULFATE_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +sulphate_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +604 +ORGANIC_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +particulate_org_matter_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? +605 +BLACK_CARBON_AER_OPT_GFS_at550 +? +1 +tmpl4_48 +AOTK +? +? +entire_atmos +0 +? +0 +? +? +0 +? +0 +? +black_carbon_dry +smaller_than_first_limit +6 +20 +0 +0.0 +between_first_second_limit +9 +545 +9 +555 +1 +9.0 +0 +0 +0 +? +? +? diff --git a/scripts/exgfs_atmos_nceppost.sh b/scripts/exgfs_atmos_nceppost.sh index f8e996d13..65b98984e 100755 --- a/scripts/exgfs_atmos_nceppost.sh +++ b/scripts/exgfs_atmos_nceppost.sh @@ -81,7 +81,7 @@ export machine=${machine:-WCOSS_C} ########################### # Specify Output layers ########################### -export POSTGPVARS="KPO=57,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.7,0.4,0.2,0.1,0.07,0.04,0.02,0.01," +export POSTGPVARS="KPO=57,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,40.,30.,20.,15.,10.,7.,5.,3.,2.,1.,0.7,0.4,0.2,0.1,0.07,0.04,0.02,0.01,rdaod=.true." ########################################################## # Specify variable to directly output pgrb2 files for GDAS/GFS