!-------------------------------------- LICENCE BEGIN ------------------------------------
!Environment Canada - Atmospheric Science and Technology License/Disclaimer,
! version 3; Last Modified: May 7, 2008.
!This is free but copyrighted software; you can use/redistribute/modify it under the terms
!of the Environment Canada - Atmospheric Science and Technology License/Disclaimer
!version 3 or (at your option) any later version that should be found at:
!http://collaboration.cmc.ec.gc.ca/science/rpn.comm/license.html
!
!This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
!without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
!See the above mentioned License/Disclaimer for more details.
!You should have received a copy of the License/Disclaimer along with this software;
!if not, you can write to: EC-RPN COMM Group, 2121 TransCanada, suite 500, Dorval (Quebec),
!CANADA, H9P 1J3; or send e-mail to service.rpn@ec.gc.ca
!-------------------------------------- LICENCE END --------------------------------------
!
SUBROUTINE oda_maskro 1,4
use modmask
, only : lmaskro, lmask
#if defined (DOC)
*
*Purpose : Defines a mask of assimilated data
*
*Author : S. Pellerin, ARMA, January 2009
* Based on selection made in observation operator as written by
* J. M. Aparicio in Jan 2004
*
#endif
use modgps04profile
use modgps06gravity
use modgps08refop
IMPLICIT NONE
*implicits
#include "pardim.cdk"
#include "comdimo.cdk"
#include "comoabdy.cdk"
#include "comoahdr.cdk"
#include "comoba.cdk"
#include "cvcord.cdk"
*
REAL*8 PJO
REAL*8 PJO0, PJO1
C
REAL*8 ZTODEG
REAL*8 ZLAT, Lat
REAL*8 ZLON, Lon
REAL*8 ZETA(JPNFLEV)
REAL*8 BTT(JPNFLEV)
REAL*8 BHU(JPNFLEV)
REAL*8 BGZ(JPNFLEV)
REAL*8 BP0
REAL*8 BPT, BPR, BCF
REAL*8 BMT
REAL*8 DH
REAL*8 DNUM,SUM1,SUM2,AVG1,AVG2,BIAS,STD,RMS
REAL*8 HNH1
C
REAL*8 ZOBS, ZMHX, ZOER, ZINC, ZOBI, ZMHXL
REAL*8 JAC(ngpscvmx)
REAL*8 DX (ngpscvmx)
C
INTEGER JF
INTEGER IBEGIN , ILAST
INTEGER IBEGINOB, ILASTOB, JO
INTEGER IDATYP
INTEGER IDATA , IDATEND, JDATA
INTEGER JL, JV, JH, NQCVAR, NGPSLEV
C
LOGICAL ASSIM, LUSE
INTEGER NH, NH1, index
TYPE(GPSPROFILE) :: PRF
REAL(DP) , ALLOCATABLE :: H (:)
TYPE(GPSDIFF), ALLOCATABLE :: RSTV(:)
C
DO JF = 1, NFILES
C
C * Look only files of type Radio Occultation (RO)
C
IF ( CFAMTYP(JF).EQ.'RO' .AND. NBEGINTYP(JF).GT.0 ) THEN
IBEGIN = NBEGINTYP(JF)
ILAST = NENDTYP (JF)
IBEGINOB = MOBDATA(NCMOBS,IBEGIN)
ILASTOB = MOBDATA(NCMOBS,ILAST )
C
C * Loop over all observations of the file
C
DO JO = IBEGINOB, ILASTOB
IDATYP = MOD(MOBHDR(NCMITY,JO),1000)
IF ( IDATYP .EQ. 169 ) THEN
IDATA = MOBHDR(NCMRLN,JO)
IDATEND = MOBHDR(NCMNLV,JO) + IDATA - 1
DO JDATA= IDATA, IDATEND
LUSE=( MOBDATA(NCMASS,JDATA).EQ.1 )
IF ( LUSE ) THEN
lmaskro(jdata) = .true.
ENDIF
ENDDO
ENDIF
ENDDO
ENDIF
ENDDO
lmask = lmask .or. lmaskro
RETURN
END