!-------------------------------------- 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 gdtomvo 1 * #if defined (DOC) * ***s/r GDTOMVO - Simple forward operator where observations are located at * all analysis grid points (special case of BILIN) * *Author : Mark Buehner October 1998 *Revision: * #endif IMPLICIT NONE *implicits #include "pardim.cdk"
#include "comdim.cdk"
#include "comdimo.cdk"
#include "comgem.cdk"
#include "comgd0.cdk"
#include "commvo.cdk"
#include "comstate.cdk"
* INTEGER JK, JOBS,jlev,jlon,jgl,IERR INTEGER ILON, ILA, IMAX C C* 1.0 TRANSFORM WIND IMAGES INTO PHYSICAL WINDS C 100 CONTINUE C DO JK = 1, NFLEV DO ILA = 1, NJ IMAX = NILON(ILA) DO ILON = 1, IMAX UT0(ILON,JK,ILA) = CONPHY(ILA) * UT0(ILON,JK,ILA) VT0(ILON,JK,ILA) = CONPHY(ILA) * VT0(ILON,JK,ILA) ENDDO ENDDO ENDDO C c 2.0 Copy over from GD to MVO unchanged in the order JK,JLON,JLAT C JOBS=0 IMAX = NILON(1) DO ILON = 1, IMAX DO ILA = 1, NJ JOBS=JOBS+1 DO JK = 1, nflev if(NGEXIST(nguu).eq.1) then gomu(JK,JOBS) = ut0(ILON,JK,ILA) endif if(NGEXIST(ngvv).eq.1) then gomv(JK,JOBS) = vt0(ILON,JK,ILA) endif if(NGEXIST(ngq).eq.1) then gomq(JK,JOBS) = q0(ILON,JK,ILA) endif if(NGEXIST(nggz).eq.1) then gomgz(JK,JOBS) = gz0(ILON,JK,ILA) endif if(NGEXIST(ngtt).eq.1) then gomt(JK,JOBS) = tt0(ILON,JK,ILA) endif if(NGEXIST(ngoz).eq.1) then gomoz(JK,JOBS) = goz0(ILON,JK,ILA) endif if(NGEXIST(ngtr).eq.1) then gomtr(JK,JOBS) = gtr0(ILON,JK,ILA) endif enddo if(NGEXIST(ngps).eq.1) then gomps(1,JOBS) = gps0(ILON,1,ILA) endif enddo enddo C RETURN END