<HTML> <BODY BGCOLOR=#bbeeee LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE><a name='1'>
<font color=#447700>!----------------------------------------------------------------------<a name='2'></font>
<font color=#447700>!<a name='3'></font>
<font color=#447700>!NCEP_MESO:MODEL_LAYER: NONHYDROSTATIC DYNAMICS ROUTINES<a name='4'></font>
<font color=#447700>!<a name='5'></font>
<font color=#447700>!----------------------------------------------------------------------<a name='6'></font>
<font color=#447700>!<a name='7'></font>
#include "<A href='../../html_code/include/nmm_loop_basemacros.h.html'>nmm_loop_basemacros.h</A>"<A NAME="nmm_loop_basemacros.h_1"><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#module_NONHY_DYNAM.F' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><a name='8'>
#include "<A href='../../html_code/include/nmm_loop_macros.h.html'>nmm_loop_macros.h</A>"<A NAME="nmm_loop_macros.h_2"><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#module_NONHY_DYNAM.F' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><a name='9'>
<font color=#447700>!<a name='10'></font>
<font color=#447700>!----------------------------------------------------------------------<a name='11'></font>
<font color=#447700>!<a name='12'></font>
<A NAME='MODULE_NONHY_DYNAM'><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#MODULE_NONHY_DYNAM' TARGET='top_target'><IMG SRC="../../gif/bar_purple.gif" border=0></A><a name='13'>
      <font color=#993300>MODULE </font><font color=#cc0000>MODULE_NONHY_DYNAM</font> <A href='../../call_to/MODULE_NONHY_DYNAM.html' TARGET='index'>2</A><a name='14'>
<font color=#447700>!<a name='15'></font>
<font color=#447700>!----------------------------------------------------------------------<a name='16'></font>
      USE <A href='../../html_code/share/module_model_constants.F.html#MODULE_MODEL_CONSTANTS'>MODULE_MODEL_CONSTANTS</A><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#module_NONHY_DYNAM.F' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><A NAME="MODULE_MODEL_CONSTANTS_19"><a name='17'>
<font color=#447700>!     USE MODULE_INDX<a name='18'></font>
<font color=#447700>!----------------------------------------------------------------------<a name='19'></font>
<font color=#447700>!<a name='20'></font>
      REAL :: CAPA=R_D/CP,RG=1./G,TRG=2.*R_D/G<a name='21'>
<font color=#447700>!<a name='22'></font>
      CONTAINS<a name='23'>
<font color=#447700>!<a name='24'></font>
<font color=#447700>!***********************************************************************<a name='25'></font>
<A NAME='EPS'><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#EPS' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A><a name='26'>
      <font color=#993300>SUBROUTINE </font><font color=#cc0000>EPS</font>(NTSD,DT,HYDRO,DX,DY,FAD                            &amp; <A href='../../call_to/EPS.html' TARGET='index'>1</A><a name='27'>
                    ,DETA1,DETA2,PDTOP,PT                               &amp;<a name='28'>
                    ,HTM,HBM2,HBM3,LMH                                  &amp;<a name='29'>
                    ,PDSL,PDSLO,PINT,RTOP,PETDT,PDWDT                   &amp;<a name='30'>
                    ,DWDT,DWDTMN,DWDTMX                                 &amp;<a name='31'>
                    ,FNS,FEW,FNE,FSE                                    &amp;<a name='32'>
                    ,T,U,V,W,Q,CWM                                      &amp;<a name='33'>
                    ,IHE,IHW,IVE,IVW,INDX3_WRK                          &amp;<a name='34'>
                    ,IDS,IDE,JDS,JDE,KDS,KDE                            &amp;<a name='35'>
                    ,IMS,IME,JMS,JME,KMS,KME                            &amp;<a name='36'>
                    ,ITS,ITE,JTS,JTE,KTS,KTE)<a name='37'>
<font color=#447700>!***********************************************************************<a name='38'></font>
<font color=#447700>!$$$  SUBPROGRAM DOCUMENTATION BLOCK<a name='39'></font>
<font color=#447700>!                .      .    .<a name='40'></font>
<font color=#447700>! SUBPROGRAM:    EPS<a name='41'></font>
<font color=#447700>!   PRGRMMR: JANJIC          ORG: W/NP22     DATE: 9?-??-??<a name='42'></font>
<font color=#447700>!<a name='43'></font>
<font color=#447700>! ABSTRACT:<a name='44'></font>
<font color=#447700>!     EPS COMPUTES THE VERTICAL AND HORIZONTAL ADVECTION OF DZ/DT<a name='45'></font>
<font color=#447700>!<a name='46'></font>
<font color=#447700>! PROGRAM HISTORY LOG:<a name='47'></font>
<font color=#447700>!   9?-??-??  JANJIC     - ORIGINATOR<a name='48'></font>
<font color=#447700>!   00-01-05  BLACK      - DISTRIBUTED MEMORY AND THREADS<a name='49'></font>
<font color=#447700>!   02-02-07  BLACK      - CONVERTED TO WRF STRUCTURE<a name='50'></font>
<font color=#447700>!   04-11-22  BLACK      - THREADED<a name='51'></font>
<font color=#447700>!<a name='52'></font>
<font color=#447700>! USAGE: CALL EPS FROM SUBROUTINE SOLVE_RUNSTREAM<a name='53'></font>
<font color=#447700>!   INPUT ARGUMENT LIST:<a name='54'></font>
<font color=#447700>!<a name='55'></font>
<font color=#447700>!   OUTPUT ARGUMENT LIST:<a name='56'></font>
<font color=#447700>!<a name='57'></font>
<font color=#447700>!   OUTPUT FILES:<a name='58'></font>
<font color=#447700>!     NONE<a name='59'></font>
<font color=#447700>!<a name='60'></font>
<font color=#447700>!   SUBPROGRAMS CALLED:<a name='61'></font>
<font color=#447700>!<a name='62'></font>
<font color=#447700>!     UNIQUE: NONE<a name='63'></font>
<font color=#447700>!<a name='64'></font>
<font color=#447700>!     LIBRARY: NONE<a name='65'></font>
<font color=#447700>!<a name='66'></font>
<font color=#447700>! ATTRIBUTES:<a name='67'></font>
<font color=#447700>!   LANGUAGE: FORTRAN 90<a name='68'></font>
<font color=#447700>!   MACHINE : IBM SP<a name='69'></font>
<font color=#447700>!$$$<a name='70'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='71'></font>
<font color=#447700>!<a name='72'></font>
      IMPLICIT NONE<a name='73'>
<font color=#447700>!-----------------------------------------------------------------------<a name='74'></font>
#ifdef DM_PARALLEL<a name='75'>
      INCLUDE "<A href='../../html_code/include/mpif.h.html'>mpif.h</A>"<A NAME="mpif.h_3"><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#EPS' TARGET='bottom_target'><IMG SRC="../../gif/cyan.gif" border=0></a><a name='76'>
#endif<a name='77'>
<font color=#447700>!<a name='78'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='79'></font>
      INTEGER,INTENT(IN) :: IDS,IDE,JDS,JDE,KDS,KDE                     &amp;<a name='80'>
                           ,IMS,IME,JMS,JME,KMS,KME                     &amp;<a name='81'>
                           ,ITS,ITE,JTS,JTE,KTS,KTE <a name='82'>
<font color=#447700>!<a name='83'></font>
      INTEGER,DIMENSION(JMS:JME),INTENT(IN) :: IHE,IHW,IVE,IVW<a name='84'>
<font color=#447700>!<a name='85'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='86'></font>
<font color=#447700>!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<a name='87'></font>
<font color=#447700>!***  NMM_MAX_DIM is set in configure.wrf and must agree with<a name='88'></font>
<font color=#447700>!***  the value of dimspec q in the Registry/Registry<a name='89'></font>
<font color=#447700>!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<a name='90'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='91'></font>
<font color=#447700>!<a name='92'></font>
      INTEGER,DIMENSION(-3:3,NMM_MAX_DIM,0:6),INTENT(IN) :: INDX3_WRK<a name='93'>
<font color=#447700>!<a name='94'></font>
      INTEGER,INTENT(IN) :: NTSD<a name='95'>
<font color=#447700>!<a name='96'></font>
      INTEGER,DIMENSION(IMS:IME,JMS:JME),INTENT(IN) :: LMH<a name='97'>
<font color=#447700>!<a name='98'></font>
      REAL,INTENT(IN) :: DT,DY,PDTOP,PT<a name='99'>
<font color=#447700>!<a name='100'></font>
      REAL,DIMENSION(KMS:KME-1),INTENT(IN) :: DETA1,DETA2<a name='101'>
<font color=#447700>!<a name='102'></font>
      REAL,DIMENSION(IMS:IME,JMS:JME),INTENT(IN) :: DWDTMN,DWDTMX,DX    &amp;<a name='103'>
                                                   ,FAD,HBM2,HBM3       &amp;<a name='104'>
                                                   ,PDSL,PDSLO<a name='105'>
<font color=#447700>!<a name='106'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(IN) :: PETDT<a name='107'>
<font color=#447700>!<a name='108'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(IN) :: CWM         &amp;<a name='109'>
                                                           ,FEW,FNE     &amp;<a name='110'>
                                                           ,FNS,FSE     &amp;<a name='111'>
                                                           ,HTM,Q       &amp;<a name='112'>
                                                           ,RTOP        &amp;<a name='113'>
                                                           ,U,V<a name='114'>
<font color=#447700>!<a name='115'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(INOUT) :: DWDT     &amp;<a name='116'>
                                                              ,PDWDT    &amp;<a name='117'>
                                                              ,T<a name='118'>
<font color=#447700>!<a name='119'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(INOUT) :: PINT,W<a name='120'>
<font color=#447700>!<a name='121'></font>
      LOGICAL,INTENT(IN) :: HYDRO<a name='122'>
<font color=#447700>!<a name='123'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='124'></font>
<font color=#447700>!<a name='125'></font>
<font color=#447700>!***  LOCAL VARIABLES<a name='126'></font>
<font color=#447700>!<a name='127'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='128'></font>
<font color=#447700>!<a name='129'></font>
      INTEGER,PARAMETER :: NTSHY=2<a name='130'>
<font color=#447700>!<a name='131'></font>
      REAL,PARAMETER :: WGHT=0.35,WP=0.<a name='132'>
<font color=#447700>!<a name='133'></font>
      INTEGER,DIMENSION(KTS:KTE) :: LA<a name='134'>
<font color=#447700>!<a name='135'></font>
      INTEGER :: I,J,J4_00,J4_M1,J4_P1,J5_00,J5_M1,J6_00,J6_P1          &amp;<a name='136'>
                ,JEND,JJ,JKNT,JSTART,K,KOFF,LMP<a name='137'>
<font color=#447700>!<a name='138'></font>
      REAL,DIMENSION(KTS:KTE) :: B1,B2,B3,C0,CWM_K,DWDT_K,Q_K,RDPP      &amp;<a name='139'>
                                ,RTOP_K,T_K<a name='140'>
<font color=#447700>!<a name='141'></font>
      REAL,DIMENSION(KTS:KTE+1) :: CHI,COFF,PINT_K,PNP1,PONE,PSTR,W_K<a name='142'>
<font color=#447700>!<a name='143'></font>
      REAL,DIMENSION(ITS-5:ITE+5,JTS-5:JTE+5) :: TTB<a name='144'>
<font color=#447700>!<a name='145'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE) :: WEW<a name='146'>
<font color=#447700>!<a name='147'></font>
      REAL :: ADDT,DELP,DETAL,DP,DPDE,DPPL,DPSTR,DPTL,DPTU              &amp;<a name='148'>
             ,DWDTT,EPSN,FCT,FFC,GDT,GDT2                               &amp;<a name='149'>
             ,HBM3IJ,HM,PP1,PSTRDN,PSTRUP,RDP,RDPDN,RDPUP,RDT           &amp;<a name='150'>
             ,TFC,TMP,TTAL,TTFC<a name='151'>
<font color=#447700>!<a name='152'></font>
      LOGICAL :: BOT,TOP<a name='153'>
<font color=#447700>!<a name='154'></font>
<font color=#447700>!***  TYPE 4 WORKING ARRAY (SEE PFDHT)<a name='155'></font>
<font color=#447700>!<a name='156'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE,-1:1) :: WNS<a name='157'>
<font color=#447700>!<a name='158'></font>
<font color=#447700>!***  TYPE 5 WORKING ARRAY<a name='159'></font>
<font color=#447700>!<a name='160'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE,-1:0) :: WNE<a name='161'>
<font color=#447700>!<a name='162'></font>
<font color=#447700>!***  TYPE 6 WORKING ARRAY<a name='163'></font>
<font color=#447700>!<a name='164'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE, 0:1) :: WSE<a name='165'>
<font color=#447700>!-----------------------------------------------------------------------<a name='166'></font>
<font color=#447700>!***********************************************************************<a name='167'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='168'></font>
      IF(NTSD&lt;=NTSHY.OR.HYDRO)THEN<a name='169'>
<font color=#447700>!***<a name='170'></font>
        DO J=MYJS_P2,MYJE_P2<a name='171'>
        DO I=MYIS_P1,MYIE_P1<a name='172'>
          PINT(I,KTE+1,J)=PT<a name='173'>
        ENDDO<a name='174'>
        ENDDO<a name='175'>
<font color=#447700>!<a name='176'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='177'></font>
<font color=#447700>!$omp&amp; private(i,j,k)<a name='178'></font>
        DO J=MYJS_P2,MYJE_P2<a name='179'>
          DO K=KTS,KTE<a name='180'>
          DO I=MYIS_P1,MYIE_P1<a name='181'>
            DWDT(I,K,J)=1.<a name='182'>
            PDWDT(I,K,J)=1.<a name='183'>
          ENDDO<a name='184'>
          ENDDO<a name='185'>
        ENDDO<a name='186'>
<font color=#447700>!<a name='187'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='188'></font>
<font color=#447700>!$omp&amp; private(i,j,k)<a name='189'></font>
        DO J=MYJS_P2,MYJE_P2<a name='190'>
          DO K=KTE,KTS,-1<a name='191'>
          DO I=MYIS_P1,MYIE_P1<a name='192'>
            PINT(I,K,J)=DETA1(K)*PDTOP+DETA2(K)*PDSL(I,J)+PINT(I,K+1,J)<a name='193'>
          ENDDO<a name='194'>
          ENDDO<a name='195'>
        ENDDO<a name='196'>
<font color=#447700>!***<a name='197'></font>
        RETURN<a name='198'>
<font color=#447700>!***<a name='199'></font>
      ENDIF<a name='200'>
<font color=#447700>!-----------------------------------------------------------------------<a name='201'></font>
      ADDT=DT<a name='202'>
      RDT=1./ADDT<a name='203'>
<font color=#447700>!-----------------------------------------------------------------------<a name='204'></font>
<font color=#447700>!<a name='205'></font>
<font color=#447700>!***  TIME TENDENCY<a name='206'></font>
<font color=#447700>!<a name='207'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='208'></font>
<font color=#447700>!$omp&amp; private(i,j,k)<a name='209'></font>
      DO J=MYJS_P1,MYJE_P1<a name='210'>
        DO K=KTS,KTE<a name='211'>
        DO I=MYIS_P1,MYIE_P1<a name='212'>
          DWDT(I,K,J)=(W(I,K,J)-DWDT(I,K,J))*HTM(I,K,J)*HBM2(I,J)*RDT<a name='213'>
        ENDDO<a name='214'>
        ENDDO<a name='215'>
      ENDDO<a name='216'>
<font color=#447700>!<a name='217'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='218'></font>
<font color=#447700>!***<a name='219'></font>
<font color=#447700>!***  VERTICAL ADVECTION<a name='220'></font>
<font color=#447700>!***<a name='221'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='222'></font>
      DO J=MYJS2,MYJE2<a name='223'>
      DO I=MYIS,MYIE<a name='224'>
        TTB(I,J)=0.<a name='225'>
      ENDDO<a name='226'>
      ENDDO<a name='227'>
<font color=#447700>!<a name='228'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='229'></font>
<font color=#447700>!$omp&amp; private(i,j,k,ttal)<a name='230'></font>
      DO J=MYJS2,MYJE2<a name='231'>
      DO K=KTE,KTS+1,-1<a name='232'>
      DO I=MYIS,MYIE<a name='233'>
        TTAL=(W(I,K-1,J)-W(I,K,J))*PETDT(I,K-1,J)*0.5<a name='234'>
        DWDT(I,K,J)=(TTAL+TTB(I,J))                                     &amp;<a name='235'>
                   /(DETA1(K)*PDTOP+DETA2(K)*PDSLO(I,J))                &amp;<a name='236'>
                    +DWDT(I,K,J)<a name='237'>
        TTB(I,J)=TTAL<a name='238'>
      ENDDO<a name='239'>
      ENDDO<a name='240'>
      ENDDO<a name='241'>
<font color=#447700>!<a name='242'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='243'></font>
<font color=#447700>!$omp&amp; private(i,j)<a name='244'></font>
      DO J=MYJS2,MYJE2<a name='245'>
      DO I=MYIS1,MYIE1<a name='246'>
        TTB(I,J)=(W(I,KTS,J)-W(I,KTS+1,J))*PETDT(I,KTS,J)*0.5<a name='247'>
        DWDT(I,KTS,J)=TTB(I,J)/(DETA1(KTS)*PDTOP+DETA2(KTS)*PDSLO(I,J)) &amp;<a name='248'>
                     +DWDT(I,KTS,J)<a name='249'>
      ENDDO<a name='250'>
      ENDDO<a name='251'>
<font color=#447700>!-----------------------------------------------------------------------<a name='252'></font>
<font color=#447700>!***<a name='253'></font>
<font color=#447700>!***  END OF VERTICAL ADVECTION<a name='254'></font>
<font color=#447700>!***<a name='255'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='256'></font>
<font color=#447700>!<a name='257'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='258'></font>
<font color=#447700>!***<a name='259'></font>
<font color=#447700>!***  HORIZONTAL ADVECTION<a name='260'></font>
<font color=#447700>!***<a name='261'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='262'></font>
<font color=#447700>!***  MARCH NORTHWARD THROUGH THE SOUTHERNMOST SLABS TO BEGIN<a name='263'></font>
<font color=#447700>!***  FILLING THE MAIN WORKING ARRAYS WHICH ARE MULTI-DIMENSIONED<a name='264'></font>
<font color=#447700>!***  IN J BECAUSE THEY ARE DIFFERENCED OR AVERAGED IN J<a name='265'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='266'></font>
<font color=#447700>!<a name='267'></font>
      JSTART=MYJS3<a name='268'>
<font color=#447700>!<a name='269'></font>
      DO J=-1,0<a name='270'>
        JJ=JSTART+J<a name='271'>
<font color=#447700>!<a name='272'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='273'></font>
<font color=#447700>!$omp&amp; private(i,k)<a name='274'></font>
        DO K=KTS,KTE<a name='275'>
        DO I=MYIS_P3,MYIE_P3<a name='276'>
          WNS(I,K,J)=FNS(I,K,JJ)*(W(I,K,JJ+1)-W(I,K,JJ-1))<a name='277'>
        ENDDO<a name='278'>
        ENDDO<a name='279'>
<font color=#447700>!<a name='280'></font>
      ENDDO<a name='281'>
<font color=#447700>!<a name='282'></font>
      J=-1<a name='283'>
      JJ=JSTART+J<a name='284'>
<font color=#447700>!<a name='285'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='286'></font>
<font color=#447700>!$omp&amp; private(i,k)<a name='287'></font>
      DO K=KTS,KTE<a name='288'>
      DO I=MYIS_P2,MYIE1_P2<a name='289'>
        WNE(I,K,J)=FNE(I,K,JJ)*(W(I+IHE(JJ),K,JJ+1)-W(I,K,JJ))<a name='290'>
      ENDDO<a name='291'>
      ENDDO<a name='292'>
<font color=#447700>!<a name='293'></font>
      J=0<a name='294'>
      JJ=JSTART+J<a name='295'>
<font color=#447700>!<a name='296'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='297'></font>
<font color=#447700>!$omp&amp; private(i,k)<a name='298'></font>
      DO K=KTS,KTE<a name='299'>
      DO I=MYIS_P2,MYIE1_P2<a name='300'>
        WSE(I,K,J)=FSE(I,K,JJ)*(W(I+IHE(JJ),K,JJ-1)-W(I,K,JJ))<a name='301'>
      ENDDO<a name='302'>
      ENDDO<a name='303'>
<font color=#447700>!-----------------------------------------------------------------------<a name='304'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='305'></font>
<font color=#447700>!<a name='306'></font>
      JKNT=0<a name='307'>
      JSTART=MYJS3<a name='308'>
      JEND  =MYJE3<a name='309'>
<font color=#447700>!<a name='310'></font>
      main_horizontal:  DO J=JSTART,JEND<a name='311'>
<font color=#447700>!<a name='312'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='313'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='314'></font>
<font color=#447700>!***<a name='315'></font>
<font color=#447700>!***  SET THE 3RD INDEX IN THE WORKING ARRAYS (SEE SUBROUTINE INIT<a name='316'></font>
<font color=#447700>!***                                           AND PFDHT DIAGRAMS)<a name='317'></font>
<font color=#447700>!***<a name='318'></font>
<font color=#447700>!***  J[TYPE]_NN WHERE "TYPE" IS THE WORKING ARRAY TYPE SEEN IN THE<a name='319'></font>
<font color=#447700>!***  LOCAL DECLARATION ABOVE (DEPENDENT UPON THE J EXTENT) AND<a name='320'></font>
<font color=#447700>!***  NN IS THE NUMBER OF ROWS NORTH OF THE CENTRAL ROW WHOSE J IS<a name='321'></font>
<font color=#447700>!***  THE CURRENT VALUE OF THE main_integration LOOP.<a name='322'></font>
<font color=#447700>!***  (P3 denotes +3, M1 denotes -1, etc.)<a name='323'></font>
<font color=#447700>!***<a name='324'></font>
      JKNT=JKNT+1<a name='325'>
<font color=#447700>!<a name='326'></font>
      J4_P1=INDX3_WRK(1,JKNT,4)<a name='327'>
      J4_00=INDX3_WRK(0,JKNT,4)<a name='328'>
      J4_M1=INDX3_WRK(-1,JKNT,4)<a name='329'>
<font color=#447700>!<a name='330'></font>
      J5_00=INDX3_WRK(0,JKNT,5)<a name='331'>
      J5_M1=INDX3_WRK(-1,JKNT,5)<a name='332'>
<font color=#447700>!<a name='333'></font>
      J6_P1=INDX3_WRK(1,JKNT,6)<a name='334'>
      J6_00=INDX3_WRK(0,JKNT,6)<a name='335'>
<font color=#447700>!<a name='336'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='337'></font>
<font color=#447700>!***  THE WORKING ARRAYS FOR THE PRIMARY VARIABLES<a name='338'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='339'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='340'></font>
<font color=#447700>!$omp&amp; private(dpde,i,k)<a name='341'></font>
      DO K=KTS,KTE<a name='342'>
<font color=#447700>!<a name='343'></font>
      DO I=MYIS_P3,MYIE_P3<a name='344'>
        WEW(I,K)=FEW(I,K,J)*(W(I+IVE(J),K,J)-W(I+IVW(J),K,J))<a name='345'>
        WNS(I,K,J4_P1)=FNS(I,K,J+1)*(W(I,K,J+2)-W(I,K,J))<a name='346'>
      ENDDO<a name='347'>
<font color=#447700>!<a name='348'></font>
<font color=#447700>!***  DIAGONAL FLUXES AND DIAGONALLY AVERAGED WIND<a name='349'></font>
<font color=#447700>!<a name='350'></font>
      DO I=MYIS_P2,MYIE1_P2<a name='351'>
        WNE(I,K,J5_00)=FNE(I,K,J)*(W(I+IHE(J),K,J+1)-W(I,K,J))<a name='352'>
        WSE(I,K,J6_P1)=FSE(I,K,J+1)*(W(I+IHE(J+1),K,J)-W(I,K,J+1))<a name='353'>
      ENDDO<a name='354'>
<font color=#447700>!-----------------------------------------------------------------------<a name='355'></font>
<font color=#447700>!<a name='356'></font>
      DO I=MYIS2,MYIE2<a name='357'>
        DPDE=DETA1(K)*PDTOP+DETA2(K)*PDSLO(I,J)<a name='358'>
        DWDT(I,K,J)=-(WEW(I+IHW(J),K)      +WEW(I+IHE(J),K)             &amp;<a name='359'>
                     +WNS(I,K,J4_M1)       +WNS(I,K,J4_P1)              &amp;<a name='360'>
                     +WNE(I+IHW(J),K,J5_M1)+WNE(I,K,J5_00)              &amp;<a name='361'>
                     +WSE(I,K,J6_00)       +WSE(I+IHW(J),K,J6_P1))      &amp;<a name='362'>
                     *FAD(I,J)*HTM(I,K,J)*HBM3(I,J)/(DPDE*DT)           &amp;<a name='363'>
                     +DWDT(I,K,J)<a name='364'>
      ENDDO<a name='365'>
<font color=#447700>!<a name='366'></font>
      ENDDO<a name='367'>
<font color=#447700>!-----------------------------------------------------------------------<a name='368'></font>
<font color=#447700>!<a name='369'></font>
      ENDDO main_horizontal<a name='370'>
<font color=#447700>!<a name='371'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='372'></font>
<font color=#447700>!***<a name='373'></font>
<font color=#447700>!***  END OF HORIZONTAL ADVECTION<a name='374'></font>
<font color=#447700>!***<a name='375'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='376'></font>
<font color=#447700>!<a name='377'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='378'></font>
<font color=#447700>!$omp&amp; private(dwdtt,i,j,k)<a name='379'></font>
      DO J=MYJS,MYJE<a name='380'>
      DO K=KTS,KTE<a name='381'>
      DO I=MYIS,MYIE<a name='382'>
        DWDTT=DWDT(I,K,J)*HTM(I,K,J)<a name='383'>
        DWDTT=MAX(DWDTT,DWDTMN(I,J))<a name='384'>
        DWDTT=MIN(DWDTT,DWDTMX(I,J))<a name='385'>
<font color=#447700>!<a name='386'></font>
        DWDT(I,K,J)=(DWDTT*RG+1.)*(1.-WP)+PDWDT(I,K,J)*WP<a name='387'>
      ENDDO<a name='388'>
      ENDDO<a name='389'>
      ENDDO<a name='390'>
<font color=#447700>!-----------------------------------------------------------------------<a name='391'></font>
<font color=#447700>!<a name='392'></font>
      GDT=G*DT<a name='393'>
      GDT2=GDT*GDT<a name='394'>
      FFC=-R_D/GDT2<a name='395'>
<font color=#447700>!<a name='396'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='397'></font>
<font color=#447700>!<a name='398'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='399'></font>
<font color=#447700>!$omp&amp; private(b1,b2,b3,c0,chi,coff,cwm_k,delp,dppl,dpstr,dptl,dptu,    &amp;<a name='400'></font>
<font color=#447700>!$omp&amp;         dwdt_k,fct,hbm3ij,i,j,k,koff,pint_k,pnp1,pone,pp1,pstr,  &amp;<a name='401'></font>
<font color=#447700>!$omp&amp;         pstrdn,pstrup,q_k,rdpdn,rdpp,rdpup,rtop_k,t_k,tfc,       &amp;<a name='402'></font>
<font color=#447700>!$omp&amp;         tmp,ttfc,w_k)<a name='403'></font>
      final_update:  DO J=MYJS3,MYJE3<a name='404'>
<font color=#447700>!<a name='405'></font>
      PONE(KTE+1)=PT<a name='406'>
      PSTR(KTE+1)=PT<a name='407'>
      PNP1(KTE+1)=PT<a name='408'>
      CHI(KTE+1)=0.<a name='409'>
<font color=#447700>!<a name='410'></font>
      DO I=MYIS2,MYIE2<a name='411'>
<font color=#447700>!<a name='412'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='413'></font>
<font color=#447700>!<a name='414'></font>
<font color=#447700>!***  EXTRACT COLUMNS FROM 3-D ARRAYS<a name='415'></font>
<font color=#447700>!<a name='416'></font>
        DO K=KTS,KTE<a name='417'>
          CWM_K(K)=CWM(I,K,J)<a name='418'>
          DWDT_K(K)=DWDT(I,K,J)<a name='419'>
          Q_K(K)=Q(I,K,J)<a name='420'>
          RTOP_K(K)=RTOP(I,K,J)<a name='421'>
          T_K(K)=T(I,K,J)<a name='422'>
        ENDDO<a name='423'>
<font color=#447700>!<a name='424'></font>
        DO K=KTS,KTE+1<a name='425'>
          PINT_K(K)=PINT(I,K,J)<a name='426'>
          W_K(K)=W(I,K,J)<a name='427'>
        ENDDO<a name='428'>
<font color=#447700>!-----------------------------------------------------------------------<a name='429'></font>
<font color=#447700>!<a name='430'></font>
        KOFF=KTE-LMH(I,J)<a name='431'>
<font color=#447700>!<a name='432'></font>
        DO K=KTE,KOFF+1,-1<a name='433'>
          CHI(K)=0.<a name='434'>
          DPPL=DETA1(K)*PDTOP+DETA2(K)*PDSL(I,J)<a name='435'>
          RDPP(K)=1./DPPL<a name='436'>
          PONE(K)=PINT_K(K)<a name='437'>
          DPSTR=DWDT_K(K)*DPPL<a name='438'>
          PSTR(K)=PSTR(K+1)+DPSTR<a name='439'>
          PP1=PNP1(K+1)+DPSTR<a name='440'>
          PNP1(K)=(PP1-PONE(K))*WGHT+PONE(K)<a name='441'>
          TFC=Q_K(K)*P608+(1.-CWM_K(K))<a name='442'>
          TTFC=-CAPA*TFC+1.<a name='443'>
          COFF(K)=T_K(K)*TTFC*TFC*DPPL*FFC                              &amp;<a name='444'>
                   /((PNP1(K+1)+PNP1(K))*(PNP1(K+1)+PNP1(K)))<a name='445'>
        ENDDO<a name='446'>
<font color=#447700>!-----------------------------------------------------------------------<a name='447'></font>
<font color=#447700>!<a name='448'></font>
        PSTRUP=-(PSTR(KTE+1)+PSTR(KTE)-PONE(KTE+1)-PONE(KTE))*COFF(KTE)<a name='449'>
<font color=#447700>!<a name='450'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='451'></font>
        DO K=KTE-1,KOFF+1,-1<a name='452'>
          RDPDN=RDPP(K)<a name='453'>
          RDPUP=RDPP(K+1)<a name='454'>
<font color=#447700>!<a name='455'></font>
          PSTRDN=-(PSTR(K+1)+PSTR(K)-PONE(K+1)-PONE(K))*COFF(K)<a name='456'>
<font color=#447700>!<a name='457'></font>
          B1(K)=COFF(K+1)+RDPUP<a name='458'>
          B2(K)=(COFF(K+1)+COFF(K))-(RDPUP+RDPDN)<a name='459'>
          B3(K)=COFF(K)+RDPDN<a name='460'>
          C0(K)=PSTRUP+PSTRDN<a name='461'>
<font color=#447700>!<a name='462'></font>
          PSTRUP=PSTRDN<a name='463'>
        ENDDO<a name='464'>
<font color=#447700>!-----------------------------------------------------------------------<a name='465'></font>
        B1(KTE-1)=0.<a name='466'>
        B2(KOFF+1)=B2(KOFF+1)+B3(KOFF+1)<a name='467'>
<font color=#447700>!-----------------------------------------------------------------------<a name='468'></font>
<font color=#447700>!<a name='469'></font>
<font color=#447700>!***  ELIMINATION<a name='470'></font>
<font color=#447700>!<a name='471'></font>
        DO K=KTE-2,KOFF+1,-1<a name='472'>
          TMP=-B1(K)/B2(K+1)<a name='473'>
          B2(K)=B3(K+1)*TMP+B2(K)<a name='474'>
          C0(K)=C0(K+1)*TMP+C0(K)<a name='475'>
        ENDDO<a name='476'>
<font color=#447700>!<a name='477'></font>
        CHI(KTE+1)=0.<a name='478'>
<font color=#447700>!-----------------------------------------------------------------------<a name='479'></font>
<font color=#447700>!<a name='480'></font>
<font color=#447700>!***  BACK SUBSTITUTION<a name='481'></font>
<font color=#447700>!<a name='482'></font>
        CHI(KOFF+2)=C0(KOFF+1)/B2(KOFF+1)<a name='483'>
        CHI(KOFF+1)=CHI(KOFF+2)<a name='484'>
<font color=#447700>!<a name='485'></font>
        DO K=KOFF+3,KTE<a name='486'>
          CHI(K)=(-B3(K-1)*CHI(K-1)+C0(K-1))/B2(K-1)<a name='487'>
        ENDDO<a name='488'>
<font color=#447700>!-----------------------------------------------------------------------<a name='489'></font>
        HBM3IJ=HBM3(I,J)<a name='490'>
        DPTU=0.<a name='491'>
        FCT=0.5/CP*HBM3IJ<a name='492'>
<font color=#447700>!<a name='493'></font>
        DO K=KTE,KOFF+1,-1<a name='494'>
          DPTL=(CHI(K)+PSTR(K)-PINT_K(K))*HBM3IJ<a name='495'>
          PINT_K(K)=PINT_K(K)+DPTL<a name='496'>
          T_K(K)=(DPTU+DPTL)*RTOP_K(K)*FCT+T_K(K)<a name='497'>
          DELP=(PINT_K(K)-PINT_K(K+1))*RDPP(K)<a name='498'>
          W_K(K)=((DELP-DWDT_K(K))*GDT+W_K(K))*HBM3IJ<a name='499'>
          DWDT_K(K)=(DELP-1.)*HBM3IJ+1.<a name='500'>
<font color=#447700>!<a name='501'></font>
          DPTU=DPTL<a name='502'>
        ENDDO<a name='503'>
<font color=#447700>!-----------------------------------------------------------------------<a name='504'></font>
        DO K=KOFF+1,KTE<a name='505'>
          PINT(I,K,J)=PINT_K(K)<a name='506'>
          T(I,K,J)=T_K(K)<a name='507'>
          W(I,K,J)=W_K(K)<a name='508'>
          DWDT(I,K,J)=DWDT_K(K)<a name='509'>
        ENDDO<a name='510'>
<font color=#447700>!-----------------------------------------------------------------------<a name='511'></font>
<font color=#447700>!<a name='512'></font>
      ENDDO<a name='513'>
<font color=#447700>!<a name='514'></font>
      ENDDO final_update<a name='515'>
<font color=#447700>!<a name='516'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='517'></font>
<font color=#447700>!<a name='518'></font>
      END SUBROUTINE EPS<a name='519'>
<font color=#447700>!<a name='520'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='521'></font>
<font color=#447700>!<a name='522'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='523'></font>
<font color=#447700>!***********************************************************************<a name='524'></font>
<A NAME='VADZ'><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#VADZ' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A><a name='525'>
      <font color=#993300>SUBROUTINE </font><font color=#cc0000>VADZ</font>(NTSD,DT,FIS,SIGMA,DFL,HTM,HBM2                    &amp; <A href='../../call_to/VADZ.html' TARGET='index'>1</A><a name='526'>
                     ,DETA1,DETA2,PDTOP                                 &amp;<a name='527'>
                     ,PINT,PDSL,PDSLO,PETDT                             &amp;<a name='528'>
                     ,RTOP,T,Q,CWM,Z,W,DWDT,PDWDT                       &amp;<a name='529'>
                     ,IHE,IHW,IVE,IVW,INDX3_WRK                         &amp;<a name='530'>
                     ,IDS,IDE,JDS,JDE,KDS,KDE                           &amp;<a name='531'>
                     ,IMS,IME,JMS,JME,KMS,KME                           &amp;<a name='532'>
                     ,ITS,ITE,JTS,JTE,KTS,KTE)<a name='533'>
<font color=#447700>!***********************************************************************<a name='534'></font>
<font color=#447700>!$$$  SUBPROGRAM DOCUMENTATION BLOCK<a name='535'></font>
<font color=#447700>!                .      .    .     <a name='536'></font>
<font color=#447700>! SUBPROGRAM:    VADZ        VERTICAL ADVECTION OF HEIGHT<a name='537'></font>
<font color=#447700>!   PRGRMMR: JANJIC          ORG: W/NP22     DATE: 93-11-17<a name='538'></font>
<font color=#447700>!     <a name='539'></font>
<font color=#447700>! ABSTRACT:<a name='540'></font>
<font color=#447700>!     VADV CALCULATES THE CONTRIBUTION OF THE VERTICAL ADVECTION<a name='541'></font>
<font color=#447700>!     OF HEIGHT IN ORDER TO COMPUTE W=DZ/DT DIAGNOSTICALLY<a name='542'></font>
<font color=#447700>!     <a name='543'></font>
<font color=#447700>! PROGRAM HISTORY LOG:<a name='544'></font>
<font color=#447700>!   96-05-??  JANJIC     - ORIGINATOR<a name='545'></font>
<font color=#447700>!   00-01-04  BLACK      - DISTRIBUTED MEMORY AND THREADS<a name='546'></font>
<font color=#447700>!   01-03-26  BLACK      - CONVERTED TO WRF STRUCTURE<a name='547'></font>
<font color=#447700>!   02-02-19  BLACK      - CONVERSION UPDATED<a name='548'></font>
<font color=#447700>!   04-11-22  BLACK      - THREADED<a name='549'></font>
<font color=#447700>!     <a name='550'></font>
<font color=#447700>! USAGE: CALL VADZ FROM MAIN PROGRAM<a name='551'></font>
<font color=#447700>!   INPUT ARGUMENT LIST:<a name='552'></font>
<font color=#447700>!<a name='553'></font>
<font color=#447700>!   OUTPUT ARGUMENT LIST:<a name='554'></font>
<font color=#447700>!<a name='555'></font>
<font color=#447700>!   OUTPUT FILES:<a name='556'></font>
<font color=#447700>!     NONE<a name='557'></font>
<font color=#447700>!<a name='558'></font>
<font color=#447700>!   SUBPROGRAMS CALLED:<a name='559'></font>
<font color=#447700>!<a name='560'></font>
<font color=#447700>!     UNIQUE: NONE<a name='561'></font>
<font color=#447700>!<a name='562'></font>
<font color=#447700>!     LIBRARY: NONE<a name='563'></font>
<font color=#447700>!<a name='564'></font>
<font color=#447700>! ATTRIBUTES:<a name='565'></font>
<font color=#447700>!   LANGUAGE: FORTRAN 90<a name='566'></font>
<font color=#447700>!   MACHINE : IBM SP<a name='567'></font>
<font color=#447700>!$$$<a name='568'></font>
<font color=#447700>!***********************************************************************<a name='569'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='570'></font>
<font color=#447700>!<a name='571'></font>
      IMPLICIT NONE<a name='572'>
<font color=#447700>!<a name='573'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='574'></font>
#ifdef  AS_RECEIVED<a name='575'>
      LOGICAL,INTENT(IN) :: SIGMA<a name='576'>
#else<a name='577'>
      INTEGER,INTENT(IN) :: SIGMA<a name='578'>
#endif<a name='579'>
<font color=#447700>!<a name='580'></font>
      INTEGER,INTENT(IN) :: NTSD<a name='581'>
<font color=#447700>!<a name='582'></font>
      INTEGER,INTENT(IN) :: IDS,IDE,JDS,JDE,KDS,KDE                     &amp;<a name='583'>
                           ,IMS,IME,JMS,JME,KMS,KME                     &amp;<a name='584'>
                           ,ITS,ITE,JTS,JTE,KTS,KTE<a name='585'>
<font color=#447700>!<a name='586'></font>
      INTEGER,DIMENSION(JMS:JME),INTENT(IN) :: IHE,IHW,IVE,IVW<a name='587'>
<font color=#447700>!<a name='588'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='589'></font>
<font color=#447700>!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<a name='590'></font>
<font color=#447700>!***  NMM_MAX_DIM is set in configure.wrf and must agree with<a name='591'></font>
<font color=#447700>!***  the value of dimspec q in the Registry/Registry<a name='592'></font>
<font color=#447700>!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<a name='593'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='594'></font>
<font color=#447700>!<a name='595'></font>
      INTEGER,DIMENSION(-3:3,NMM_MAX_DIM,0:6),INTENT(IN) :: INDX3_WRK<a name='596'>
<font color=#447700>!<a name='597'></font>
      REAL,INTENT(IN) :: DT,PDTOP<a name='598'>
<font color=#447700>!<a name='599'></font>
      REAL,DIMENSION(KTS:KTE),INTENT(IN) :: DETA1,DETA2<a name='600'>
<font color=#447700>!<a name='601'></font>
      REAL,DIMENSION(KTS:KTE+1),INTENT(IN) :: DFL<a name='602'>
<font color=#447700>!<a name='603'></font>
      REAL,DIMENSION(IMS:IME,JMS:JME),INTENT(IN) :: FIS,HBM2,PDSL,PDSLO<a name='604'>
<font color=#447700>!<a name='605'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(IN) :: PETDT<a name='606'>
<font color=#447700>!<a name='607'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(IN) :: CWM,HTM     &amp;<a name='608'>
                                                           ,Q,RTOP,T<a name='609'>
<font color=#447700>!<a name='610'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(OUT) :: PDWDT<a name='611'>
<font color=#447700>!<a name='612'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(INOUT) :: DWDT<a name='613'>
<font color=#447700>!<a name='614'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(IN) :: PINT<a name='615'>
<font color=#447700>!<a name='616'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(OUT) :: W,Z<a name='617'>
<font color=#447700>!-----------------------------------------------------------------------<a name='618'></font>
<font color=#447700>!<a name='619'></font>
<font color=#447700>!***  LOCAL VARIABLES<a name='620'></font>
<font color=#447700>!<a name='621'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='622'></font>
      INTEGER :: I,J,K<a name='623'>
<font color=#447700>!<a name='624'></font>
      REAL,DIMENSION(IMS:IME,JMS:JME) :: FNE,FSE,TTB<a name='625'>
<font color=#447700>!<a name='626'></font>
      REAL :: DZ,RDT,TTAL,ZETA<a name='627'>
<font color=#447700>!-----------------------------------------------------------------------<a name='628'></font>
<font color=#447700>!***********************************************************************<a name='629'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='630'></font>
      RDT=1./DT<a name='631'>
<font color=#447700>!-----------------------------------------------------------------------<a name='632'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='633'></font>
<font color=#447700>!$omp&amp; private(dz,i,j,k,zeta)<a name='634'></font>
      DO J=MYJS,MYJE<a name='635'>
<font color=#447700>!<a name='636'></font>
        DO K=KTS,KTE<a name='637'>
        DO I=MYIS,MYIE<a name='638'>
          PDWDT(I,K,J)=DWDT(I,K,J)<a name='639'>
          DWDT(I,K,J)=W(I,K,J)<a name='640'>
        ENDDO<a name='641'>
        ENDDO<a name='642'>
<font color=#447700>!<a name='643'></font>
        DO I=MYIS,MYIE<a name='644'>
          W(I,KTS,J)=0.<a name='645'>
#ifdef AS_RECEIVED<a name='646'>
          IF(SIGMA)THEN<a name='647'>
#else<a name='648'>
          IF(SIGMA==1)THEN<a name='649'>
#endif<a name='650'>
            Z(I,KTS,J)=FIS(I,J)*RG<a name='651'>
          ELSE<a name='652'>
            Z(I,KTS,J)=0.<a name='653'>
          ENDIF<a name='654'>
        ENDDO<a name='655'>
<font color=#447700>!<a name='656'></font>
        DO K=KTS,KTE<a name='657'>
<font color=#447700>!<a name='658'></font>
          ZETA=DFL(K+1)*RG<a name='659'>
<font color=#447700>!<a name='660'></font>
          DO I=MYIS,MYIE<a name='661'>
<font color=#447700>!<a name='662'></font>
            DZ=(Q(I,K,J)*P608-CWM(I,K,J)+1.)*T(I,K,J)                   &amp;<a name='663'>
              /(PINT(I,K+1,J)+PINT(I,K,J))                              &amp;<a name='664'>
              *(DETA1(K)*PDTOP+DETA2(K)*PDSL(I,J))*TRG<a name='665'>
            Z(I,K+1,J)=(Z(I,K,J)+DZ-ZETA)*HTM(I,K,J)+ZETA<a name='666'>
            W(I,K+1,J)=(DZ-RTOP(I,K,J)                                  &amp;<a name='667'>
                      *(DETA1(K)*PDTOP+DETA2(K)*PDSLO(I,J))*RG)         &amp;<a name='668'>
                      *HTM(I,K,J)*HBM2(I,J)                             &amp;<a name='669'>
                      +W(I,K,J)<a name='670'>
<font color=#447700>!<a name='671'></font>
          ENDDO<a name='672'>
        ENDDO<a name='673'>
<font color=#447700>!<a name='674'></font>
      ENDDO<a name='675'>
<font color=#447700>!-----------------------------------------------------------------------<a name='676'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='677'></font>
<font color=#447700>!$omp&amp; private(i,j,k)<a name='678'></font>
      DO J=MYJS,MYJE<a name='679'>
<font color=#447700>!<a name='680'></font>
        DO K=KTS,KTE<a name='681'>
        DO I=MYIS,MYIE<a name='682'>
          Z(I,K,J)=(Z(I,K+1,J)+Z(I,K,J))*0.5<a name='683'>
          W(I,K,J)=(W(I,K+1,J)+W(I,K,J))*HTM(I,K,J)*HBM2(I,J)*0.5*RDT<a name='684'>
        ENDDO<a name='685'>
        ENDDO<a name='686'>
<font color=#447700>!<a name='687'></font>
      ENDDO<a name='688'>
<font color=#447700>!-----------------------------------------------------------------------<a name='689'></font>
      DO J=MYJS,MYJE<a name='690'>
      DO I=MYIS,MYIE<a name='691'>
        TTB(I,J)=0.<a name='692'>
      ENDDO<a name='693'>
      ENDDO<a name='694'>
<font color=#447700>!<a name='695'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='696'></font>
<font color=#447700>!$omp&amp; private(i,j,k,ttal)<a name='697'></font>
      DO J=MYJS2,MYJE2<a name='698'>
        DO K=KTE,KTS+1,-1<a name='699'>
        DO I=MYIS1,MYIE1<a name='700'>
          TTAL=(Z(I,K-1,J)-Z(I,K,J))*PETDT(I,K-1,J)*0.5<a name='701'>
          W(I,K,J)=(TTAL+TTB(I,J))/(DETA1(K)*PDTOP+DETA2(K)*PDSLO(I,J)) &amp;<a name='702'>
                  +W(I,K,J)<a name='703'>
          TTB(I,J)=TTAL<a name='704'>
        ENDDO<a name='705'>
        ENDDO<a name='706'>
      ENDDO<a name='707'>
<font color=#447700>!<a name='708'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='709'></font>
<font color=#447700>!$omp&amp; private(i,j)<a name='710'></font>
      DO J=MYJS2,MYJE2<a name='711'>
      DO I=MYIS1,MYIE1<a name='712'>
        W(I,KTS,J)=TTB(I,J)/(DETA1(KTS)*PDTOP+DETA2(KTS)*PDSLO(I,J))    &amp;<a name='713'>
                  +W(I,KTS,J)<a name='714'>
      ENDDO<a name='715'>
      ENDDO<a name='716'>
<font color=#447700>!-----------------------------------------------------------------------<a name='717'></font>
      END SUBROUTINE VADZ<a name='718'>
<font color=#447700>!-----------------------------------------------------------------------<a name='719'></font>
<font color=#447700>!<a name='720'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='721'></font>
<font color=#447700>!***********************************************************************<a name='722'></font>
<A NAME='HADZ'><A href='../../html_code/dyn_nmm/module_NONHY_DYNAM.F.html#HADZ' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A><a name='723'>
      <font color=#993300>SUBROUTINE </font><font color=#cc0000>HADZ</font>(NTSD,DT,HYDRO,HTM,HBM2,DETA1,DETA2,PDTOP          &amp; <A href='../../call_to/HADZ.html' TARGET='index'>1</A><a name='724'>
                     ,DX,DY,FAD                                         &amp;<a name='725'>
                     ,FEW,FNS,FNE,FSE                                   &amp;<a name='726'>
                     ,PDSL,U,V,W,Z                                      &amp;<a name='727'>
                     ,IHE,IHW,IVE,IVW,INDX3_WRK                         &amp;<a name='728'>
                     ,IDS,IDE,JDS,JDE,KDS,KDE                           &amp;<a name='729'>
                     ,IMS,IME,JMS,JME,KMS,KME                           &amp;<a name='730'>
                     ,ITS,ITE,JTS,JTE,KTS,KTE)<a name='731'>
<font color=#447700>!***********************************************************************<a name='732'></font>
<font color=#447700>!$$$  SUBPROGRAM DOCUMENTATION BLOCK<a name='733'></font>
<font color=#447700>!                .      .    .     <a name='734'></font>
<font color=#447700>! SUBPROGRAM:    HADZ        HORIZONTAL ADVECTION OF HEIGHT<a name='735'></font>
<font color=#447700>!   PRGRMMR: JANJIC          ORG: W/NP22     DATE: 96-05-??       <a name='736'></font>
<font color=#447700>!     <a name='737'></font>
<font color=#447700>! ABSTRACT:<a name='738'></font>
<font color=#447700>!     HADZ CALCULATES DIAGNOSTICALLY THE CONTRIBUTION OF<a name='739'></font>
<font color=#447700>!     THE HORIZONTAL ADVECTION OF HEIGHT<a name='740'></font>
<font color=#447700>!     <a name='741'></font>
<font color=#447700>! PROGRAM HISTORY LOG:<a name='742'></font>
<font color=#447700>!   96-05-??  JANJIC     - ORIGINATOR<a name='743'></font>
<font color=#447700>!   00-01-04  BLACK      - DISTRIBUTED MEMORY AND THREADS<a name='744'></font>
<font color=#447700>!   01-03-26  BLACK      - CONVERTED TO WRF STRUCTURE<a name='745'></font>
<font color=#447700>!   04-11-22  BLACK      - THREADED<a name='746'></font>
<font color=#447700>!<a name='747'></font>
<font color=#447700>! USAGE: CALL HADZ FROM MAIN PROGRAM<a name='748'></font>
<font color=#447700>!   INPUT ARGUMENT LIST:<a name='749'></font>
<font color=#447700>!<a name='750'></font>
<font color=#447700>!   OUTPUT ARGUMENT LIST:<a name='751'></font>
<font color=#447700>!     NONE<a name='752'></font>
<font color=#447700>!<a name='753'></font>
<font color=#447700>!   OUTPUT FILES:<a name='754'></font>
<font color=#447700>!<a name='755'></font>
<font color=#447700>!   SUBPROGRAMS CALLED:<a name='756'></font>
<font color=#447700>!<a name='757'></font>
<font color=#447700>!     UNIQUE: NONE<a name='758'></font>
<font color=#447700>!<a name='759'></font>
<font color=#447700>!     LIBRARY: NONE<a name='760'></font>
<font color=#447700>!<a name='761'></font>
<font color=#447700>! ATTRIBUTES:<a name='762'></font>
<font color=#447700>!   LANGUAGE: FORTRAN 90<a name='763'></font>
<font color=#447700>!   MACHINE : IBM SP<a name='764'></font>
<font color=#447700>!$$$<a name='765'></font>
<font color=#447700>!***********************************************************************<a name='766'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='767'></font>
<font color=#447700>!<a name='768'></font>
      IMPLICIT NONE<a name='769'>
<font color=#447700>!<a name='770'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='771'></font>
      LOGICAL,INTENT(IN) :: HYDRO<a name='772'>
<font color=#447700>!<a name='773'></font>
      INTEGER,INTENT(IN) :: NTSD<a name='774'>
<font color=#447700>!<a name='775'></font>
      INTEGER,INTENT(IN) :: IDS,IDE,JDS,JDE,KDS,KDE                     &amp;<a name='776'>
                           ,IMS,IME,JMS,JME,KMS,KME                     &amp;<a name='777'>
                           ,ITS,ITE,JTS,JTE,KTS,KTE<a name='778'>
<font color=#447700>!<a name='779'></font>
      INTEGER,DIMENSION(JMS:JME),INTENT(IN) :: IHE,IHW,IVE,IVW<a name='780'>
<font color=#447700>!<a name='781'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='782'></font>
<font color=#447700>!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<a name='783'></font>
<font color=#447700>!***  NMM_MAX_DIM is set in configure.wrf and must agree with<a name='784'></font>
<font color=#447700>!***  the value of dimspec q in the Registry/Registry<a name='785'></font>
<font color=#447700>!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!<a name='786'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='787'></font>
<font color=#447700>!<a name='788'></font>
      INTEGER,DIMENSION(-3:3,NMM_MAX_DIM,0:6),INTENT(IN) :: INDX3_WRK<a name='789'>
<font color=#447700>!<a name='790'></font>
      REAL,INTENT(IN) :: DT,DY,PDTOP<a name='791'>
<font color=#447700>!<a name='792'></font>
      REAL,DIMENSION(KMS:KME-1),INTENT(IN) :: DETA1,DETA2<a name='793'>
<font color=#447700>!<a name='794'></font>
      REAL,DIMENSION(IMS:IME,JMS:JME),INTENT(IN) :: DX,FAD,HBM2,PDSL<a name='795'>
<font color=#447700>!<a name='796'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(IN) :: HTM,U,V<a name='797'>
<font color=#447700>!<a name='798'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(OUT) :: FEW,FNE    &amp;<a name='799'>
                                                            ,FNS,FSE<a name='800'>
<font color=#447700>!<a name='801'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(IN) :: Z<a name='802'>
<font color=#447700>!<a name='803'></font>
      REAL,DIMENSION(IMS:IME,KMS:KME,JMS:JME),INTENT(INOUT) :: W<a name='804'>
<font color=#447700>!-----------------------------------------------------------------------<a name='805'></font>
<font color=#447700>!<a name='806'></font>
<font color=#447700>!***  LOCAL VARIABLES<a name='807'></font>
<font color=#447700>!<a name='808'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='809'></font>
      INTEGER,PARAMETER :: NTSHY=2<a name='810'>
<font color=#447700>!<a name='811'></font>
      INTEGER :: I,J,J1_00,J1_P1,J1_P2,J4_00,J4_M1,J4_P1,J5_00,J5_M1    &amp;<a name='812'>
                ,J6_00,J6_P1,JJ,JKNT,JSTART,K<a name='813'>
<font color=#447700>!<a name='814'></font>
      REAL :: FEWP,FNEP,FNSP,FSEP,UDY,VDX<a name='815'>
<font color=#447700>!<a name='816'></font>
      REAL,DIMENSION(IMS:IME,KTS:KTE) :: UDY_00,ZEW<a name='817'>
<font color=#447700>!<a name='818'></font>
<font color=#447700>!***  TYPE 1 WORKING ARRAY (SEE PFDHT)<a name='819'></font>
<font color=#447700>!<a name='820'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE,-2:2) :: DPDE<a name='821'>
<font color=#447700>!<a name='822'></font>
<font color=#447700>!***  TYPE 4 WORKING ARRAY <a name='823'></font>
<font color=#447700>!<a name='824'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE,-1:1) :: UNED,USED,ZNS<a name='825'>
<font color=#447700>!<a name='826'></font>
<font color=#447700>!***  TYPE 5 WORKING ARRAY<a name='827'></font>
<font color=#447700>!<a name='828'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE,-1:0) :: ZNE<a name='829'>
<font color=#447700>!<a name='830'></font>
<font color=#447700>!***  TYPE 6 WORKING ARRAY<a name='831'></font>
<font color=#447700>!<a name='832'></font>
      REAL,DIMENSION(ITS-5:ITE+5,KTS:KTE, 0:1) :: ZSE<a name='833'>
<font color=#447700>!-----------------------------------------------------------------------<a name='834'></font>
<font color=#447700>!***********************************************************************<a name='835'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='836'></font>
      IF(NTSD+1&lt;=NTSHY.OR.HYDRO)THEN<a name='837'>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='838'></font>
<font color=#447700>!$omp&amp; private(i,j,k)<a name='839'></font>
        DO J=MYJS,MYJE<a name='840'>
          DO K=KTS,KTE<a name='841'>
          DO I=MYIS,MYIE<a name='842'>
            W(I,K,J)=0.<a name='843'>
          ENDDO<a name='844'>
          ENDDO<a name='845'>
        ENDDO<a name='846'>
<font color=#447700>!***<a name='847'></font>
        RETURN<a name='848'>
<font color=#447700>!***<a name='849'></font>
      ENDIF<a name='850'>
<font color=#447700>!-----------------------------------------------------------------------<a name='851'></font>
<font color=#447700>!***********************************************************************<a name='852'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='853'></font>
<font color=#447700>!<a name='854'></font>
<font color=#447700>!***  FIRST ZERO OUT SOME WORKING ARRAYS<a name='855'></font>
<font color=#447700>!<a name='856'></font>
      DO J=-2,2<a name='857'>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='858'></font>
<font color=#447700>!$omp&amp; private(i,k)<a name='859'></font>
      DO K=KTS,KTE<a name='860'>
      DO I=ITS-5,ITE+5<a name='861'>
        DPDE(I,K,J)=0.<a name='862'>
      ENDDO<a name='863'>
      ENDDO<a name='864'>
      ENDDO<a name='865'>
<font color=#447700>!<a name='866'></font>
      DO J=-1,1<a name='867'>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='868'></font>
<font color=#447700>!$omp&amp; private(i,k)<a name='869'></font>
      DO K=KTS,KTE<a name='870'>
      DO I=ITS-5,ITE+5<a name='871'>
        UNED(I,K,J)=0.<a name='872'>
D(I,K,J)=0.<a name='873'>
      ENDDO<a name='874'>
      ENDDO<a name='875'>
      ENDDO<a name='876'>
<font color=#447700>!<a name='877'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='878'></font>
<font color=#447700>!***  MARCH NORTHWARD THROUGH THE SOUTHERNMOST SLABS TO BEGIN<a name='879'></font>
<font color=#447700>!***  FILLING THE MAIN WORKING ARRAYS WHICH ARE MULTI-DIMENSIONED<a name='880'></font>
<font color=#447700>!***  IN J BECAUSE THEY ARE DIFFERENCED OR AVERAGED IN J<a name='881'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='882'></font>
<font color=#447700>!<a name='883'></font>
      JSTART=MYJS2_P1<a name='884'>
<font color=#447700>!<a name='885'></font>
      DO J=-2,1<a name='886'>
        JJ=JSTART+J<a name='887'>
<font color=#447700>!<a name='888'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='889'></font>
<font color=#447700>!$omp&amp; private(i,k)<a name='890'></font>
        DO K=KTS,KTE<a name='891'>
        DO I=MYIS_P4,MYIE_P4<a name='892'>
          DPDE(I,K,J)=DETA1(K)*PDTOP+DETA2(K)*PDSL(I,JJ)<a name='893'>
        ENDDO<a name='894'>
        ENDDO<a name='895'>
<font color=#447700>!<a name='896'></font>
      ENDDO<a name='897'>
<font color=#447700>!<a name='898'></font>
      DO J=-1,0<a name='899'>
        JJ=JSTART+J<a name='900'>
<font color=#447700>!<a name='901'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='902'></font>
<font color=#447700>!$omp&amp; private(fnsp,i,k,udy,vdx)<a name='903'></font>
        DO K=KTS,KTE<a name='904'>
        DO I=MYIS_P3,MYIE_P3<a name='905'>
          UDY=U(I,K,JJ)*DY<a name='906'>
          VDX=V(I,K,JJ)*DX(I,JJ)<a name='907'>
          UNED(I,K,J)=UDY+VDX<a name='908'>
D(I,K,J)=UDY-VDX<a name='909'>
          FNSP=VDX*(DPDE(I,K,J-1)+DPDE(I,K,J+1))<a name='910'>
          ZNS(I,K,J)=FNSP*(Z(I,K,JJ+1)-Z(I,K,JJ-1))<a name='911'>
          FNS(I,K,JJ)=FNSP<a name='912'>
          UDY_00(I,K)=UDY<a name='913'>
        ENDDO<a name='914'>
        ENDDO<a name='915'>
<font color=#447700>!<a name='916'></font>
      ENDDO<a name='917'>
<font color=#447700>!<a name='918'></font>
      J=-1<a name='919'>
      JJ=JSTART+J<a name='920'>
<font color=#447700>!<a name='921'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='922'></font>
<font color=#447700>!$omp&amp; private(fnep,i,k)<a name='923'></font>
      DO K=KTS,KTE<a name='924'>
      DO I=MYIS_P2,MYIE_P2<a name='925'>
        FNEP=(UNED(I+IHE(JJ),K,J)+UNED(I,K,J+1))                        &amp;<a name='926'>
            *(DPDE(I,K,J)+DPDE(I+IHE(JJ),K,J+1))<a name='927'>
        ZNE(I,K,J)=FNEP*(Z(I+IHE(JJ),K,JJ+1)-Z(I,K,JJ))<a name='928'>
      ENDDO<a name='929'>
      ENDDO<a name='930'>
<font color=#447700>!<a name='931'></font>
      J=0<a name='932'>
      JJ=JSTART+J<a name='933'>
<font color=#447700>!<a name='934'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='935'></font>
<font color=#447700>!$omp&amp; private(fsep,i,k)<a name='936'></font>
      DO K=KTS,KTE<a name='937'>
      DO I=MYIS_P2,MYIE_P2<a name='938'>
        FSEP=(USED(I+IHE(JJ),K,J)+USED(I,K,J-1))                        &amp;<a name='939'>
            *(DPDE(I,K,J)+DPDE(I+IHE(JJ),K,J-1))<a name='940'>
        ZSE(I,K,J)=FSEP*(Z(I+IHE(JJ),K,JJ-1)-Z(I,K,JJ))<a name='941'>
        FSE(I,K,JJ)=FSEP<a name='942'>
      ENDDO<a name='943'>
      ENDDO<a name='944'>
<font color=#447700>!-----------------------------------------------------------------------<a name='945'></font>
<font color=#447700>!<a name='946'></font>
      JKNT=0<a name='947'>
<font color=#447700>!<a name='948'></font>
      main_integration:  DO J=MYJS2_P1,MYJE2_P1<a name='949'>
<font color=#447700>!<a name='950'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='951'></font>
<font color=#447700>!***<a name='952'></font>
<font color=#447700>!***  SET THE 3RD INDEX IN THE WORKING ARRAYS (SEE SUBROUTINE INIT<a name='953'></font>
<font color=#447700>!***                                           AND ABOVE DIAGRAMS)<a name='954'></font>
<font color=#447700>!***<a name='955'></font>
<font color=#447700>!***  J[TYPE]_NN WHERE "TYPE" IS THE WORKING ARRAY TYPE SEEN IN THE<a name='956'></font>
<font color=#447700>!***  LOCAL DECLARATION ABOVE (DEPENDENT UPON THE J EXTENT) AND<a name='957'></font>
<font color=#447700>!***  NN IS THE NUMBER OF ROWS NORTH OF THE CENTRAL ROW WHOSE J IS<a name='958'></font>
<font color=#447700>!***  THE CURRENT VALUE OF THE main_integration LOOP.<a name='959'></font>
<font color=#447700>!***  (P2 denotes +2, etc.)<a name='960'></font>
<font color=#447700>!***<a name='961'></font>
        JKNT=JKNT+1<a name='962'>
<font color=#447700>!<a name='963'></font>
        J1_P2=INDX3_WRK(2,JKNT,1)<a name='964'>
        J1_P1=INDX3_WRK(1,JKNT,1)<a name='965'>
        J1_00=INDX3_WRK(0,JKNT,1)<a name='966'>
<font color=#447700>!<a name='967'></font>
        J4_P1=INDX3_WRK(1,JKNT,4)<a name='968'>
        J4_00=INDX3_WRK(0,JKNT,4)<a name='969'>
        J4_M1=INDX3_WRK(-1,JKNT,4)<a name='970'>
<font color=#447700>!<a name='971'></font>
        J5_00=INDX3_WRK(0,JKNT,5)<a name='972'>
        J5_M1=INDX3_WRK(-1,JKNT,5)<a name='973'>
<font color=#447700>!<a name='974'></font>
        J6_P1=INDX3_WRK(1,JKNT,6)<a name='975'>
        J6_00=INDX3_WRK(0,JKNT,6)<a name='976'>
<font color=#447700>!-----------------------------------------------------------------------<a name='977'></font>
<font color=#447700>!<a name='978'></font>
<font color=#447700>!***  MASS FLUXES AND MASS POINT ADVECTION COMPONENTS<a name='979'></font>
<font color=#447700>!<a name='980'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='981'></font>
<font color=#447700>!$omp parallel do                                                       &amp;<a name='982'></font>
<font color=#447700>!$omp&amp; private(fewp,fnep,fnsp,fsep,i,k,udy,vdx)<a name='983'></font>
        DO K=KTS,KTE<a name='984'>
<font color=#447700>!<a name='985'></font>
        DO I=MYIS_P4,MYIE_P4<a name='986'>
          DPDE(I,K,J1_P2)=DETA1(K)*PDTOP+DETA2(K)*PDSL(I,J+2)<a name='987'>
        ENDDO<a name='988'>
<font color=#447700>!<a name='989'></font>
        DO I=MYIS_P3,MYIE_P3<a name='990'>
          UDY=U(I,K,J+1)*DY<a name='991'>
          VDX=V(I,K,J+1)*DX(I,J+1)<a name='992'>
<font color=#447700>!<a name='993'></font>
          FEWP=UDY_00(I,K)                                              &amp;<a name='994'>
             *(DPDE(I+IVW(J),K,J1_00)+DPDE(I+IVE(J),K,J1_00))<a name='995'>
          FNSP=VDX*(DPDE(I,K,J1_00)+DPDE(I,K,J1_P2))<a name='996'>
<font color=#447700>!<a name='997'></font>
          FEW(I,K,J)=FEWP<a name='998'>
          FNS(I,K,J+1)=FNSP<a name='999'>
<font color=#447700>!<a name='1000'></font>
          ZEW(I,K)=FEWP*(Z(I+IVE(J),K,J)-Z(I+IVW(J),K,J))<a name='1001'>
          ZNS(I,K,J4_P1)=FNSP*(Z(I,K,J+2)-Z(I,K,J))<a name='1002'>
<font color=#447700>!<a name='1003'></font>
          UNED(I,K,J4_P1)=UDY+VDX<a name='1004'>
D(I,K,J4_P1)=UDY-VDX<a name='1005'>
<font color=#447700>!<a name='1006'></font>
          UDY_00(I,K)=UDY<a name='1007'>
        ENDDO<a name='1008'>
<font color=#447700>!<a name='1009'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='1010'></font>
<font color=#447700>!<a name='1011'></font>
<font color=#447700>!***  DIAGONAL FLUXES AND DIAGONALLY AVERAGED WIND<a name='1012'></font>
<font color=#447700>!<a name='1013'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='1014'></font>
        DO I=MYIS_P2,MYIE1_P2<a name='1015'>
          FNEP=(UNED(I+IHE(J),K,J4_00)+UNED(I,K,J4_P1))                 &amp;<a name='1016'>
              *(DPDE(I,K,J1_00)+DPDE(I+IHE(J),K,J1_P1))<a name='1017'>
          FNE(I,K,J)=FNEP<a name='1018'>
          ZNE(I,K,J5_00)=FNEP*(Z(I+IHE(J),K,J+1)-Z(I,K,J))<a name='1019'>
<font color=#447700>!<a name='1020'></font>
          FSEP=(USED(I+IHE(J+1),K,J4_P1)+USED(I,K,J4_00))               &amp;<a name='1021'>
              *(DPDE(I,K,J1_P1)+DPDE(I+IHE(J+1),K,J1_00))<a name='1022'>
          FSE(I,K,J+1)=FSEP<a name='1023'>
          ZSE(I,K,J6_P1)=FSEP*(Z(I+IHE(J+1),K,J)-Z(I,K,J+1))<a name='1024'>
        ENDDO<a name='1025'>
<font color=#447700>!<a name='1026'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='1027'></font>
<font color=#447700>!<a name='1028'></font>
<font color=#447700>!***  ADVECTION OF Z<a name='1029'></font>
<font color=#447700>!<a name='1030'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='1031'></font>
        DO I=MYIS1_P1,MYIE1_P1<a name='1032'>
          W(I,K,J)=-(ZEW(I+IHW(J),K)+ZEW(I+IHE(J),K)                    &amp;<a name='1033'>
                    +ZNS(I,K,J4_M1)+ZNS(I,K,J4_P1)                      &amp;<a name='1034'>
                    +ZNE(I+IHW(J),K,J5_M1)+ZNE(I,K,J5_00)               &amp;<a name='1035'>
                    +ZSE(I,K,J6_00)+ZSE(I+IHW(J),K,J6_P1))              &amp;<a name='1036'>
                    *FAD(I,J)*HTM(I,K,J)*HBM2(I,J)/(DPDE(I,K,J1_00)*DT) &amp;<a name='1037'>
                    +W(I,K,J)<a name='1038'>
        ENDDO<a name='1039'>
<font color=#447700>!<a name='1040'></font>
        ENDDO   <font color=#447700>! End K loop<a name='1041'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='1042'></font>
<font color=#447700>!<a name='1043'></font>
      ENDDO main_integration<a name='1044'>
<font color=#447700>!<a name='1045'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='1046'></font>
<font color=#447700>!<a name='1047'></font>
      END SUBROUTINE HADZ<a name='1048'>
<font color=#447700>!<a name='1049'></font>
<font color=#447700>!-----------------------------------------------------------------------<a name='1050'></font>
      END MODULE MODULE_NONHY_DYNAM<a name='1051'>
<font color=#447700>!-----------------------------------------------------------------------<a name='1052'></font>
</pre></body></html>