Skip to content

Commit 8094411

Browse files
committed
Add fixes for ufbqcd function since it requires integer instead of float since bufr 12.0 update.
vtcd and glcd are updated to integer type accordingly.
1 parent d63b3d2 commit 8094411

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/gsi/oneobmod.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ subroutine oneobmakebufr
173173
real(r_kind),dimension(1,1):: poe,qoe,toe,woe
174174
real(r_kind),dimension(1):: xob,yob,dhr
175175
real(r_kind),dimension(1,1):: pob
176-
real(r_double) vtcd
176+
integer(i_kind) vtcd
177177
integer(i_kind) n,k,iret
178178
real(r_kind) hdr(10),obs(13,255),qms(10,255),err(10,255),cld2seq(2,1), &
179179
cldseq(3,10),owave(1,255),maxtmint(2,255),cldceilh(1,255),&
@@ -304,7 +304,7 @@ subroutine oneobmakebufr
304304
obs(3,k)=tob(k,n)
305305
obs(4,k)=zob(k,n)
306306
if (virtmp) then
307-
pcd(3,k)=vtcd
307+
pcd(3,k)=vtcd*1.
308308
end if
309309
obs(7,k)=cat(k,n)
310310
qms(1,k)=pqm(k,n)

src/gsi/read_prepbufr.f90

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@ subroutine read_prepbufr(nread,ndata,nodata,infile,obstype,lunout,twindin,sis,&
328328
integer(i_kind) ntime,itime
329329
integer(i_kind) ierr_ps,ierr_q,ierr_t,ierr_uv,ierr_pw ! the position of error table collum
330330
integer(i_kind) idummy1,idummy2,glret,lindx !glret>0 means GLERL code exists.Others are dummy variables
331+
integer(i_kind) vtcd,glcd !virtual temp program code and GLERL program code
331332
real(r_kind) time,timex,time_drift,timeobs,toff,t4dv,zeps
332333
real(r_kind) qtflg,tdry,rmesh,ediff,usage,ediff_ps,ediff_q,ediff_t,ediff_uv,ediff_pw
333334
real(r_kind) u0,v0,uob,vob,dx,dy,dx1,dy1,w00,w10,w01,w11
@@ -358,7 +359,6 @@ subroutine read_prepbufr(nread,ndata,nodata,infile,obstype,lunout,twindin,sis,&
358359
real(r_kind) :: windsensht
359360

360361
real(r_double) rstation_id,qcmark_huge
361-
real(r_double) vtcd,glcd !virtual temp program code and GLERL program code
362362
real(r_double),dimension(8):: hdr,hdrtsb
363363
real(r_double),dimension(3,255):: hdr3
364364
real(r_double),dimension(8,255):: drfdat,qcmark,obserr,var_jb
@@ -880,10 +880,10 @@ subroutine read_prepbufr(nread,ndata,nodata,infile,obstype,lunout,twindin,sis,&
880880
else
881881
!warn that GLERL adjustment is not available.
882882
print*, "WARNING: GLERL program code not in this file."
883-
glcd=-999._r_double
883+
glcd=-999
884884
endif
885885

886-
if(print_verbose) write(6,'(1x,A,A,A,2(A,1x,F8.3))') 'read_prepbufr:', &
886+
if(print_verbose) write(6,'(1x,A,A,A,2(A,1x,I8))') 'read_prepbufr:', &
887887
trim(adjustl(obstype)),':', ' vtcd= ',vtcd,' glcd= ',glcd
888888

889889
call init_rjlists
@@ -3363,7 +3363,7 @@ subroutine sonde_ext(obsdat,tpc,qcmark,obserr,drfdat,levsio,kx,vtcd)
33633363

33643364
! !INPUT PARAMETERS:
33653365
integer(i_kind) , intent(in ) ::kx
3366-
real(r_double) , intent(in ) ::vtcd
3366+
integer(i_kind) , intent(in ) ::vtcd
33673367

33683368
! !INPUT/OUTPUT PARAMETERS:
33693369
integer(i_kind) , intent(inout) ::levsio

0 commit comments

Comments
 (0)