From df8f7c94dc8b299b7a5742889a6b5956601e5d4d Mon Sep 17 00:00:00 2001 From: "Kate.Zhang" Date: Tue, 12 Mar 2024 20:27:21 +0000 Subject: [PATCH] Add 2D_chem output option Update the script and post_tag file for CATChem output --- parm/post_tag_gfs128 | 2 +- parm/post_tag_gfs65 | 2 +- scripts/exgfs_atmos_nceppost.sh | 11 +++++++---- sorc/ncep_post.fd/CLDRAD.f | 4 ++-- sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f | 4 ++-- ush/fv3gfs_downstream_nems.sh | 4 ++-- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/parm/post_tag_gfs128 b/parm/post_tag_gfs128 index f9246e045..c3d32ed72 100644 --- a/parm/post_tag_gfs128 +++ b/parm/post_tag_gfs128 @@ -2,6 +2,6 @@ MODELNAME='GFS' / &NAMPGB - 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, + 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,gccpp_on=.true., rdaod=.true., / EOF diff --git a/parm/post_tag_gfs65 b/parm/post_tag_gfs65 index 7643b75d7..74406796d 100644 --- a/parm/post_tag_gfs65 +++ b/parm/post_tag_gfs65 @@ -2,6 +2,6 @@ MODELNAME='GFS' / &NAMPGB - KPO=50,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.4, + KPO=50,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.4,gccpp_on=.true., rdaod=.true., / EOF diff --git a/scripts/exgfs_atmos_nceppost.sh b/scripts/exgfs_atmos_nceppost.sh index 73f52729d..667f7c140 100755 --- a/scripts/exgfs_atmos_nceppost.sh +++ b/scripts/exgfs_atmos_nceppost.sh @@ -83,7 +83,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,rdaod=.true.," +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,gccpp_on=.true.,rdaod=.true.," ########################################################## # Specify variable to directly output pgrb2 files for GDAS/GFS @@ -320,7 +320,8 @@ do if [ $GRIBVERSION = 'grib2' ]; then export POSTGRB2TBL=${POSTGRB2TBL:-${g2tmpl_ROOT}/share/params_grib2_tbl_new} - export PostFlatFile=${PostFlatFile:-$PARMpost/postxconfig-NT-GFS.txt} + #export PostFlatFile=${PostFlatFile:-$PARMpost/postxconfig-NT-GFS.txt} + export PostFlatFile=${PostFlatFile:-$PARMpost/postxconfig-NT-CCPP-CHEM.txt} if [ $RUN = gfs ] ; then export IGEN=$IGEN_GFS @@ -332,8 +333,10 @@ do if [[ $RUN = gfs ]] ; then if test $fhr -eq 0 then - export PostFlatFile=$PARMpost/postxconfig-NT-GFS-F00.txt - export CTLFILE=$PARMpost/postcntrl_gfs_f00.xml + #export PostFlatFile=$PARMpost/postxconfig-NT-GFS-F00.txt + export PostFlatFile=$PARMpost/postxconfig-NT-CCPP-CHEM-F00.txt + #export CTLFILE=$PARMpost/postcntrl_gfs_f00.xml + export CTLFILE=$PARMpost/postcntrl_ccpp_chem_f00.xml else export CTLFILE=${CTLFILEGFS:-$PARMpost/postcntrl_gfs.xml} fi diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index 4974ffc30..da8a56b6b 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -116,7 +116,7 @@ SUBROUTINE CLDRAD TCLOD, ARDSW, TRDSW, ARDLW, NBIN_DU, TRDLW, IM, & NBIN_SS, NBIN_OC,NBIN_BC,NBIN_SU,NBIN_NO3,DTQ2, & JM, LM, gocart_on, gccpp_on, nasa_on, me, rdaod, & - ISTA, IEND,aqf_on + ISTA, IEND,aqf_on,d2d_chem use rqstfld_mod, only: IGET, ID, LVLS, IAVBLFLD use gridspec_mod, only: dyval, gridtype use cmassi_mod, only: TRAD_ice @@ -5609,7 +5609,7 @@ SUBROUTINE CLDRAD endif !nasa_on - if (gocart_on .or. gccpp_on ) then + if ((gocart_on .or. gccpp_on ) .and. d2d_chem) then !! ADD EMISSION FLUXES,dry depostion, wet/convective depostion (kg/m2/sec) !! The AER file uses 1.E6 to scale all 2d diagnosis fields !! Multiply by 1.E-6 to revert these fields back diff --git a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f index 7c0b9398e..6ba10eca8 100644 --- a/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f +++ b/sorc/ncep_post.fd/INITPOST_GFS_NEMS_MPIIO.f @@ -1627,8 +1627,8 @@ SUBROUTINE INITPOST_GFS_NEMS_MPIIO(iostatusAER) !$omp parallel do private(i,j,n,tv) do j=jsta,jend do i=1,im - - TV = T(I,J,L) * (H1+D608*MAX(Q(I,J,L),QMIN)) + + TV = MAX(T(I,J,L) * (H1+D608 * MAX(Q(I,J,L),1e-8)),1e-8) RHOMID(I,J,L) = PMID(I,J,L) / (RD*TV) do n = 1, NBIN_DU IF ( dust(i,j,l,n) < SPVAL) THEN diff --git a/ush/fv3gfs_downstream_nems.sh b/ush/fv3gfs_downstream_nems.sh index 149b02021..de42f2e99 100755 --- a/ush/fv3gfs_downstream_nems.sh +++ b/ush/fv3gfs_downstream_nems.sh @@ -73,12 +73,12 @@ if [ $FH -eq -1 ] ; then export fhr3=anl export PGBS=YES elif [ $FH -eq 0 ] ; then - export paramlist=${paramlist:-$PARMpost/global_1x1_paramlist_g2.f000} + export paramlist=${paramlist:-$PARMpost/global_1x1_paramlist_g2.f000_chem} export paramlistb=${paramlistb:-$PARMpost/global_master-catchup_parmlist_g2} export fhr3=000 export PGBS=YES else - export paramlist=${paramlist:-$PARMpost/global_1x1_paramlist_g2} + export paramlist=${paramlist:-$PARMpost/global_1x1_paramlist_g2_chem} export paramlistb=${paramlistb:-$PARMpost/global_master-catchup_parmlist_g2} export fhr3=`expr $FH + 0 ` if [ $fhr3 -lt 100 ]; then export fhr3="0$fhr3"; fi