!-------------------------------------- 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 pasqrt(pinput,poutput,kdimin,kdimout) 9 #if defined (DOC) * ***s/r pasqrt * *Author : M. Buehner July, 2002 *Revision: * * ------------------- ** Purpose: * * Calculate: poutput = sqrt(Pa) * pinput * Note: assumes HesEval already modified for sqrt(Pa) * *Arguments * -NONE- #endif IMPLICIT NONE *implicits #include "comdim.cdk"
#include "comlun.cdk"
#include "comcva.cdk"
#include "comanl.cdk"
c integer kdimin,kdimout REAL*8 PINPUT(kdimin),POUTPUT(kdimout) REAL*8 ZSHORT(nprecon),ZOUTPUT(kdimout) INTEGER JJ,RR,ILEN,IERR c write(NULOUT,*) '***MULTIPLYING BY SQRT OF Panl***' c c New (simpler) way of calculating sqrt(Pa) * pin c DO RR=1,NPRECON ZSHORT(RR) = 0.0d0 ENDDO DO JJ=1,NVADIM ZOUTPUT(JJ)=0.0d0 ENDDO c DO RR=1,NPRECON DO JJ=1,NVADIM ZSHORT(RR)=ZSHORT(RR) + RRNK1(JJ,RR)*PINPUT(JJ) ENDDO ENDDO c DO RR=1,NPRECON ZSHORT(RR)=ZSHORT(RR)*HesEval(RR) ENDDO c DO JJ=1,NVADIM DO RR=1,NPRECON ZOUTPUT(JJ)= ZOUTPUT(JJ) + RRNK1(JJ,RR)*ZSHORT(RR) ENDDO ENDDO c DO JJ=1,NVADIM POUTPUT(JJ)= PINPUT(JJ) + ZOUTPUT(JJ) ENDDO c RETURN END