Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/msienkie/prep qc modifications #174

Merged
merged 38 commits into from
Jul 25, 2022
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
8300254
OIQC fix from NCEP for obs with press=0
gmao-msienkie Aug 5, 2019
fe7d15b
Remove use of CPAN::Shell
gmao-msienkie Oct 17, 2019
b4f071e
Sigh. You have to have a this before you can refer to it.
mathomp4 Sep 12, 2019
c414623
Adding 'twindow.x' time windowing for satellite winds, used to reduce
gmao-msienkie Jan 3, 2020
5cea45d
This version removes the restriction on GOES-R wind types so that
gmao-msienkie Jan 3, 2020
538aa9a
Merge in changes from NCEP obsproc_prep.v5.2.2
gmao-msienkie Jul 8, 2020
3e92f1e
Increase field length for record count so larger files can be processed
gmao-msienkie Nov 4, 2020
7b9fdc8
Merge branch 'bugfix/msienkie/#34-oiqc-crash-pres=0' into develop/msi…
gmao-msienkie Nov 5, 2020
62c83c6
Code modified to split some data reads, to allow reading of
gmao-msienkie Nov 16, 2020
fb21c3b
Change code to use 10 digit date from BUFR library - avoid any problem
gmao-msienkie Jan 20, 2021
9e66a8e
Code to apply time window to satellite winds, and to rewrite winds in…
gmao-msienkie Jan 22, 2021
cd0dab8
Modifications to handle new EUMETSAT format winds
gmao-msienkie Jan 22, 2021
001edb7
Merge branch 'main' into develop/msienkie/PAQC_modifications_v5.25.2
gmao-msienkie Feb 25, 2021
04084c4
Merge branch 'bugfix/msienkie/#49-SP-interp-crash' into develop/msien…
gmao-msienkie Feb 26, 2021
9f9ec0d
Copy of code and resource files with changes for new EUMETSAT wind fo…
gmao-msienkie Feb 26, 2021
8300914
Merge branch 'main' into feature/msienkie/twindow
gmao-msienkie Feb 26, 2021
f9cac78
Merge branch 'feature/msienkie/twindow' into feature/msienkie/PAQC_mo…
gmao-msienkie Feb 26, 2021
6487e6d
Adding new program 'scanbuf0_accum' - like 'scanbuf0' but prints the
gmao-msienkie Mar 2, 2021
ac1e7b6
bring cqcvad.f to NCEP 2016 version - increses max number of stations
gmao-msienkie Mar 3, 2021
343e1ce
Change to 'write' statement to avoid awkward line breaks in output
gmao-msienkie Mar 19, 2021
c542d69
Noticed that the 'gross check' was checking the wrong number in the a…
gmao-msienkie Mar 19, 2021
a83347d
Program to flag (QM=14) pressure observations (thus also excluding te…
gmao-msienkie Mar 22, 2021
44f4bcc
Merge branch 'develop' into feature/msienkie/PAQC_modifications_v5_27…
gmao-msienkie Oct 26, 2021
478ce97
Merge branch 'develop' into feature/msienkie/PAQC_modifications
gmao-msienkie Oct 26, 2021
3550854
Merge branch 'develop' into feature/msienkie/prepQC_modifications
gmao-msienkie Oct 27, 2021
ce4d2aa
Merge branch 'develop' into feature/msienkie/PAQC_modifications
gmao-msienkie Nov 19, 2021
dd8d560
Merge branch 'develop' into feature/msienkie/PAQC_modifications
gmao-msienkie Dec 11, 2021
3b44e8c
Merge branch 'develop' into feature/msienkie/PAQC_modifications
gmao-msienkie Dec 23, 2021
98e3bbf
cleanup code, fix print statement
gmao-msienkie Dec 27, 2021
5fc7238
Merge branch 'develop' into feature/msienkie/prepQC_modifications
gmao-msienkie Mar 15, 2022
c893786
Merge branch 'develop' into feature/msienkie/PAQC_modifications
gmao-msienkie Apr 12, 2022
4c17330
Bring in change to array size from obsproc_prep.v5.5.0 (Aug 2021)
gmao-msienkie Apr 18, 2022
8fc3e2b
Updated README
gmao-msienkie Apr 18, 2022
376674b
Merge branch 'develop' into feature/msienkie/prepQC_modifications
gmao-msienkie Apr 18, 2022
dbd4dbb
Merge branch 'feature/msienkie/PAQC_modifications' into feature/msien…
gmao-msienkie Apr 18, 2022
a642b25
add 'geoimr' (for OSSE) to list of satellites to fit with mean_only
gmao-msienkie May 6, 2022
e5456cc
Increased NRPT and NEVNT from 500000 to 800000 to accommodate
gmao-msienkie Jul 21, 2022
1e2c125
Merge branch 'develop' into feature/msienkie/prepQC_modifications
gmao-msienkie Jul 21, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions src/Applications/GSI_App/gsidiag_bin2txt.f90
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,7 @@ program gsidiag_bin2txt
call abort
end if

write(*,*)'File ', trim(infn), ' opened on lun=',inlun
! open(inlun,file=infn,form='unformatted',convert='big_endian')
write(*,'(''File '', a, '' opened on lun='',i5 )') trim(infn), inlun

call read_radiag_header( inlun, npred_read, sst_ret, headfix, headchan, headname, iflag, debug )

Expand Down
13 changes: 9 additions & 4 deletions src/Applications/NCEP_Paqc/GMAOprev/prevents.f
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
C$$$ MAIN PROGRAM DOCUMENTATION BLOCK
C
C MAIN PROGRAM: PREPOBS_PREVENTS
C PRGMMR: KEYSER ORG: NP22 DATE: 2013-02-13
C PRGMMR: DONG ORG: NP22 DATE: 2020-01-09
C
C ABSTRACT: PREPARES OBSERVATIONAL PREPBUFR FILE FOR SUBSEQUENT
C QUALITY CONTROL AND ANALYSIS PROGRAMS. THIS IS DONE THROUGH THE
Expand Down Expand Up @@ -81,6 +81,9 @@
c rename all REAL(8) variables as
C *_8

C 2020-01-06 J. Dong -- In program PREPOBS_PREVENTS, changed the
C windowing decade from 20 to 40 for cases when the year
C is represented by 2 digits instead of 4.
C
C USAGE:
C INPUT FILES:
Expand Down Expand Up @@ -153,11 +156,11 @@ PROGRAM PREPOBS_PREVENTS

DATA LAST/'XXXXXXXX'/

CALL W3TAGB('PREPOBS_PREVENTS',2013,0044,0061,'NP22')
CALL W3TAGB('PREPOBS_PREVENTS',2020,0009,0061,'NP22')

PRINT 700
700 FORMAT(/' =====> WELCOME TO PREVENTS PROGRAM -- LAST UPDATED ',
$ '2013-02-13'/)
$ '2020-01-09'/)

C On WCOSS should always set BUFRLIB missing (BMISS) to 10E8 to avoid
C overflow when either an INTEGER*4 variable is set to BMISS or a
Expand Down Expand Up @@ -204,7 +207,9 @@ PROGRAM PREPOBS_PREVENTS
PRINT'(" ##> 2-DIGIT YEAR IN IDATEP RETURNED FROM READMG ",
$ "(IDATEP IS: ",I0,") - USE WINDOWING TECHNIQUE TO OBTAIN ",
$ "4-DIGIT YEAR")', IDATEP
IF(IDATEP/1000000.GT.20) THEN
C IF IDATEP=41~99 THEN IDATEP=1941~1999
C IF IDATEP=00~40 THEN IDATEP=2000~2040
IF(IDATEP/1000000.GT.40) THEN
IDATEP = 1900000000 + IDATEP
ELSE
IDATEP = 2000000000 + IDATEP
Expand Down
7 changes: 6 additions & 1 deletion src/Applications/NCEP_Paqc/combine_bfr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,11 @@ ecbuild_add_executable (
SOURCES scanbuf0.f
LIBS NCEP_bufr_r4i4 GMAO_mpeu)

ecbuild_add_executable (
TARGET scanbuf0_accum.x
SOURCES scanbuf0_accum.f
LIBS NCEP_bufr_r4i4 GMAO_mpeu)

ecbuild_add_executable (
TARGET scanbuf2.x
SOURCES scanbuf2.f
Expand All @@ -35,4 +40,4 @@ ecbuild_add_executable (
ecbuild_add_executable (
TARGET cp_2ssi.x
SOURCES cp_2ssi.f
LIBS NCEP_bufr_r4i4 GMAO_mpeu)
LIBS NCEP_bufr_r4i4 GMAO_mpeu)
133 changes: 133 additions & 0 deletions src/Applications/NCEP_Paqc/combine_bfr/scanbuf0_accum.f
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
program scanbuf_accum

implicit none

!
! Scan NCEP BUFR files and write out how many reports of each type
! This version saves counts for each subset types and writes out a
! cumulative count of each type at the end.
!
integer,parameter :: maxsubs = 15

character*8 subset, saved ! subset names (current & prev.)
character*55 descr ! Table A description of subset
character*255 cfile, argv ! file name from command line
integer idat10 ! 10 digit date/time from subset
integer iret ! return code
integer lunit ! input unit number
integer lprint ! output unit number
integer argc ! used to get args from command line
integer knt ! count of records in current subset
integer kmsg, ksub
integer nmsub

character*8 subs(maxsubs) ! names for cumulative counts
integer knts(maxsubs) ! cumulative counts per subset type
integer nsubs ! number of unique subsets types found
integer ii, i

integer*4 iargc

lunit = 35 ! input data file



argc = iargc()
if ( argc < 1 ) then
print *, 'program needs a BUFR filename as input'
stop
endif
call GetArg ( 1_4, argv )
cfile = argv
open( unit=lunit, file=cfile,form='unformatted')
if (argc .ge. 2) then
! second arg is output print file
call GetArg ( 2_4, argv )
lprint = 36
open( unit=lprint,file=argv,form='formatted')
else
lprint = 6
endif

subs = ' '
knts = 0
nsubs = 0

call datelen(10)
CALL OPENBF(LUNIT,'IN',LUNIT)
call readmg(lunit,subset,idat10,iret)
write(lprint,*) 'date:',idat10, iret
saved = subset
knt = 0
do while (iret .eq. 0)
ksub = nmsub(lunit)
knt = knt + ksub
call readmg(lunit,subset,idat10,iret)
if (subset .ne. saved) then
! if (knt .gt. 0) write(lprint,'(a8,i8)') saved,knt
if (knt .gt. 0) then
if (nsubs < 1) then
nsubs = 1
subs(nsubs) = saved
knts(nsubs) = knt
else
ii = 0
do i = 1,nsubs
if (saved .eq. subs(i)) then
ii = i
exit
end if
end do
if (ii .ne. 0) then
knts(ii) = knts(ii) + knt
else
nsubs = nsubs + 1
if (nsubs .gt. maxsubs) then
print *,'too many unique subsets'
print *,'recompile with larger maxsubs'
stop
end if
subs(nsubs) = saved
knts(nsubs) = knt
end if
end if
end if

knt = 0
saved = subset
endif
enddo
! if (knt .gt. 0) write(lprint,'(a8,i8)') saved,knt
if (knt .gt. 0) then
if (nsubs < 1) then
nsubs = 1
subs(nsubs) = saved
knts(nsubs) = knt
else
ii = 0
do i = 1,nsubs
if (saved .eq. subs(i)) then
ii = i
exit
end if
end do
if (ii .ne. 0) then
knts(ii) = knts(ii) + knt
else
nsubs = nsubs + 1
if (nsubs .gt. maxsubs) then
print *,'too many unique subsets'
print *,'recompile with larger maxsubs'
stop
end if
subs(nsubs) = saved
knts(nsubs) = knt
end if
end if
end if
do i = 1,nsubs
write(lprint,'(a8,i8)') subs(i),knts(i)
end do
stop
end

4 changes: 2 additions & 2 deletions src/Applications/NCEP_Paqc/combine_bfr/scanbuf2.f
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@ program scanbuf
knt = knt + ksub
call readmg(lunit,subset,idat10,iret)
if (subset .ne. saved) then
if (knt .gt. 0) write(lprint,'(a8,i8)') saved,knt
if (knt .gt. 0) write(lprint,'(a8,i10)') saved,knt
knt = 0
saved = subset
endif
enddo
if (knt .gt. 0) write(lprint,'(a8,i8)') saved,knt
if (knt .gt. 0) write(lprint,'(a8,i10)') saved,knt
stop
end

12 changes: 11 additions & 1 deletion src/Applications/NCEP_Paqc/modify_bufr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,14 @@ ecbuild_add_executable (
ecbuild_add_executable (
TARGET explode.x
SOURCES explode.f
LIBS NCEP_bufr_r4i4)
LIBS NCEP_bufr_r4i4)

ecbuild_add_executable (
TARGET twindow.x
SOURCES twindow.f
LIBS NCEP_bufr_r4i4 NCEP_w3_r4i4 GMAO_mpeu)

if (EXTENDED_SOURCE)
set_target_properties (twindow.x PROPERTIES COMPILE_FLAGS ${EXTENDED_SOURCE})
endif()

4 changes: 2 additions & 2 deletions src/Applications/NCEP_Paqc/modify_bufr/fix_ascat.f
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ program fix_ascat
mod = .false.
do j = 1,klev
if ( evn(3,j) .eq. 9. ) then
if ( abs(evn(3,j)) .lt. wmax .and.
& abs(evn(4,j)) .lt. wmax ) then
if ( abs(evn(1,j)) .lt. wmax .and.
& abs(evn(2,j)) .lt. wmax ) then
mod = .true.
evn(3,j) = 2.
evn(4,j) = 1.
Expand Down
Loading