PROGRAM HWRF_FINAL_MERGE !?????????????????????????????????????????????????????????? ! ! ABSTRACT: CREATE 6x DEGREE2 HIGH RESOLUTION DOMAIN ! ! DECLARE VARIABLES ! ! IMPLICIT NONE INTEGER I,J,K,NX,NY,NZ,NST,IFLAG REAL(8) xxi,yyi ! PARAMETER (NST=5) ! PARAMETER (IX=117,IY=225) ! PARAMETER (NX=215,NY=431,NZ=42,NST=5) ! PARAMETER (JX=393,JY=735) ! fixed for 9 km resolution PARAMETER (GAMMA=6.5E-3,G=9.8,Rd=287.05,D608=0.608) PARAMETER (Cp=1004.) ! Variables on new outer nest hybrid coordinate (GFS data) REAL(4) DLMD3,DPHD3,PT3,PDTOP3 ! use the new inner nest data REAL(4) WBD3,SBD3,CLON3,CLAT3 REAL(4), ALLOCATABLE :: HLON3(:,:),HLAT3(:,:) REAL(4), ALLOCATABLE :: VLON3(:,:),VLAT3(:,:) REAL(4), ALLOCATABLE :: ETA1(:),ETA2(:) REAL(4), ALLOCATABLE :: T3(:,:,:),Q3(:,:,:) REAL(4), ALLOCATABLE :: U3(:,:,:),V3(:,:,:) REAL(4), ALLOCATABLE :: Z3(:,:,:),P3(:,:,:) REAL(4), ALLOCATABLE :: PD3(:,:) ! Variables old outer nest (6 hour WRF FORECAST) REAL(4) DLMD1,DPHD1,PT1,PDTOP1 REAL(4) WBD1,SBD1,CLON1,CLAT1 REAL(4), ALLOCATABLE :: HLON1(:,:),HLAT1(:,:) REAL(4), ALLOCATABLE :: VLON1(:,:),VLAT1(:,:) REAL(4), ALLOCATABLE :: T1(:,:,:),Q1(:,:,:) REAL(4), ALLOCATABLE :: U1(:,:,:),V1(:,:,:) REAL(4), ALLOCATABLE :: Z1(:,:,:),P1(:,:,:) REAL(4), ALLOCATABLE :: PD1(:,:) ! Variables from 2x data REAL(4) DLMD2,DPHD2,PT2,PDTOP2 REAL(4) WBD2,SBD2,CLON2,CLAT2 REAL(4), ALLOCATABLE :: HLON2(:,:),HLAT2(:,:) REAL(4), ALLOCATABLE :: VLON2(:,:),VLAT2(:,:) REAL(4), ALLOCATABLE :: T2(:,:,:),Q2(:,:,:) REAL(4), ALLOCATABLE :: U2(:,:,:),V2(:,:,:) REAL(4), ALLOCATABLE :: Z2(:,:,:),P2(:,:,:) REAL(4), ALLOCATABLE :: PD2(:,:) !!!!!!!!!!!!!!!!11 COEF1=Rd/Cp COEF3=Rd*GAMMA/G COEF2=1./COEF3 GRD=G/Rd pi=4.*atan(1.) pi_deg=180./pi pi180=1./pi_deg DIST1=6.371E3*pi180 READ(5,*)ITIM,KSTORM print*,'ITIM,KSTORM=',ITIM,KSTORM !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! READ NEW OUTER NEST DATA ! new data IUNIT=41 READ(IUNIT) JX,JY,KZ REWIND(IUNIT) JX1=JX+1 JY1=JY+1 KZ1=KZ+1 NZ=KZ print*,'JX,JY,KZ=',JX,JY,KZ ALLOCATE ( HLON3(JX,JY),HLAT3(JX,JY) ) ALLOCATE ( VLON3(JX,JY),VLAT3(JX,JY) ) ALLOCATE ( ETA1(KZ1),ETA2(KZ1) ) ALLOCATE ( T3(JX,JY,KZ),Q3(JX,JY,KZ) ) ALLOCATE ( U3(JX,JY,KZ),V3(JX,JY,KZ) ) ALLOCATE ( Z3(JX,JY,KZ1),P3(JX,JY,KZ1) ) ALLOCATE ( PD3(JX,JY) ) ALLOCATE ( T1(JX,JY,KZ),Q1(JX,JY,KZ) ) ALLOCATE ( U1(JX,JY,KZ),V1(JX,JY,KZ) ) ALLOCATE ( Z1(JX,JY,KZ1),P1(JX,JY,KZ1) ) ALLOCATE ( PD1(JX,JY) ) ALLOCATE ( T2(JX,JY,KZ),Q2(JX,JY,KZ) ) ALLOCATE ( U2(JX,JY,KZ),V2(JX,JY,KZ) ) ALLOCATE ( Z2(JX,JY,KZ1),P2(JX,JY,KZ1) ) ALLOCATE ( PD2(JX,JY) ) T1=0. Q1=0. U1=0. V1=0. Z1=0. P1=0. PD1=0. DO KST=1,KSTORM ! IUNIT=40+ITIM IUNIT=40+KST READ(IUNIT) JX,JY,KZ READ(IUNIT) DLMD3,DPHD3,CLON3,CLAT3 READ(IUNIT) PT3,PDTOP3 READ(IUNIT) T3 READ(IUNIT) Q3 READ(IUNIT) U3 READ(IUNIT) V3 READ(IUNIT) Z3 READ(IUNIT) HLON3,HLAT3 READ(IUNIT) P3 READ(IUNIT) PD3 READ(IUNIT) ETA1 READ(IUNIT) ETA2 CLOSE(IUNIT) T1=T1+T3 Q1=Q1+Q3 U1=U1+U3 V1=V1+V3 Z1=Z1+Z3 P1=P1+P3 PD1=PD1+PD3 END DO ! KST !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! READ ORG PARENT DATA ! new data IUNIT=40 READ(IUNIT) JX,JY,KZ READ(IUNIT) ! DLMD2,DPHD2,CLON2,CLAT2 READ(IUNIT) ! PT2,PDTOP2 READ(IUNIT) T2 READ(IUNIT) Q2 READ(IUNIT) U2 READ(IUNIT) V2 READ(IUNIT) Z2 READ(IUNIT) ! HLON2,HLAT2 READ(IUNIT) P2 READ(IUNIT) PD2 READ(IUNIT) ! ETA1 READ(IUNIT) ! ETA2 CLOSE(IUNIT) T3=T1-(KSTORM-1)*T2 Q3=Q1-(KSTORM-1)*Q2 U3=U1-(KSTORM-1)*U2 V3=V1-(KSTORM-1)*V2 Z3=Z1-(KSTORM-1)*Z2 P3=P1-(KSTORM-1)*P2 PD3=PD1-(KSTORM-1)*PD2 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IUNIT=50+ITIM WRITE(IUNIT) JX,JY,KZ WRITE(IUNIT) DLMD3,DPHD3,CLON3,CLAT3 WRITE(IUNIT) PT3,PDTOP3 WRITE(IUNIT) T3 WRITE(IUNIT) Q3 WRITE(IUNIT) U3 WRITE(IUNIT) V3 WRITE(IUNIT) Z3 WRITE(IUNIT) HLON3,HLAT3 WRITE(IUNIT) P3 WRITE(IUNIT) PD3 WRITE(IUNIT) ETA1 WRITE(IUNIT) ETA2 CLOSE(IUNIT) ! WRITE(61)((SLP3(I,J),I=1,JX),J=1,JY,2) ! DO K=1,KZ+1 ! WRITE(61)((Z3(I,J,K),I=1,JX),J=1,JY,2) ! END DO ! DO K=1,KZ+1 ! WRITE(61)((P3(I,J,K),I=1,JX),J=1,JY,2) ! END DO ! DO K=1,KZ ! WRITE(61)((T3(I,J,K),I=1,JX),J=1,JY,2) ! END DO ! DO K=1,KZ ! WRITE(61)((Q3(I,J,K),I=1,JX),J=1,JY,2) ! END DO ! DO K=1,KZ ! WRITE(61)((U3(I,J,K),I=1,JX),J=1,JY,2) ! END DO ! DO K=1,KZ ! WRITE(61)((V3(I,J,K),I=1,JX),J=1,JY,2) ! END DO END