|
234 | 234 | GNAME, FILEXT, GTYPE, UNGTYPE
|
235 | 235 | USE W3TRIAMD, ONLY: SETUGIOBP
|
236 | 236 | USE W3WDATMD
|
| 237 | +!/WRST USE W3IDATMD, ONLY: WXN, WYN, W3SETI |
| 238 | +!/WRST USE W3IDATMD, ONLY: WXNwrst, WYNwrst |
237 | 239 | USE W3ODATMD, ONLY: NDSE, NDST, IAPROC, NAPROC, NAPERR, NAPRST, &
|
238 | 240 | IFILE => IFILE4, FNMPRE, NTPROC, IOSTYP
|
239 | 241 | !/MPI USE W3ODATMD, ONLY: NRQRS, NBLKRS, RSBLKS, IRQRS, IRQRSS, VAAUX
|
|
270 | 272 | INTEGER :: IGRD, I, J, LRECL, NSIZE, IERR, &
|
271 | 273 | NSEAT, MSPEC, TTIME(2), ISEA, JSEA, &
|
272 | 274 | NREC, NPART, IPART, IX, IY, IXL, IP, &
|
273 |
| - NPRTX2 |
| 275 | + NPRTX2, NPRTY2, IYL |
274 | 276 | INTEGER, ALLOCATABLE :: MAPTMP(:,:)
|
275 | 277 | !/S INTEGER, SAVE :: IENT = 0
|
276 | 278 | !/MPI INTEGER :: IERR_MPI, IH, IB, ISEA0, ISEAN, &
|
|
279 | 281 | !/MPI INTEGER, ALLOCATABLE :: STAT1(:,:), STAT2(:,:)
|
280 | 282 | !/MPI REAL, ALLOCATABLE :: VGBUFF(:), VLBUFF(:)
|
281 | 283 | REAL(KIND=LRB), ALLOCATABLE :: WRITEBUFF(:)
|
| 284 | + |
282 | 285 | LOGICAL :: WRITE, IOSFLG
|
283 | 286 | CHARACTER(LEN=4) :: TYPE
|
284 | 287 | CHARACTER(LEN=10) :: VERTST
|
|
313 | 316 | CALL W3SETO ( IGRD, NDSE, NDST )
|
314 | 317 | CALL W3SETG ( IGRD, NDSE, NDST )
|
315 | 318 | CALL W3SETW ( IGRD, NDSE, NDST )
|
| 319 | +!/WRST CALL W3SETI ( IGRD, NDSE, NDST ) |
316 | 320 | !
|
317 | 321 | IF (INXOUT.NE.'READ' .AND. INXOUT.NE.'HOT' .AND. &
|
318 | 322 | INXOUT.NE.'COLD' .AND. INXOUT.NE.'WIND' .AND. &
|
|
684 | 688 | NREC = NSEA + 3
|
685 | 689 | NPART = 1 + (NSEA-1)/NSIZE
|
686 | 690 | NPRTX2 = 1 + (NX-1)/NSIZE
|
| 691 | + NPRTY2 = 1 + (NY-1)/NSIZE |
687 | 692 | !
|
688 | 693 | !/DEBUGIO WRITE(740+IAPROC,*) 'W3IORS, step 8'
|
689 | 694 | !/DEBUGIO FLUSH(740+IAPROC)
|
|
701 | 706 | RPOS = 1_8 + LRECL*(NREC-1_8)
|
702 | 707 | WRITEBUFF(:) = 0.
|
703 | 708 | WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) WRITEBUFF
|
704 |
| - WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) TLEV, TICE |
705 |
| - |
| 709 | + WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) & |
| 710 | + TLEV, TICE |
706 | 711 | DO IPART=1,NPART
|
707 | 712 | NREC = NREC + 1
|
708 | 713 | RPOS = 1_8 + LRECL*(NREC-1_8)
|
|
718 | 723 | WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) &
|
719 | 724 | (ICE(ISEA),ISEA=1+(IPART-1)*NSIZE, &
|
720 | 725 | MIN(NSEA,IPART*NSIZE))
|
721 |
| - END DO |
| 726 | + END DO |
| 727 | +!/WRST DO IX=1, NX |
| 728 | +!/WRST DO IPART=1,NPRTY2 |
| 729 | +!/WRST NREC = NREC + 1 |
| 730 | +!/WRST RPOS = 1_8 + LRECL*(NREC-1_8) |
| 731 | +!/WRST WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) WRITEBUFF |
| 732 | +!/WRST WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) & |
| 733 | +!/WRST (WXN(IX,IYL),IYL=1+(IPART-1)*NSIZE, & |
| 734 | +!/WRST MIN(NY,IPART*NSIZE)) |
| 735 | +!/WRST END DO |
| 736 | +!/WRST END DO |
| 737 | +!/WRST DO IX=1, NX |
| 738 | +!/WRST DO IPART=1,NPRTY2 |
| 739 | +!/WRST NREC = NREC + 1 |
| 740 | +!/WRST RPOS = 1_8 + LRECL*(NREC-1_8) |
| 741 | +!/WRST WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) WRITEBUFF |
| 742 | +!/WRST WRITE (NDSR,POS=RPOS,ERR=803,IOSTAT=IERR) & |
| 743 | +!/WRST (WYN(IX,IYL),IYL=1+(IPART-1)*NSIZE, & |
| 744 | +!/WRST MIN(NY,IPART*NSIZE)) |
| 745 | +!/WRST END DO |
| 746 | +!/WRST END DO |
722 | 747 | ALLOCATE ( MAPTMP(NY,NX) )
|
723 | 748 | MAPTMP = MAPSTA + 8*MAPST2
|
724 | 749 | DO IY=1, NY
|
|
777 | 802 | ELSE
|
778 | 803 | IF (TYPE.EQ.'FULL') THEN
|
779 | 804 | RPOS = 1_8 + LRECL*(NREC-1_8)
|
780 |
| - READ (NDSR,POS=RPOS,ERR=802,IOSTAT=IERR) TLEV, TICE |
| 805 | + READ (NDSR,POS=RPOS,ERR=802,IOSTAT=IERR) & |
| 806 | + TLEV, TICE |
781 | 807 | !/DEBUGINIT WRITE(740+IAPROC,*) 'Before reading WLV'
|
782 | 808 | DO IPART=1,NPART
|
783 | 809 | NREC = NREC + 1
|
|
793 | 819 | READ (NDSR,POS=RPOS,ERR=802,IOSTAT=IERR) &
|
794 | 820 | (ICE(ISEA),ISEA=1+(IPART-1)*NSIZE, &
|
795 | 821 | MIN(NSEA,IPART*NSIZE))
|
796 |
| - END DO |
| 822 | + END DO |
| 823 | +!/WRST DO IX=1, NX |
| 824 | +!/WRST DO IPART=1,NPRTY2 |
| 825 | +!/WRST NREC = NREC + 1 |
| 826 | +!/WRST RPOS = 1_8 + LRECL*(NREC-1_8) |
| 827 | +!/WRST READ (NDSR,POS=RPOS,ERR=802,IOSTAT=IERR) & |
| 828 | +!/WRST (WXNwrst(IX,IYL),IYL=1+(IPART-1)*NSIZE, & |
| 829 | +!/WRST MIN(NY,IPART*NSIZE)) |
| 830 | +!/WRST END DO |
| 831 | +!/WRST END DO |
| 832 | +!/WRST DO IX=1, NX |
| 833 | +!/WRST DO IPART=1,NPRTY2 |
| 834 | +!/WRST NREC = NREC + 1 |
| 835 | +!/WRST RPOS = 1_8 + LRECL*(NREC-1_8) |
| 836 | +!/WRST READ (NDSR,POS=RPOS,ERR=802,IOSTAT=IERR) & |
| 837 | +!/WRST (WYNwrst(IX,IYL),IYL=1+(IPART-1)*NSIZE, & |
| 838 | +!/WRST MIN(NY,IPART*NSIZE)) |
| 839 | +!/WRST END DO |
| 840 | +!/WRST END DO |
797 | 841 | ALLOCATE ( MAPTMP(NY,NX) )
|
798 | 842 | !/DEBUGINIT WRITE(740+IAPROC,*) 'Before reading MAPTMP'
|
799 | 843 | DO IY=1, NY
|
|
859 | 903 | TIC1(2) = 0
|
860 | 904 | TIC5(1) = -1
|
861 | 905 | TIC5(2) = 0
|
| 906 | +!/WRST WXNwrst = 0. |
| 907 | +!/WRST WYNwrst = 0. |
862 | 908 | WLV = 0.
|
863 | 909 | ICE = 0.
|
864 | 910 | ASF = 1.
|
|
0 commit comments