diff --git a/parm/params_grib2_tbl_new b/parm/params_grib2_tbl_new index b9ab462a7..2e13cbddd 100755 --- a/parm/params_grib2_tbl_new +++ b/parm/params_grib2_tbl_new @@ -1156,6 +1156,24 @@ 3 192 43 0 SBTA1714 3 192 44 0 SBTA1715 3 192 45 0 SBTA1716 +! NCEP Local use + 3 192 46 1 SFRAGR1 + 3 192 47 1 SFRAGR2 + 3 192 48 1 SFRAGR3 + 3 192 49 1 SFRAGR4 + 3 192 50 1 SFRAGR5 + 3 192 51 1 SFRAGR6 + 3 192 52 1 SBTAGR7 + 3 192 53 1 SBTAGR8 + 3 192 54 1 SBTAGR9 + 3 192 55 1 SBTAGR10 + 3 192 56 1 SBTAGR11 + 3 192 57 1 SBTAGR12 + 3 192 58 1 SBTAGR13 + 3 192 59 1 SBTAGR14 + 3 192 60 1 SBTAGR15 + 3 192 61 1 SBTAGR16 + ! ! GRIB2 - TABLE 4.2-4-0 PARAMETERS FOR DISCIPLINE 4 CATEGORY 0 ! diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml index f5d07caaa..f2358d259 100755 --- a/parm/post_avblflds.xml +++ b/parm/post_avblflds.xml @@ -6712,5 +6712,96 @@ 4.0 + + + 958 + SBTAGR7_ON_TOP_OF_ATMOS + SBTAGR7 + NCEP + top_of_atmos + 4.0 + + + + 959 + SBTAGR8_ON_TOP_OF_ATMOS + SBTAGR8 + NCEP + top_of_atmos + 4.0 + + + + 960 + SBTAGR9_ON_TOP_OF_ATMOS + SBTAGR9 + NCEP + top_of_atmos + 4.0 + + + + 961 + SBTAGR10_ON_TOP_OF_ATMOS + SBTAGR10 + NCEP + top_of_atmos + 4.0 + + + + 962 + SBTAGR11_ON_TOP_OF_ATMOS + SBTAGR11 + NCEP + top_of_atmos + 4.0 + + + + 963 + SBTAGR12_ON_TOP_OF_ATMOS + SBTAGR12 + NCEP + top_of_atmos + 4.0 + + + + 964 + SBTAGR13_ON_TOP_OF_ATMOS + SBTAGR13 + NCEP + top_of_atmos + 4.0 + + + + 965 + SBTAGR14_ON_TOP_OF_ATMOS + SBTAGR14 + NCEP + top_of_atmos + 4.0 + + + + 966 + SBTAGR15_ON_TOP_OF_ATMOS + SBTAGR15 + NCEP + top_of_atmos + 4.0 + + + + 967 + SBTAGR16_ON_TOP_OF_ATMOS + SBTAGR16 + NCEP + top_of_atmos + 4.0 + + diff --git a/parm/postcntrl_gfs_goes.xml b/parm/postcntrl_gfs_goes.xml index 105c3a8df..512a1e751 100755 --- a/parm/postcntrl_gfs_goes.xml +++ b/parm/postcntrl_gfs_goes.xml @@ -39,6 +39,26 @@ 4.0 + + SBTAGR8_ON_TOP_OF_ATMOS + 4.0 + + + + SBTAGR9_ON_TOP_OF_ATMOS + 4.0 + + + + SBTAGR10_ON_TOP_OF_ATMOS + 4.0 + + + + SBTAGR13_ON_TOP_OF_ATMOS + 4.0 + + diff --git a/parm/postxconfig-NT-GFS-GOES.txt b/parm/postxconfig-NT-GFS-GOES.txt index 00c31d1af..9e37655af 100644 --- a/parm/postxconfig-NT-GFS-GOES.txt +++ b/parm/postxconfig-NT-GFS-GOES.txt @@ -1,5 +1,5 @@ 1 -4 +8 GFSPRS 0 ncep_nco @@ -164,3 +164,151 @@ top_of_atmos ? ? ? +959 +SBTAGR8_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR8 +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +960 +SBTAGR9_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR9 +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +961 +SBTAGR10_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR10 +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? +964 +SBTAGR13_ON_TOP_OF_ATMOS +? +1 +tmpl4_0 +SBTAGR13 +NCEP +? +top_of_atmos +0 +? +0 +? +? +0 +? +0 +? +? +? +0 +0.0 +0 +0.0 +? +0 +0.0 +0 +0.0 +1 +4.0 +0 +0 +0 +? +? +? diff --git a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f index 8c09ea3d4..8623d144b 100644 --- a/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f +++ b/sorc/ncep_post.fd/CALRAD_WCLOUD_newcrtm.f @@ -121,7 +121,7 @@ SUBROUTINE CALRAD_WCLOUD ! integer,parameter:: n_clouds = 4 integer,parameter:: n_aerosols = 0 ! Add your sensors here - integer(i_kind),parameter:: n_sensors=20 + integer(i_kind),parameter:: n_sensors=21 character(len=20),parameter,dimension(1:n_sensors):: sensorlist= & (/'imgr_g15 ', & 'imgr_g13 ', & @@ -141,6 +141,7 @@ SUBROUTINE CALRAD_WCLOUD 'imgr_mt2 ', & 'imgr_mt1r ', & 'imgr_insat3d ', & + 'abi_gr ', & 'abi_g16 ', & 'abi_g17 '/) character(len=12),parameter,dimension(1:n_sensors):: obslist= & @@ -163,6 +164,7 @@ SUBROUTINE CALRAD_WCLOUD 'imgr_mt1r ', & 'imgr_insat3d', & 'abi ', & + 'abi ', & 'abi '/) character(len=20),dimension(1:n_sensors):: sensorlist_local ! @@ -205,7 +207,7 @@ SUBROUTINE CALRAD_WCLOUD logical ssmis_las,ssmis_uas,ssmis_env,ssmis_img logical sea,mixed,land,ice,snow,toss logical micrim,microwave - logical post_abig16, post_abig17 ! if true, user requested at least one abi channel + logical post_abig16, post_abig17, post_abigr ! if true, user requested at least one abi channel logical fix_abig16, fix_abig17 ! if true, abi_g16, abi_g17 fix files are available ! logical,dimension(nobs):: luse logical, parameter :: debugprint = .false. @@ -280,6 +282,11 @@ SUBROUTINE CALRAD_WCLOUD do n = 937, 937+9 ! 937 set in RQSTFLD.f if (iget(n) > 0) post_abig17=.true. enddo + post_abigr=.false. + do n = 958, 958+9 ! 958 set in RQSTFLD.f + if (iget(n) > 0) post_abigr=.true. + enddo + ! DO NOT FORGET TO ADD YOUR NEW IGET HERE (IF YOU'VE ADDED ONE) ! START SUBROUTINE CALRAD. @@ -320,7 +327,7 @@ SUBROUTINE CALRAD_WCLOUD .or. iget(874) > 0 .or. iget(875) > 0 .or. iget(876) > 0 & .or. iget(877) > 0 .or. iget(878) > 0 .or. iget(879) > 0 & .or. iget(880) > 0 .or. iget(881) > 0 .or. iget(882) > 0 & - .or. post_abig16 .or. post_abig17 ) then + .or. post_abig16 .or. post_abig17 .or. post_abigr ) then ! specify numbers of cloud species ! Thompson==8, Ferrier==5,95, WSM6==6, Lin==2 @@ -408,6 +415,21 @@ SUBROUTINE CALRAD_WCLOUD enddo endif endif + ! GOES-R for NADIR output + if(post_abigr)then + nchanl=0 + do n = 958, 958+9 ! 958 set in RQSTFLD.f + if (iget(n) > 0) then + nchanl = nchanl+1 + endif + enddo + if (nchanl > 0 .and. nchanl <10) then + do n = 958, 958+9 ! 958 set in RQSTFLD.f + if (iget(n) == 0) channelinfo(20)%Process_Channel(n-958+1)=.False. ! turn off channel processing + enddo + endif + endif + ! SSMI, F13-F15 (19H,19V,??H,37H,37V,85H,85V) if(iget(800)>0)then @@ -486,6 +508,7 @@ SUBROUTINE CALRAD_WCLOUD (isis=='imgr_g15' .and. iget(872)>0) .OR. & (isis=='abi_g16' .and. post_abig16) .OR. & (isis=='abi_g17' .and. post_abig17) .OR. & + (isis=='abi_gr' .and. post_abigr) .OR. & (isis=='seviri_m10' .and. iget(876)>0) )then print*,'obstype, isis= ',obstype,isis ! isis='amsua_n15' @@ -558,6 +581,8 @@ SUBROUTINE CALRAD_WCLOUD if(isis=='abi_g16')channelinfo(sensorindex)%WMO_Sensor_Id=617 if(isis=='abi_g17')channelinfo(sensorindex)%WMO_Satellite_Id=271 if(isis=='abi_g17')channelinfo(sensorindex)%WMO_Sensor_Id=617 + if(isis=='abi_gr')channelinfo(sensorindex)%WMO_Satellite_Id=270 + if(isis=='abi_gr')channelinfo(sensorindex)%WMO_Sensor_Id=617 allocate(rtsolution (channelinfo(sensorindex)%n_channels,1)) allocate(tb(im,jsta:jend,channelinfo(sensorindex)%n_channels)) @@ -639,7 +664,8 @@ SUBROUTINE CALRAD_WCLOUD (isis=='amsre_aqua' .and. (iget(483) > 0 .or. iget(484) > 0 & .or. iget(485) > 0 .or. iget(486) > 0)) .OR. & (isis=='tmi_trmm' .and. (iget(488) > 0 .or. iget(489) > 0 & - .or. iget(490) > 0 .or. iget(491) > 0)) )then + .or. iget(490) > 0 .or. iget(491) > 0)) .OR. & + (isis=='abi_gr' .and. post_abigr) )then do j=jsta,jend do i=1,im @@ -1157,6 +1183,30 @@ SUBROUTINE CALRAD_WCLOUD endif enddo endif ! end of outputting goes 12 + if (isis=='abi_gr')then ! writing goes-r nadir to grib2 + nc=0 + do ixchan=1,10 + igot=iget(957+ixchan) + ichan=ixchan + if(igot>0)then + do j=jsta,jend + do i=1,im + grid1(i,j)=tb(i,j,ichan) + enddo + enddo + id(1:25) = 0 + id(02) = 2 + id(08) = 118 + id(09) = 109 + if(grib=="grib2" )then + cfld=cfld+1 + fld_info(cfld)%ifld=IAVBLFLD(igot) + datapd(1:im,1:jend-jsta+1,cfld)=grid1(1:im,jsta:jend) + endif + endif + enddo ! channel loop + end if ! end of outputting goes-r nadir + end if nadir ! end if for computing nadir simulated radiance diff --git a/sorc/ncep_post.fd/RQSTFLD.F b/sorc/ncep_post.fd/RQSTFLD.F index cf5718c0c..6dda3af35 100644 --- a/sorc/ncep_post.fd/RQSTFLD.F +++ b/sorc/ncep_post.fd/RQSTFLD.F @@ -25,7 +25,7 @@ module RQSTFLD_mod implicit none ! ! increase MXFLD each time you add a new field - INTEGER, PARAMETER :: MXFLD=957 + INTEGER, PARAMETER :: MXFLD=975 #ifdef COMMCODE INTEGER, PARAMETER :: MXLVL=70 #else @@ -2573,6 +2573,46 @@ module RQSTFLD_mod DATA IFILV(957),AVBL(957),IQ(957),IS(957),AVBLGRB2(957) & & /1,'CRITICAL ANGLE ',157,116, & & 'CRITICAL ANGLE ON spec_pres_above_grnd'/ + DATA IFILV(958),AVBL(958),IQ(958),IS(958),AVBLGRB2(958) & + & /1,'GR CH7 NADIR ',118,109, & + & 'GR CH7 ABI TB TOA '/ !Table 130 + + DATA IFILV(959),AVBL(959),IQ(959),IS(959),AVBLGRB2(959) & + & /1,'GR CH8 NADIR ',118,109, & + & 'GR CH8 ABI TB TOA '/ !Table 130 + + DATA IFILV(960),AVBL(960),IQ(960),IS(960),AVBLGRB2(960) & + & /1,'GR CH9 NADIR ',118,109, & + & 'GR CH9 ABI TB TOA '/ !Table 130 + + DATA IFILV(961),AVBL(961),IQ(961),IS(961),AVBLGRB2(961) & + & /1,'GR CH10 NADIR ',118,109, & + & 'GR CH10 ABI TB TOA '/ !Table 130 + + DATA IFILV(962),AVBL(962),IQ(962),IS(962),AVBLGRB2(962) & + & /1,'GR CH11 NADIR ',118,109, & + & 'GR CH11 ABI TB TOA '/ !Table 130 + + DATA IFILV(963),AVBL(963),IQ(963),IS(963),AVBLGRB2(963) & + & /1,'GR CH12 NADIR ',118,109, & + & 'GR CH12 ABI TB TOA '/ !Table 130 + + DATA IFILV(964),AVBL(964),IQ(964),IS(964),AVBLGRB2(964) & + & /1,'GR CH13 NADIR ',118,109, & + & 'GR CH13 ABI TB TOA '/ !Table 130 + + DATA IFILV(965),AVBL(965),IQ(965),IS(965),AVBLGRB2(965) & + & /1,'GR CH14 NADIR ',118,109, & + & 'GR CH14 ABI TB TOA '/ !Table 130 + + DATA IFILV(966),AVBL(966),IQ(966),IS(966),AVBLGRB2(966) & + & /1,'GR CH15 NADIR ',118,109, & + & 'GR CH15 ABI TB TOA '/ !Table 130 + + DATA IFILV(967),AVBL(967),IQ(967),IS(967),AVBLGRB2(967) & + & /1,'GR CH16 NADIR ',118,109, & + & 'GR CH16 ABI TB TOA '/ !Table 130 + !end initialization !