subroutine Hx & (H_obs,x,y) ! ********************************************************************** ! * . . . ! * PROGRAM: observation operator ! * ! * PRGMMR: D. ZUPANSKI ORG: CIRA/CSU DATE: 2003-10-01 ! * ! * ABSTRACT: Calculate obs operator: y=H(x) !------------------------------------------------------ ! H(x)=x ! H(x)=x**2 ! H(x)=x**3 ! H(x)=x**4 ! H(x)=exp(x) ! H(x)=10*log(138.*x**1.75) !! rain radar reflectivity !---------------------- ! * ! * PROGRAM LOG: ! * ! * 10/01/2003 ..... D. ZUPANSKI ! * ! ********************************************************************** real x real y real zz character*3 H_obs !============================================================== !------------------------------------------------------ !--- observation operator (transformation) ------------ !----------------------------------------------------- if(H_obs.eq.'pw1') then y=x elseif(H_obs.eq.'pw2') then y=x**2 elseif(H_obs.eq.'pw3') then y=x**3 elseif(H_obs.eq.'pw4') then y=x**4 elseif(H_obs.eq.'exp') then y=exp(x) elseif(H_obs.eq.'log') then if (x.gt.0.) then zz=10.*log(138.0*x**1.75) y=max(0.,zz) else y=0.0 end if else write(*,*) "out of options for H_obs !!!" end if !--------------------------------------------------- end subroutine Hx