Page 1 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 1 !/ ------------------------------------------------------------------- / 2 MODULE WMIOPOMD 3 !/ 4 !/ +-----------------------------------+ 5 !/ | WAVEWATCH III NOAA/NCEP | 6 !/ | H. L. Tolman | 7 !/ | FORTRAN 90 | 8 !/ | Last update : 06-Jun-2012 | 9 !/ +-----------------------------------+ 10 !/ 11 !/ 09-Aug-2006 : Origination. ( version 3.10 ) 12 !/ 01-May-2007 : Addd diagnostic output O7a/b. ( version 3.11 ) 13 !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) 14 !/ 29-May-2009 : Preparing distribution version. ( version 3.14 ) 15 !/ 30-Oct-2009 : Implement run-time grid selection. ( version 3.14 ) 16 !/ (W. E. Rogers & T. J. Campbell, NRL) 17 !/ 06-Dec-2010 : Change from GLOBAL (logical) to ICLOSE (integer) to 18 !/ specify index closure for a grid. ( version 3.14 ) 19 !/ (T. J. Campbell, NRL) 20 !/ 06-Mar-2012 : Using MPI_COMM_NULL in checks. ( version 4.07 ) 21 !/ 06-Jun-2012 : Porting bugfixes from 3.14 to 4.07 ( version 4.07 ) 22 !/ 23 !/ Copyright 2009-2012 National Weather Service (NWS), 24 !/ National Oceanic and Atmospheric Administration. All rights 25 !/ reserved. WAVEWATCH III is a trademark of the NWS. 26 !/ No unauthorized use without permission. 27 !/ 28 ! 1. Purpose : 29 ! 30 ! Module for generating a single point output file for a multi- 31 ! grid model implementation. 32 ! 33 ! 2. Variables and types : 34 ! 35 ! 3. Subroutines and functions : 36 ! 37 ! Name Type Scope Description 38 ! ---------------------------------------------------------------- 39 ! WMIOPP Subr Public Initialization routine. 40 ! WMIOPO Subr Public Gather and write routine. 41 ! ---------------------------------------------------------------- 42 ! 43 ! 4. Subroutines and functions used : 44 ! 45 ! Name Type Module Description 46 ! ---------------------------------------------------------------- 47 ! W3SETG Subr W3GDATMD Point to model grid. 48 ! W3SETW Subr W3WDATMD Point to model grid. 49 ! W3SETA Subr W3ADATMD Point to model grid. 50 ! W3SETO Subr W3ODATMD Point to model grid. 51 ! W3DMO2 Subr Id. Dimention model grids output 2. 52 ! WMSETM Subr WMMDATMD Point to model grid. 53 ! W3MPIP Subr W3INITMD Model intiailization. 54 ! W3IOPP Sunr W3IOPOMD Prepare point output for single model. 55 ! W3IOPO Sunr Id. Point output for single model. 56 ! W3CSPC Subr. W3CSPCMD Spectral grid conversion. 57 ! STRACE Subr W3SERVMD Subroutine tracing. Page 2 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 58 ! EXTCDE Subr Id. Program abort. 59 ! MPI_SEND, MPI_RECV 60 ! Subr. mpif.h Standard MPI library routines. 61 ! ---------------------------------------------------------------- 62 ! 63 ! 5. Remarks : 64 ! 65 ! 6. Switches : 66 ! 67 ! !/SHRD Distributed memory model. 68 ! !/MPI 69 ! 70 ! !O7a Disgnostic output to NMPSCR. 71 ! !O7b 72 ! 73 ! !/S Enable subroutine tracing. 74 ! !/T Enable test output 75 ! !/MPIT 76 ! 77 ! 7. Source code : 78 ! 79 !/ ------------------------------------------------------------------- / 80 PUBLIC 81 !/ 82 CONTAINS 83 !/ ------------------------------------------------------------------- / 84 SUBROUTINE WMIOPP ( NPT, XPT, YPT, PNAMES ) 85 !/ 86 !/ +-----------------------------------+ 87 !/ | WAVEWATCH III NOAA/NCEP | 88 !/ | H. L. Tolman | 89 !/ | FORTRAN 90 | 90 !/ | Last update : 06-Jun-2012 ! 91 !/ +-----------------------------------+ 92 !/ 93 !/ 09-Aug-2006 : Origination. ( version 3.10 ) 94 !/ 01-May-2007 : Addd diagnostic output O7a,b ( version 3.11 ) 95 !/ 30-Oct-2009 : Implement run-time grid selection. ( version 3.14 ) 96 !/ (W. E. Rogers & T. J. Campbell, NRL) 97 !/ 06-Dec-2010 : Change from GLOBAL (logical) to ICLOSE (integer) to 98 !/ specify index closure for a grid. ( version 3.14 ) 99 !/ (T. J. Campbell, NRL) 100 !/ 16-Mar-2012 : Using MPI_COMM_NULL in checks. ( version 4.07 ) 101 !/ 06-Jun-2012 : Porting bugfixes from 3.14 to 4.07 ( version 4.07 ) 102 !/ 01-Sep-2012 : Added tests for unstructured grid ( version 4.07 ) 103 !/ (M. Dutour Sikiric, IRB & Aron Roland, Z&P) 104 !/ 105 ! 1. Purpose : 106 ! 107 ! Initialization for unified point output. 108 ! 109 ! 2. Method : 110 ! 111 ! Find highest resolution grid for each point. 112 ! 113 ! 3. Parameters : 114 ! Page 3 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 115 ! Parameter list 116 ! ---------------------------------------------------------------- 117 ! NPT Int. I Number of output points in input. 118 ! XPT R.A. I X (longitude) coordinates of output points. 119 ! YPT R.A. I Id. Y. 120 ! PNAMES C*10 I Names of output points. 121 ! ---------------------------------------------------------------- 122 ! Note: all are optional, and should be given on the first call 123 ! only, will be taken from storage after that. 124 ! NPT needs to be ginve always, but can be dummy after 125 ! first call. 126 ! 127 ! 4. Subroutines used : 128 ! 129 ! Name Type Module Description 130 ! ---------------------------------------------------------------- 131 ! W3SETG Subr W3GDATMD Point to model grid. 132 ! W3SETW Subr W3WDATMD Point to model grid. 133 ! W3SETA Subr W3ADATMD Point to model grid. 134 ! W3SETO Subr W3ODATMD Point to model grid. 135 ! W3DMO2 Subr Id. Dimension model grids output 2. 136 ! WMSETM Subr WMMDATMD Point to model grid. 137 ! W3MPIP Subr W3INITMD Model intiailization. 138 ! W3IOPP Sunr W3IOPOMD Point output for single model. 139 ! STRACE Subr W3SERVMD Subroutine tracing. 140 ! EXTCDE Subr Id. Program abort. 141 ! ---------------------------------------------------------------- 142 ! 143 ! 5. Called by : 144 ! 145 ! Name Type Module Description 146 ! ---------------------------------------------------------------- 147 ! WMINIT Subr. WMINITMD Wave model initialization routine. 148 ! ---------------------------------------------------------------- 149 ! 150 ! 6. Error messages : 151 ! 152 ! 7. Remarks : 153 ! 154 ! - The algorithm used to decide if the pont is in the grid needs 155 ! to be strictly consistent with W3IOPP. 156 ! - MPI communication is set up separately from W3MPIO to assure 157 ! that data are gathered in a single processor even if this 158 ! procesor is not part of the communicator of the individual 159 ! model. 160 ! - In section 2.b the soring of the grids by rand is utilized. 161 ! 162 ! 8. Structure : 163 ! 164 ! See source code. 165 ! 166 ! 9. Switches : 167 ! 168 ! !/SHRD Distributed memory model. 169 ! !/MPI 170 ! 171 ! !O7a Disgnostic output to NMPSCR. Page 4 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 172 ! !O7b 173 ! 174 ! !/S Enable subroutine tracing. 175 ! !/T Enable test output 176 ! 177 ! 10. Source code : 178 ! 179 !/ ------------------------------------------------------------------- / 180 ! 181 USE W3GSRUMD 182 USE W3GDATMD, ONLY: W3SETG 183 USE W3ADATMD, ONLY: W3SETA 184 USE W3WDATMD, ONLY: W3SETW 185 USE W3ODATMD, ONLY: W3SETO, W3DMO2 186 USE WMMDATMD, ONLY: WMSETM 187 USE W3INITMD, ONLY: W3MPIP 188 USE W3IOPOMD, ONLY: W3IOPP 189 USE W3SERVMD, ONLY: EXTCDE 190 ! 191 USE W3GDATMD, ONLY: NX, NY, X0, Y0, SX, MAPSTA, GRIDS, & 192 FLAGLL, ICLOSE, ICLOSE_NONE, GTYPE, UNGTYPE, & 193 CLGTYPE, GSU 194 USE W3GDATMD, ONLY: XYB, TRIGP, MAXX, MAXY, DXYMAX ! unstructured grids 195 USE W3ODATMD, ONLY: O2INIT, NOPTS, PTLOC, PTNME, GRDID, OUTPTS 196 USE W3ODATMD, ONLY: O2IRQI 197 USE WMMDATMD, ONLY: MDSE, MDST, NRGRD, MDATAS, IMPROC, NMPSCR, & 198 NMPERR, MDSS 199 USE W3TRIAMD 200 USE WMMDATMD, ONLY: MPI_COMM_GRD, MPI_COMM_MWAVE 201 ! 202 IMPLICIT NONE 203 ! 204 INCLUDE "mpif.h" 205 !/ 206 !/ ------------------------------------------------------------------- / 207 !/ Parameter list 208 !/ 747 INTEGER, INTENT(IN) :: NPT 748 REAL, INTENT(IN), OPTIONAL :: XPT(NPT), YPT(NPT) 749 CHARACTER(LEN=10),INTENT(IN), OPTIONAL :: PNAMES(NPT) 750 !/ 751 !/ ------------------------------------------------------------------- / 752 !/ Local parameters 753 !/ 754 INTEGER :: IPT, J, II 755 INTEGER :: IX(4), IY(4) ! created by w3grmp 756 REAL :: RD(4) ! created by w3grmp 757 INTEGER :: itout, I1, I2, I3 ! unstructured grids 758 INTEGER :: IERR_MPI 759 REAL :: RX, RY, RDX, RDY 760 REAL, PARAMETER :: ACC = 0.05 761 REAL, ALLOCATABLE :: XP(:), YP(:) 762 REAL :: FACTOR 763 LOGICAL, ALLOCATABLE :: INGRID(:,:) 764 LOGICAL, SAVE :: SETUP = .FALSE., FLGO7a = .FALSE. 765 CHARACTER(LEN=10), ALLOCATABLE :: PN(:) 766 !/ Page 5 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 767 ! 768 ! -------------------------------------------------------------------- / 769 ! 0. Initializations 770 ! 771 CALL W3SETO ( 0, MDSE, MDST ) 772 ! 773 ! -------------------------------------------------------------------- / 774 ! 1. Initialize if necessary and possible 775 ! 776 IF ( .NOT. O2INIT ) THEN 777 ! 778 IF ( .NOT.PRESENT(XPT) .OR. .NOT.PRESENT(YPT) .OR. & 779 .NOT.PRESENT(PNAMES) ) THEN 780 WRITE (MDSE,1000) 781 CALL EXTCDE (1) 782 END IF 783 ! 784 CALL W3DMO2 ( 0, MDSE, MDST, NPT ) 785 ! 786 NOPTS = NPT 787 PTLOC(1,:) = XPT 788 PTLOC(2,:) = YPT 789 PTNME = PNAMES 790 GRDID = 'none' 791 ! 792 END IF 793 ! 794 ! -------------------------------------------------------------------- / 795 ! 2. Locate points in grids 796 ! 2.a Check all points for all grids 797 ! 798 IF ( FLAGLL ) THEN 799 FACTOR = 1. 800 ELSE 801 FACTOR = 1.E-3 802 END IF 803 ! 804 ALLOCATE ( INGRID(NRGRD,NOPTS), XP(NOPTS), YP(NOPTS) ) 805 ! 806 INGRID = .FALSE. 807 XP = PTLOC(1,:) 808 YP = PTLOC(2,:) 809 ! 810 DO J=1, NRGRD 811 ! 812 CALL W3SETG ( J, MDSE, MDST ) 813 814 IF ( GTYPE .EQ. UNGTYPE ) THEN 815 IF ( IMPROC .EQ. NMPERR ) WRITE (MDSE,'(/2A)') ' *** WARNING WMIOPP: ', & 816 'UNSTRUCTURED GRID SUPPORT IN THIS ROUTINE', & 817 'HAS BEEN IMPLEMENTED BUT NOT YET VERIFIED', & 818 'TO WORK *** ' 819 END IF 820 IF ( GTYPE .EQ. CLGTYPE ) THEN 821 IF ( IMPROC .EQ. NMPERR ) WRITE (MDSE,'(/2A)') ' *** WARNING WMIOPP: ', & 822 'CURVILINEAR GRID SUPPORT IN THIS ROUTINE', & 823 'HAS BEEN IMPLEMENTED BUT NOT YET VERIFIED', & Page 6 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 824 'TO WORK *** ' 825 END IF 826 ! 827 ! Loop over output points 828 ! 829 ! notes.....Here, we have pulled coding for UNGTYPE and CLGTYPE from w3iopomd.ftn 830 DO IPT=1, NOPTS 831 ! ..........in w3iopomd.ftn, it is "DO IPT=1, NPT" but otherwise very similar 832 833 ! Check if point within grid 834 ! 835 IF (GTYPE .NE. UNGTYPE) THEN 836 INGRID(J,IPT) = W3GRMP( GSU, XPT(IPT), YPT(IPT), IX, IY, RD ) 837 IF ( .NOT.INGRID(J,IPT) ) THEN 838 CYCLE 839 END IF 840 ELSE 841 CALL IS_IN_UNGRID_INTERP(IPT, XPT, YPT, itout, IX, IY, RD ) 842 IF (itout.eq.0) THEN 843 INGRID(J,IPT)=.FALSE. 844 END IF 845 END IF 846 847 ! Check if point not on land 848 849 IF ( MAPSTA(IY(1),IX(1)) .EQ. 0 .AND. & 850 MAPSTA(IY(2),IX(2)) .EQ. 0 .AND. & 851 MAPSTA(IY(3),IX(3)) .EQ. 0 .AND. & 852 MAPSTA(IY(4),IX(4)) .EQ. 0 ) THEN 853 INGRID(J,IPT) = .FALSE. 854 CYCLE 855 END IF 856 857 !.........If we've gotten to this point, then we are satisfied that 858 !................the point is in this grid. 859 860 END DO ! DO IPT=1, NOPTS 861 ! 862 END DO ! DO J=1, NRGRD 863 ! 864 DEALLOCATE ( XP, YP ) 865 ! 866 ! 2.b Select a grid for each point. 867 ! 868 MDATAS(:)%NRUPTS = 0 869 ! 870 DO IPT=1, NOPTS 871 GRDID(IPT) = '...none...' 872 DO J= NRGRD, 1, -1 873 IF ( INGRID(J,IPT) ) THEN 874 GRDID(IPT) = GRIDS(J)%FILEXT 875 MDATAS(J)%NRUPTS = MDATAS(J)%NRUPTS + 1 876 EXIT 877 END IF 878 END DO 879 END DO 880 ! Page 7 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 881 ! 2.c Diagnostic output 882 ! 883 ! 2.d Test output 884 ! 885 DEALLOCATE ( INGRID ) 886 ! 887 ! -------------------------------------------------------------------- / 888 ! 3. Initialize individual grids 889 ! 3.a Loop over grids 890 ! 891 DO J=1, NRGRD 892 ! 893 ! 3.b (De)allocate map arrays 894 ! 895 IPT = MAX ( 1 , MDATAS(J)%NRUPTS ) 896 IF ( SETUP ) DEALLOCATE ( MDATAS(J)%UPTMAP ) 897 ALLOCATE ( MDATAS(J)%UPTMAP(IPT) ) 898 ! 899 IF ( MDATAS(J)%NRUPTS .EQ. 0 ) CYCLE 900 ! 901 ALLOCATE ( XP(IPT), YP(IPT), PN(IPT) ) 902 ! 903 ! 3.c Set up mapping and point arrays 904 ! 905 IPT = 0 906 DO II=1, NOPTS 907 IF ( GRDID(II) .NE. GRIDS(J)%FILEXT ) CYCLE 908 IPT = IPT + 1 909 MDATAS(J)%UPTMAP(IPT) = II 910 XP(IPT) = PTLOC(1,II) 911 YP(IPT) = PTLOC(2,II) 912 PN(IPT) = PTNME(II) 913 END DO 914 ! 915 IF ( FLGO7a ) CALL MPI_BARRIER ( MPI_COMM_MWAVE, IERR_MPI ) 916 ! 917 ! 3.d Preprocessing for output 918 ! 919 ! 3.d.1 Shared memory version 920 ! 921 ! 3.d.2 Distributed memory version 922 ! 923 CALL WMSETM ( J, MDSE, MDST ) 924 ! 925 IF ( MPI_COMM_GRD .NE. MPI_COMM_NULL ) THEN 926 ! 927 CALL W3SETO ( J, MDSE, MDST ) 928 CALL W3SETG ( J, MDSE, MDST ) 929 CALL W3SETA ( J, MDSE, MDST ) 930 CALL W3SETW ( J, MDSE, MDST ) 931 ! 932 IF ( O2INIT ) THEN 933 DEALLOCATE ( OUTPTS(J)%OUT2%IPTINT, & 934 OUTPTS(J)%OUT2%IL , OUTPTS(J)%OUT2%IW , & 935 OUTPTS(J)%OUT2%II , OUTPTS(J)%OUT2%PTIFAC, & 936 OUTPTS(J)%OUT2%PTNME, OUTPTS(J)%OUT2%GRDID , & 937 OUTPTS(J)%OUT2%DPO , OUTPTS(J)%OUT2%WAO , & Page 8 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 938 OUTPTS(J)%OUT2%WDO , OUTPTS(J)%OUT2%ASO , & 939 OUTPTS(J)%OUT2%CAO , OUTPTS(J)%OUT2%CDO , & 940 OUTPTS(J)%OUT2%SPCO , OUTPTS(J)%OUT2%PTLOC ) 941 O2INIT = .FALSE. 942 END IF 943 ! 944 CALL W3IOPP ( MDATAS(J)%NRUPTS, XP, YP, PN, J ) 945 ! 946 IF ( O2IRQI ) THEN 947 DEALLOCATE (OUTPTS(J)%OUT2%IRQPO1, & 948 OUTPTS(J)%OUT2%IRQPO2 ) 949 O2IRQI = .FALSE. 950 END IF 951 ! 952 CALL W3MPIP ( J ) 953 ! 954 END IF 955 ! 956 ! This barrier is needed to straighten out output. 957 ! 958 ! 3.e Reset pointers and clean up 959 ! 960 CALL W3SETO ( 0, MDSE, MDST ) 961 DEALLOCATE ( XP, YP, PN ) 962 ! 963 END DO 964 ! 965 IF ( FLGO7a ) CALL MPI_BARRIER ( MPI_COMM_MWAVE, IERR_MPI ) 966 ! 967 ! -------------------------------------------------------------------- / 968 ! 4. Finalize 969 ! 970 SETUP = .TRUE. 971 ! 972 RETURN 973 ! 974 ! Formats 975 ! 976 1000 FORMAT (/' *** ERROR WMIOPP : INITALIZATION DATA NOT', & 977 ' AVAILABLE *** '/) 978 ! 979 !/ 980 !/ End of WMIOPP ----------------------------------------------------- / 981 !/ 982 END SUBROUTINE WMIOPP Page 9 Source Listing WMIOPP 2014-09-16 16:49 Entry Points wmiopomd.f90 ENTRY POINTS Name wmiopomd_mp_wmiopp_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 1000 Label 438 242 ACC Param 222 R(4) 4 scalar ASO Local 400 R(4) 4 1 1 PTR 400 CAO Local 401 R(4) 4 1 1 PTR 401 CDO Local 401 R(4) 4 1 1 PTR 401 CLGTYPE Param 193 I(4) 4 scalar 193,282 DPO Local 399 R(4) 4 1 1 PTR 399 DXYMAX Local 194 R(4) 4 scalar PTR 194 EXTCDE Subr 189 189,243 FACTOR Local 224 R(4) 4 scalar 261,263 FILEXT Local 336 CHAR 10 scalar 336,369 FLAGLL Local 192 L(4) 4 scalar 192,260 FLGO7A Local 226 L(4) 4 scalar 226,377,427 GRDID Local 195 CHAR 10 1 1 PTR 195,252,333,336,369 GRDID Local 398 CHAR 10 1 1 PTR 398 GRIDS Local 191 RECORD 4376 1 1 ALC,TGT 191,336,369 GSU Local 193 T_GSU 8 scalar PTR 193,298 GTYPE Local 192 I(4) 4 scalar PTR 192,276,282,297 I1 Local 219 I(4) 4 scalar I2 Local 219 I(4) 4 scalar I3 Local 219 I(4) 4 scalar ICLOSE Local 192 I(4) 4 scalar PTR 192 ICLOSE_NONE Param 192 I(4) 4 scalar 192 IERR_MPI Local 220 I(4) 4 scalar 377,427 II Local 216 I(4) 4 scalar 368,369,371,372,373,374 II Local 397 I(4) 4 1 1 PTR 397 IL Local 396 I(4) 4 1 1 PTR 396 IMPROC Local 197 I(4) 4 scalar 197,277,283 INGRID Local 225 L(4) 4 2 1 ALC 266,268,298,299,305,315,335,347 IPT Local 216 I(4) 4 scalar 292,298,299,303,305,315,332,333,33 5,336,357,359,363,367,370,371,372, 373,374 IPTINT Local 395 I(4) 4 3 1 PTR 395 IRQPO1 Local 409 I(4) 4 1 1 PTR 409 IRQPO2 Local 410 I(4) 4 1 1 PTR 410 IS_IN_UNGRID_INTERP Subr 303 303 ITOUT Local 219 I(4) 4 scalar 303,304 IW Local 396 I(4) 4 1 1 PTR 396 IX Local 217 I(4) 4 1 4 298,303,311,312,313,314 IY Local 217 I(4) 4 1 4 298,303,311,312,313,314 J Local 216 I(4) 4 scalar 272,274,298,299,305,315,334,335,33 6,337,353,357,358,359,361,369,371, 385,389,390,391,392,395,396,397,39 8,399,400,401,402,406,409,410,414 Page 10 Source Listing WMIOPP 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MAPSTA Local 191 I(4) 4 2 1 PTR 191,311,312,313,314 MAX Func 357 scalar 357 MAXX Local 194 R(4) 4 scalar PTR 194 MAXY Local 194 R(4) 4 scalar PTR 194 MDATAS Local 197 RECORD 1360 1 1 ALC,TGT 197,330,337,357,358,359,361,371,40 6 MDSE Local 197 I(4) 4 scalar 197,233,242,246,274,277,283,385,38 9,390,391,392,422 MDSS Local 198 I(4) 4 scalar 198 MDST Local 197 I(4) 4 scalar 197,233,246,274,385,389,390,391,39 2,422 MPIPRIV1 Common 532 28 MPIPRIV2 Common 534 24 MPIPRIVC Common 537 2 MPI_2COMPLEX Param 332 I(4) 4 scalar MPI_2DOUBLE_COMPLEX Param 338 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 334 I(4) 4 scalar MPI_2INT Param 415 I(4) 4 scalar MPI_2INTEGER Param 330 I(4) 4 scalar MPI_2REAL Param 336 I(4) 4 scalar MPI_ADDRESS_KIND Param 372 I(4) 4 scalar MPI_ANY_SOURCE Param 300 I(4) 4 scalar MPI_ANY_TAG Param 302 I(4) 4 scalar MPI_APPNUM Param 269 I(4) 4 scalar MPI_ARGVS_NULL Scalar 83 CHAR 1 2 1 COM MPI_ARGV_NULL Scalar 84 CHAR 1 1 1 COM MPI_BAND Param 217 I(4) 4 scalar MPI_BARRIER Subr 377 377,427 MPI_BOR Param 221 I(4) 4 scalar MPI_BOTTOM Scalar 517 I(4) 4 scalar COM MPI_BSEND_OVERHEAD Param 296 I(4) 4 scalar MPI_BXOR Param 225 I(4) 4 scalar MPI_BYTE Param 342 I(4) 4 scalar MPI_CART Param 308 I(4) 4 scalar MPI_CHAR Param 375 I(4) 4 scalar MPI_CHARACTER Param 340 I(4) 4 scalar MPI_COMBINER_CONTIGUOUS Param 423 I(4) 4 scalar MPI_COMBINER_DARRAY Param 445 I(4) 4 scalar MPI_COMBINER_DUP Param 421 I(4) 4 scalar MPI_COMBINER_F90_COMPLEX Param 449 I(4) 4 scalar MPI_COMBINER_F90_INTEGER Param 451 I(4) 4 scalar MPI_COMBINER_F90_REAL Param 447 I(4) 4 scalar MPI_COMBINER_HINDEXED Param 435 I(4) 4 scalar MPI_COMBINER_HINDEXED_INTE GER Param 433 I(4) 4 scalar MPI_COMBINER_HVECTOR Param 429 I(4) 4 scalar MPI_COMBINER_HVECTOR_INTEG ER Param 427 I(4) 4 scalar MPI_COMBINER_INDEXED Param 431 I(4) 4 scalar MPI_COMBINER_INDEXED_BLOCK Param 437 I(4) 4 scalar MPI_COMBINER_NAMED Param 419 I(4) 4 scalar MPI_COMBINER_RESIZED Param 453 I(4) 4 scalar MPI_COMBINER_STRUCT Param 441 I(4) 4 scalar MPI_COMBINER_STRUCT_INTEGE R Param 439 I(4) 4 scalar Page 11 Source Listing WMIOPP 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_COMBINER_SUBARRAY Param 443 I(4) 4 scalar MPI_COMBINER_VECTOR Param 425 I(4) 4 scalar MPI_COMM_DUP_FN Subr 521 scalar MPI_COMM_GRD Local 200 I(4) 4 scalar PTR 200,387 MPI_COMM_MWAVE Local 200 I(4) 4 scalar 200,377,427 MPI_COMM_NULL Param 239 I(4) 4 scalar 387 MPI_COMM_NULL_COPY_FN Subr 522 scalar MPI_COMM_NULL_DELETE_FN Subr 521 scalar MPI_COMM_SELF Param 235 I(4) 4 scalar MPI_COMM_WORLD Param 233 I(4) 4 scalar MPI_COMPLEX Param 318 I(4) 4 scalar MPI_COMPLEX16 Param 368 I(4) 4 scalar MPI_COMPLEX32 Param 370 I(4) 4 scalar MPI_COMPLEX8 Param 366 I(4) 4 scalar MPI_CONGRUENT Param 201 I(4) 4 scalar MPI_CONVERSION_FN_NULL Subr 527 scalar MPI_DATATYPE_NULL Param 249 I(4) 4 scalar 359 MPI_DISPLACEMENT_CURRENT Param 515 I(8) 8 scalar MPI_DISTRIBUTE_BLOCK Param 507 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 509 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 513 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 511 I(4) 4 scalar MPI_DOUBLE Param 397 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 320 I(4) 4 scalar MPI_DOUBLE_INT Param 409 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 326 I(4) 4 scalar MPI_DUP_FN Subr 518 scalar MPI_ERRCODES_IGNORE Scalar 82 I(4) 4 1 1 COM MPI_ERRHANDLER_NULL Param 253 I(4) 4 scalar MPI_ERROR Param 76 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 195 I(4) 4 scalar MPI_ERRORS_RETURN Param 197 I(4) 4 scalar MPI_ERR_ACCESS Param 189 I(4) 4 scalar MPI_ERR_AMODE Param 173 I(4) 4 scalar MPI_ERR_ARG Param 109 I(4) 4 scalar MPI_ERR_ASSERT Param 131 I(4) 4 scalar MPI_ERR_BAD_FILE Param 163 I(4) 4 scalar MPI_ERR_BASE Param 97 I(4) 4 scalar MPI_ERR_BUFFER Param 115 I(4) 4 scalar MPI_ERR_COMM Param 137 I(4) 4 scalar MPI_ERR_CONVERSION Param 193 I(4) 4 scalar MPI_ERR_COUNT Param 93 I(4) 4 scalar MPI_ERR_DIMS Param 179 I(4) 4 scalar MPI_ERR_DISP Param 125 I(4) 4 scalar MPI_ERR_DUP_DATAREP Param 117 I(4) 4 scalar MPI_ERR_FILE Param 91 I(4) 4 scalar MPI_ERR_FILE_EXISTS Param 133 I(4) 4 scalar MPI_ERR_FILE_IN_USE Param 165 I(4) 4 scalar MPI_ERR_GROUP Param 145 I(4) 4 scalar MPI_ERR_INFO Param 159 I(4) 4 scalar MPI_ERR_INFO_KEY Param 103 I(4) 4 scalar MPI_ERR_INFO_NOKEY Param 129 I(4) 4 scalar MPI_ERR_INFO_VALUE Param 153 I(4) 4 scalar MPI_ERR_INTERN Param 185 I(4) 4 scalar MPI_ERR_IN_STATUS Param 101 I(4) 4 scalar Page 12 Source Listing WMIOPP 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_ERR_IO Param 187 I(4) 4 scalar MPI_ERR_KEYVAL Param 139 I(4) 4 scalar MPI_ERR_LASTCODE Param 121 I(4) 4 scalar MPI_ERR_LOCKTYPE Param 105 I(4) 4 scalar MPI_ERR_NAME Param 141 I(4) 4 scalar MPI_ERR_NOT_SAME Param 155 I(4) 4 scalar MPI_ERR_NO_MEM Param 161 I(4) 4 scalar MPI_ERR_NO_SPACE Param 191 I(4) 4 scalar MPI_ERR_NO_SUCH_FILE Param 181 I(4) 4 scalar MPI_ERR_OP Param 107 I(4) 4 scalar MPI_ERR_OTHER Param 87 I(4) 4 scalar MPI_ERR_PENDING Param 135 I(4) 4 scalar MPI_ERR_PORT Param 127 I(4) 4 scalar MPI_ERR_QUOTA Param 171 I(4) 4 scalar MPI_ERR_RANK Param 177 I(4) 4 scalar MPI_ERR_READ_ONLY Param 111 I(4) 4 scalar MPI_ERR_REQUEST Param 143 I(4) 4 scalar MPI_ERR_RMA_CONFLICT Param 99 I(4) 4 scalar MPI_ERR_RMA_SYNC Param 157 I(4) 4 scalar MPI_ERR_ROOT Param 175 I(4) 4 scalar MPI_ERR_SERVICE Param 183 I(4) 4 scalar MPI_ERR_SIZE Param 113 I(4) 4 scalar MPI_ERR_SPAWN Param 95 I(4) 4 scalar MPI_ERR_TAG Param 151 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 147 I(4) 4 scalar MPI_ERR_TRUNCATE Param 123 I(4) 4 scalar MPI_ERR_TYPE Param 149 I(4) 4 scalar MPI_ERR_UNKNOWN Param 167 I(4) 4 scalar MPI_ERR_UNSUPPORTED_DATARE P Param 119 I(4) 4 scalar MPI_ERR_UNSUPPORTED_OPERAT ION Param 169 I(4) 4 scalar MPI_ERR_WIN Param 89 I(4) 4 scalar MPI_FILE_NULL Param 243 I(4) 4 scalar MPI_FLOAT Param 395 I(4) 4 scalar MPI_FLOAT_INT Param 407 I(4) 4 scalar MPI_GRAPH Param 306 I(4) 4 scalar MPI_GROUP_EMPTY Param 237 I(4) 4 scalar MPI_GROUP_NULL Param 245 I(4) 4 scalar MPI_HOST Param 259 I(4) 4 scalar MPI_IDENT Param 199 I(4) 4 scalar MPI_INFO_NULL Param 255 I(4) 4 scalar MPI_INT Param 387 I(4) 4 scalar MPI_INTEGER Param 328 I(4) 4 scalar MPI_INTEGER1 Param 350 I(4) 4 scalar MPI_INTEGER16 Param 358 I(4) 4 scalar MPI_INTEGER2 Param 352 I(4) 4 scalar MPI_INTEGER4 Param 354 I(4) 4 scalar MPI_INTEGER8 Param 356 I(4) 4 scalar MPI_IN_PLACE Scalar 517 I(4) 4 scalar COM MPI_IO Param 261 I(4) 4 scalar MPI_KEYVAL_INVALID Param 294 I(4) 4 scalar MPI_LAND Param 215 I(4) 4 scalar MPI_LASTUSEDCODE Param 267 I(4) 4 scalar MPI_LB Param 346 I(4) 4 scalar Page 13 Source Listing WMIOPP 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_LOCK_EXCLUSIVE Param 314 I(4) 4 scalar MPI_LOCK_SHARED Param 316 I(4) 4 scalar MPI_LOGICAL Param 322 I(4) 4 scalar MPI_LONG Param 391 I(4) 4 scalar MPI_LONG_DOUBLE Param 399 I(4) 4 scalar MPI_LONG_DOUBLE_INT Param 417 I(4) 4 scalar MPI_LONG_INT Param 411 I(4) 4 scalar MPI_LONG_LONG Param 405 I(4) 4 scalar MPI_LONG_LONG_INT Param 401 I(4) 4 scalar MPI_LOR Param 219 I(4) 4 scalar MPI_LXOR Param 223 I(4) 4 scalar MPI_MAX Param 207 I(4) 4 scalar MPI_MAXLOC Param 229 I(4) 4 scalar MPI_MAX_DATAREP_STRING Param 289 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 277 I(4) 4 scalar MPI_MAX_INFO_KEY Param 283 I(4) 4 scalar MPI_MAX_INFO_VAL Param 285 I(4) 4 scalar MPI_MAX_OBJECT_NAME Param 281 I(4) 4 scalar MPI_MAX_PORT_NAME Param 279 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 287 I(4) 4 scalar MPI_MIN Param 209 I(4) 4 scalar MPI_MINLOC Param 227 I(4) 4 scalar MPI_MODE_APPEND Param 493 I(4) 4 scalar MPI_MODE_CREATE Param 489 I(4) 4 scalar MPI_MODE_DELETE_ON_CLOSE Param 485 I(4) 4 scalar MPI_MODE_EXCL Param 491 I(4) 4 scalar MPI_MODE_NOCHECK Param 461 I(4) 4 scalar MPI_MODE_NOPRECEDE Param 467 I(4) 4 scalar MPI_MODE_NOPUT Param 465 I(4) 4 scalar MPI_MODE_NOSTORE Param 463 I(4) 4 scalar MPI_MODE_NOSUCCEED Param 469 I(4) 4 scalar MPI_MODE_RDONLY Param 479 I(4) 4 scalar MPI_MODE_RDWR Param 481 I(4) 4 scalar MPI_MODE_SEQUENTIAL Param 495 I(4) 4 scalar MPI_MODE_UNIQUE_OPEN Param 487 I(4) 4 scalar MPI_MODE_WRONLY Param 483 I(4) 4 scalar MPI_NULL_COPY_FN Subr 518 scalar MPI_NULL_DELETE_FN Subr 518 scalar MPI_OFFSET_KIND Param 372 I(4) 4 scalar MPI_OP_NULL Param 247 I(4) 4 scalar MPI_ORDER_C Param 503 I(4) 4 scalar MPI_ORDER_FORTRAN Param 505 I(4) 4 scalar MPI_PACKED Param 348 I(4) 4 scalar MPI_PROC_NULL Param 298 I(4) 4 scalar MPI_PROD Param 213 I(4) 4 scalar MPI_REAL Param 324 I(4) 4 scalar MPI_REAL16 Param 364 I(4) 4 scalar MPI_REAL4 Param 360 I(4) 4 scalar MPI_REAL8 Param 362 I(4) 4 scalar MPI_REPLACE Param 231 I(4) 4 scalar MPI_REQUEST_NULL Param 251 I(4) 4 scalar MPI_ROOT Param 304 I(4) 4 scalar MPI_SEEK_CUR Param 499 I(4) 4 scalar MPI_SEEK_END Param 501 I(4) 4 scalar MPI_SEEK_SET Param 497 I(4) 4 scalar Page 14 Source Listing WMIOPP 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_SHORT Param 383 I(4) 4 scalar MPI_SHORT_INT Param 413 I(4) 4 scalar MPI_SIGNED_CHAR Param 377 I(4) 4 scalar MPI_SIMILAR Param 203 I(4) 4 scalar MPI_SOURCE Param 76 I(4) 4 scalar MPI_STATUSES_IGNORE Scalar 81 I(4) 4 2 5 COM MPI_STATUS_IGNORE Scalar 80 I(4) 4 1 5 COM MPI_STATUS_SIZE Param 78 I(4) 4 scalar 80,81 MPI_SUBVERSION Param 312 I(4) 4 scalar MPI_SUCCESS Param 85 I(4) 4 scalar MPI_SUM Param 211 I(4) 4 scalar MPI_TAG Param 76 I(4) 4 scalar MPI_TAG_UB Param 257 I(4) 4 scalar MPI_THREAD_FUNNELED Param 473 I(4) 4 scalar MPI_THREAD_MULTIPLE Param 477 I(4) 4 scalar MPI_THREAD_SERIALIZED Param 475 I(4) 4 scalar MPI_THREAD_SINGLE Param 471 I(4) 4 scalar MPI_TYPECLASS_COMPLEX Param 459 I(4) 4 scalar MPI_TYPECLASS_INTEGER Param 457 I(4) 4 scalar MPI_TYPECLASS_REAL Param 455 I(4) 4 scalar MPI_TYPE_DUP_FN Subr 525 scalar MPI_TYPE_NULL_COPY_FN Subr 526 scalar MPI_TYPE_NULL_DELETE_FN Subr 525 scalar MPI_UB Param 344 I(4) 4 scalar MPI_UNDEFINED Param 291 I(4) 4 scalar MPI_UNDEFINED_RANK Param 291 I(4) 4 scalar MPI_UNEQUAL Param 205 I(4) 4 scalar MPI_UNIVERSE_SIZE Param 265 I(4) 4 scalar MPI_UNSIGNED Param 389 I(4) 4 scalar MPI_UNSIGNED_CHAR Param 379 I(4) 4 scalar MPI_UNSIGNED_LONG Param 393 I(4) 4 scalar MPI_UNSIGNED_LONG_LONG Param 403 I(4) 4 scalar MPI_UNSIGNED_SHORT Param 385 I(4) 4 scalar MPI_VERSION Param 310 I(4) 4 scalar MPI_WCHAR Param 381 I(4) 4 scalar MPI_WIN_BASE Param 271 I(4) 4 scalar MPI_WIN_DISP_UNIT Param 275 I(4) 4 scalar MPI_WIN_DUP_FN Subr 523 scalar MPI_WIN_NULL Param 241 I(4) 4 scalar MPI_WIN_NULL_COPY_FN Subr 524 scalar MPI_WIN_NULL_DELETE_FN Subr 523 scalar MPI_WIN_SIZE Param 273 I(4) 4 scalar MPI_WTICK Func 519 R(8) 8 scalar MPI_WTIME Func 519 R(8) 8 scalar MPI_WTIME_IS_GLOBAL Param 263 I(4) 4 scalar NMPERR Local 198 I(4) 4 scalar 198,277,283 NMPSCR Local 197 I(4) 4 scalar 197 NOPTS Local 195 I(4) 4 scalar PTR 195,248,266,292,332,368 NPT Dummy 84 I(4) 4 scalar ARG,IN 210,211,246,248 NRGRD Local 197 I(4) 4 scalar 197,266,272,334,353 NRUPTS Local 330 I(4) 4 scalar 330,337,357,361,406 NX Local 191 I(4) 4 scalar PTR 191 NY Local 191 I(4) 4 scalar PTR 191 O2INIT Local 195 L(4) 4 scalar PTR 195,238,394,403 O2IRQI Local 196 L(4) 4 scalar PTR 196,408,411 Page 15 Source Listing WMIOPP 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References OUT2 Local 395 W3ODATMD^OTYPE2 1368 scalar 395,396,397,398,399,400,401,402,40 9,410 OUTPTS Local 195 RECORD 5960 1 1 ALC,TGT 195,395,396,397,398,399,400,401,40 2,409,410 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar PN Local 227 CHAR 10 1 1 ALC 363,374,406,423 PNAMES Dummy 84 CHAR 10 1 0 ARG,IN 241,251 PRESENT Func 240 scalar 240,241 PTIFAC Local 397 R(4) 4 2 1 PTR 397 PTLOC Local 195 R(4) 4 2 1 PTR 195,249,250,269,270,372,373 PTLOC Local 402 R(4) 4 2 1 PTR 402 PTNME Local 195 CHAR 10 1 1 PTR 195,251,374 PTNME Local 398 CHAR 10 1 1 PTR 398 RD Local 218 R(4) 4 1 4 298,303 RDX Local 221 R(4) 4 scalar RDY Local 221 R(4) 4 scalar RX Local 221 R(4) 4 scalar RY Local 221 R(4) 4 scalar SETUP Local 226 L(4) 4 scalar 226,358,432 SPCO Local 402 R(4) 4 2 1 PTR 402 SX Local 191 R(4) 4 scalar PTR 191 TRIGP Local 194 I(4) 4 2 1 PTR 194 UNGTYPE Param 192 I(4) 4 scalar 192,276,297 UPTMAP Local 358 I(4) 4 1 1 PTR 358,359,371 W3ADATMD Module 183 183 W3DMO2 Subr 185 185,246 W3GDATMD Module 182 182,191,194 W3GRMP Local 298 scalar 298 W3GRMP_R4 Func 298 L(4) 4 scalar PRIV 298 W3GSRUMD Module 181 181 W3INITMD Module 187 187 W3IOPOMD Module 188 188 W3IOPP Subr 188 188,406 W3MPIP Subr 187 187,414 W3ODATMD Module 185 185,195,196 W3SERVMD Module 189 189 W3SETA Subr 183 183,391 W3SETG Subr 182 182,274,390 W3SETO Subr 185 185,233,389,422 W3SETW Subr 184 184,392 W3TRIAMD Module 199 199 W3WDATMD Module 184 184 WAO Local 399 R(4) 4 1 1 PTR 399 WDO Local 400 R(4) 4 1 1 PTR 400 WMIOPP Subr 84 WMMDATMD Module 186 186,197,200 WMSETM Subr 186 186,385 X0 Local 191 R(4) 4 scalar PTR 191 XP Local 223 R(4) 4 1 1 ALC 266,269,326,363,372,406,423 XPT Dummy 84 R(4) 4 1 0 ARG,TGT,IN 240,249,298,303 XYB Local 194 R(8) 8 2 1 PTR 194 Y0 Local 191 R(4) 4 scalar PTR 191 YP Local 223 R(4) 4 1 1 ALC 266,270,326,363,373,406,423 YPT Dummy 84 R(4) 4 1 0 ARG,TGT,IN 240,250,298,303 Page 16 Source Listing WMIOPP 2014-09-16 16:49 wmiopomd.f90 983 !/ ------------------------------------------------------------------- / 984 SUBROUTINE WMIOPO ( TOUT ) 985 !/ 986 !/ +-----------------------------------+ 987 !/ | WAVEWATCH III NOAA/NCEP | 988 !/ | H. L. Tolman | 989 !/ | FORTRAN 90 | 990 !/ | Last update : 16-Mar-2012 ! 991 !/ +-----------------------------------+ 992 !/ 993 !/ 09-Aug-2006 : Origination. ( version 3.10 ) 994 !/ 21-Jun-2007 : Dedicated output processes. ( version 3.11 ) 995 !/ 16-Mar-2012 : Using MPI_COMM_NULL in checks. ( version 3.14 ) 996 !/ 997 ! 1. Purpose : 998 ! 999 ! Gather and write unified point output. 1000 ! 1001 ! 2. Method : 1002 ! 1003 ! Per-grid point output is already gathered. All data are gathered 1004 ! in the porper storage, and writen using the standard W3IOPO 1005 ! routint from grid number 0. 1006 ! 1007 ! 3. Parameters : 1008 ! 1009 ! Parameter list 1010 ! ---------------------------------------------------------------- 1011 ! TOUT I.A. I Time for output file. 1012 ! ---------------------------------------------------------------- 1013 ! 1014 ! 4. Subroutines used : 1015 ! 1016 ! Name Type Module Description 1017 ! ---------------------------------------------------------------- 1018 ! W3SETG Subr. W3GDATMD Point to model grid. 1019 ! W3SETW Subr. W3WDATMD Point to model grid. 1020 ! W3SETO Subr. W3ODATMD Point to model grid. 1021 ! WMSETM Subr. WMMDATMD Point to model grid. 1022 ! W3CSPC Subr. W3CSPCMD Spectral grid conversion. 1023 ! W3IOPO Subr. W3IOPOMD Point output for single model. 1024 ! STRACE Subr. W3SERVMD Subroutine tracing. 1025 ! MPI_SEND, MPI_RECV 1026 ! Subr. mpif.h Standard MPI library routines. 1027 ! ---------------------------------------------------------------- 1028 ! 1029 ! 5. Called by : 1030 ! 1031 ! Name Type Module Description 1032 ! ---------------------------------------------------------------- 1033 ! WMWAVE Prog. WMWAVEMD Multi-grid wave model routine. 1034 ! ---------------------------------------------------------------- 1035 ! 1036 ! 6. Error messages : 1037 ! 1038 ! 7. Remarks : 1039 ! Page 17 Source Listing WMIOPO 2014-09-16 16:49 wmiopomd.f90 1040 ! 8. Structure : 1041 ! 1042 ! See source code. 1043 ! 1044 ! 9. Switches : 1045 ! 1046 ! !/MPI Distributed memory model. 1047 ! 1048 ! !/S Enable subroutine tracing. 1049 ! !/T Enable test output 1050 ! !/MPIT 1051 ! 1052 ! 10. Source code : 1053 ! 1054 !/ ------------------------------------------------------------------- / 1055 ! USE CONSTANTS 1056 ! 1057 USE W3GDATMD, ONLY: W3SETG 1058 USE W3WDATMD, ONLY: W3SETW 1059 USE W3ODATMD, ONLY: W3SETO 1060 USE WMMDATMD, ONLY: WMSETM 1061 USE W3CSPCMD, ONLY: W3CSPC 1062 USE W3IOPOMD, ONLY: W3IOPO 1063 ! 1064 USE W3GDATMD, ONLY: NK, NTH, NSPEC, XFR, FR1, TH, SGRDS 1065 USE W3WDATMD, ONLY: TIME 1066 USE W3ODATMD, ONLY: IAPROC, NAPROC, NAPPNT, NOPTS, SPCO, DPO, & 1067 WAO, WDO, ASO, CAO, CDO, OUTPTS 1068 USE WMMDATMD, ONLY: MDST, MDSE, IMPROC, NMPROC, NMPUPT, NRGRD, & 1069 RESPEC, UPTMAP, MDSUP 1070 USE WMMDATMD, ONLY: MPI_COMM_MWAVE, MPI_COMM_GRD, ALLPRC, & 1071 MTAG0 1072 ! 1073 IMPLICIT NONE 1074 ! 1075 INCLUDE "mpif.h" 1076 !/ 1077 !/ ------------------------------------------------------------------- / 1078 !/ Parameter list 1079 !/ 1618 INTEGER, INTENT(IN) :: TOUT(2) 1619 !/ 1620 !/ ------------------------------------------------------------------- / 1621 !/ Local parameters 1622 !/ 1623 INTEGER :: J, I, II, IT0, IT, ITARG, IFROM 1624 INTEGER :: IERR_MPI, NMPPNT 1625 INTEGER, ALLOCATABLE :: STATUS(:,:) 1626 REAL, POINTER :: SPEC(:,:) 1627 REAL, POINTER :: SPCR(:,:), DPR(:), WAR(:), & 1628 WDR(:), ASR(:), CAR(:), CDR(:) 1629 !/ 1630 ! 1631 ! -------------------------------------------------------------------- / 1632 ! 0. Initializations 1633 ! 1634 IF ( IMPROC .EQ. NMPUPT ) THEN Page 18 Source Listing WMIOPO 2014-09-16 16:49 wmiopomd.f90 1635 OUTPTS(0)%OUT2%SPCO = 0. 1636 OUTPTS(0)%OUT2%DPO = 1. 1637 OUTPTS(0)%OUT2%WAO = 0. 1638 OUTPTS(0)%OUT2%WDO = 0. 1639 OUTPTS(0)%OUT2%ASO = 0. 1640 OUTPTS(0)%OUT2%CAO = 0. 1641 OUTPTS(0)%OUT2%CDO = 0. 1642 END IF 1643 ! 1644 ! -------------------------------------------------------------------- / 1645 ! 1. Loop over grids for processing local data 1646 ! 1647 DO J=1, NRGRD 1648 ! 1649 ! 1.a Set up loop 1650 ! 1651 CALL W3SETO ( J, MDSE, MDST ) 1652 CALL W3SETG ( J, MDSE, MDST ) 1653 CALL WMSETM ( J, MDSE, MDST ) 1654 ! 1655 ! 1.b Determine if action 1656 ! 1657 IF ( MPI_COMM_GRD .EQ. MPI_COMM_NULL ) THEN 1658 CYCLE 1659 END IF 1660 ! 1661 IF ( NOPTS .EQ. 0 ) THEN 1662 CYCLE 1663 END IF 1664 ! 1665 IF ( IAPROC .NE. NAPPNT ) THEN 1666 CYCLE 1667 END IF 1668 ! 1669 ! 1.c Data here, and to remain on present processor. 1670 ! 1671 IF ( IMPROC .EQ. NMPUPT ) THEN 1672 ! 1673 ! 1.c.1 Spectral conversion if needed 1674 ! 1675 IF ( RESPEC(0,J) ) THEN 1676 ALLOCATE ( SPEC(SGRDS(0)%NSPEC,NOPTS) ) 1677 CALL W3CSPC ( SPCO, NK, NTH, XFR, FR1, TH(1), SPEC, & 1678 SGRDS(0)%NK, SGRDS(0)%NTH, SGRDS(0)%XFR, & 1679 SGRDS(0)%FR1, SGRDS(0)%TH(1), NOPTS, MDST, MDSE, & 1680 SGRDS(0)%FACHFE ) 1681 ! 1682 ! 1.c.2 Spectral conversion not needed 1683 ! 1684 ELSE 1685 SPEC => SPCO 1686 END IF 1687 ! 1688 ! 1.d Store data at grid 0 1689 ! 1690 DO I=1, NOPTS 1691 II = UPTMAP(I) Page 19 Source Listing WMIOPO 2014-09-16 16:49 wmiopomd.f90 1692 OUTPTS(0)%OUT2%SPCO(:,II) = SPEC(:,I) 1693 OUTPTS(0)%OUT2%DPO(II) = DPO(I) 1694 OUTPTS(0)%OUT2%WAO(II) = WAO(I) 1695 OUTPTS(0)%OUT2%WDO(II) = WDO(I) 1696 OUTPTS(0)%OUT2%ASO(II) = ASO(I) 1697 OUTPTS(0)%OUT2%CAO(II) = CAO(I) 1698 OUTPTS(0)%OUT2%CDO(II) = CDO(I) 1699 END DO 1700 ! 1701 IF ( RESPEC(0,J) ) DEALLOCATE ( SPEC ) 1702 ! 1703 ! 1.e Data here, and to be sent to other processor. 1704 ! 1705 ELSE 1706 ! 1707 IT0 = MTAG0 - 7*NRGRD - 1 1708 IT = IT0 + (J-1)*7 1709 ITARG = NMPUPT - 1 1710 ! 1711 IT = IT + 1 1712 CALL MPI_SEND ( SPCO(1,1), NSPEC*NOPTS, MPI_REAL, & 1713 ITARG, IT, MPI_COMM_MWAVE, IERR_MPI ) 1714 IT = IT + 1 1715 CALL MPI_SEND ( DPO(1), NOPTS, MPI_REAL, ITARG, IT, & 1716 MPI_COMM_MWAVE, IERR_MPI ) 1717 IT = IT + 1 1718 CALL MPI_SEND ( WAO(1), NOPTS, MPI_REAL, ITARG, IT, & 1719 MPI_COMM_MWAVE, IERR_MPI ) 1720 IT = IT + 1 1721 CALL MPI_SEND ( WDO(1), NOPTS, MPI_REAL, ITARG, IT, & 1722 MPI_COMM_MWAVE, IERR_MPI ) 1723 IT = IT + 1 1724 CALL MPI_SEND ( ASO(1), NOPTS, MPI_REAL, ITARG, IT, & 1725 MPI_COMM_MWAVE, IERR_MPI ) 1726 IT = IT + 1 1727 CALL MPI_SEND ( CAO(1), NOPTS, MPI_REAL, ITARG, IT, & 1728 MPI_COMM_MWAVE, IERR_MPI ) 1729 IT = IT + 1 1730 CALL MPI_SEND ( CDO(1), NOPTS, MPI_REAL, ITARG, IT, & 1731 MPI_COMM_MWAVE, IERR_MPI ) 1732 ! 1733 END IF 1734 ! 1735 END DO 1736 ! 1737 ! -------------------------------------------------------------------- / 1738 ! 2. Check if this is output processor, otherwise exit 1739 ! 1740 IF ( IMPROC .NE. NMPUPT ) THEN 1741 RETURN 1742 END IF 1743 ! 1744 ! -------------------------------------------------------------------- / 1745 ! 3. Loop over grids for processing remote data 1746 ! 1747 ! 3.a Loop setup 1748 ! Page 20 Source Listing WMIOPO 2014-09-16 16:49 wmiopomd.f90 1749 DO J=1, NRGRD 1750 ! 1751 CALL W3SETO ( J, MDSE, MDST ) 1752 CALL W3SETG ( J, MDSE, MDST ) 1753 CALL WMSETM ( J, MDSE, MDST ) 1754 ! 1755 DO NMPPNT= NMPROC, 1, -1 1756 IF ( ALLPRC(NMPPNT,J) .EQ. NAPPNT ) EXIT 1757 END DO 1758 ! 1759 IF ( NMPPNT.EQ.NMPUPT .OR. NOPTS.EQ.0 ) THEN 1760 CYCLE 1761 END IF 1762 ! 1763 ! 3.b Receive data 1764 ! 1765 IT0 = MTAG0 - 7*NRGRD - 1 1766 IT = IT0 + (J-1)*7 1767 IFROM = NMPPNT - 1 1768 ALLOCATE ( SPCR(NSPEC,NOPTS), STATUS(MPI_STATUS_SIZE,1), & 1769 DPR(NOPTS), WAR(NOPTS), WDR(NOPTS), ASR(NOPTS),& 1770 CAR(NOPTS), CDR(NOPTS) ) 1771 ! 1772 IT = IT + 1 1773 CALL MPI_RECV ( SPCR(1,1), NSPEC*NOPTS, MPI_REAL, IFROM, & 1774 IT, MPI_COMM_MWAVE, STATUS, IERR_MPI ) 1775 IT = IT + 1 1776 CALL MPI_RECV ( DPR(1), NSPEC*NOPTS, MPI_REAL, IFROM, & 1777 IT, MPI_COMM_MWAVE, STATUS, IERR_MPI ) 1778 IT = IT + 1 1779 CALL MPI_RECV ( WAR(1), NSPEC*NOPTS, MPI_REAL, IFROM, & 1780 IT, MPI_COMM_MWAVE, STATUS, IERR_MPI ) 1781 IT = IT + 1 1782 CALL MPI_RECV ( WDR(1), NSPEC*NOPTS, MPI_REAL, IFROM, & 1783 IT, MPI_COMM_MWAVE, STATUS, IERR_MPI ) 1784 IT = IT + 1 1785 CALL MPI_RECV ( ASR(1), NSPEC*NOPTS, MPI_REAL, IFROM, & 1786 IT, MPI_COMM_MWAVE, STATUS, IERR_MPI ) 1787 IT = IT + 1 1788 CALL MPI_RECV ( CAR(1), NSPEC*NOPTS, MPI_REAL, IFROM, & 1789 IT, MPI_COMM_MWAVE, STATUS, IERR_MPI ) 1790 IT = IT + 1 1791 CALL MPI_RECV ( CDR(1), NSPEC*NOPTS, MPI_REAL, IFROM, & 1792 IT, MPI_COMM_MWAVE, STATUS, IERR_MPI ) 1793 ! 1794 ! 3.c Convert if necessary 1795 ! 1796 IF ( RESPEC(0,J) ) THEN 1797 ALLOCATE ( SPEC(SGRDS(0)%NSPEC,NOPTS) ) 1798 CALL W3CSPC ( SPCR, NK, NTH, XFR, FR1, TH(1), SPEC, & 1799 SGRDS(0)%NK, SGRDS(0)%NTH, SGRDS(0)%XFR, & 1800 SGRDS(0)%FR1, SGRDS(0)%TH(1), NOPTS, MDST, MDSE, & 1801 SGRDS(0)%FACHFE ) 1802 ELSE 1803 SPEC => SPCR 1804 END IF 1805 ! Page 21 Source Listing WMIOPO 2014-09-16 16:49 wmiopomd.f90 1806 ! 3.d Store data at grid 0 1807 ! 1808 DO I=1, NOPTS 1809 II = UPTMAP(I) 1810 OUTPTS(0)%OUT2%SPCO(:,II) = SPEC(:,I) 1811 OUTPTS(0)%OUT2%DPO(II) = DPR(I) 1812 OUTPTS(0)%OUT2%WAO(II) = WAR(I) 1813 OUTPTS(0)%OUT2%WDO(II) = WDR(I) 1814 OUTPTS(0)%OUT2%ASO(II) = ASR(I) 1815 OUTPTS(0)%OUT2%CAO(II) = CAR(I) 1816 OUTPTS(0)%OUT2%CDO(II) = CDR(I) 1817 END DO 1818 ! 1819 IF ( RESPEC(0,J) ) DEALLOCATE ( SPEC ) 1820 DEALLOCATE ( SPCR, DPR, WAR, WDR, ASR, CAR, CDR, STATUS ) 1821 ! 1822 END DO 1823 ! 1824 ! -------------------------------------------------------------------- / 1825 ! 4. Output data 1826 ! 1827 CALL W3SETO ( 0, MDSE, MDST ) 1828 CALL W3SETG ( 0, MDSE, MDST ) 1829 CALL W3SETW ( 0, MDSE, MDST ) 1830 ! 1831 TIME = TOUT 1832 ! 1833 CALL W3IOPO ( 'WRITE', MDSUP, II, 0 ) 1834 ! 1835 RETURN 1836 ! 1837 ! Formats 1838 ! 1839 9040 FORMAT ( ' TEST WMIOPO : PERFORM OUTPUT') 1840 !/ 1841 !/ End of WMIOPO ----------------------------------------------------- / 1842 !/ 1843 END SUBROUTINE WMIOPO Page 22 Source Listing WMIOPO 2014-09-16 16:49 Entry Points wmiopomd.f90 ENTRY POINTS Name wmiopomd_mp_wmiopo_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 9040 Label 763 ALLPRC Local 532 I(4) 4 2 1 ALC 532,680 ASO Local 529 R(4) 4 1 1 PTR 529,620,648 ASO Local 563 R(4) 4 1 1 PTR 563,620,738 ASR Local 552 R(4) 4 1 1 PTR 693,709,738,744 CAO Local 529 R(4) 4 1 1 PTR 529,621,651 CAO Local 564 R(4) 4 1 1 PTR 564,621,739 CAR Local 552 R(4) 4 1 1 PTR 694,712,739,744 CDO Local 529 R(4) 4 1 1 PTR 529,622,654 CDO Local 565 R(4) 4 1 1 PTR 565,622,740 CDR Local 552 R(4) 4 1 1 PTR 694,715,740,744 DPO Local 528 R(4) 4 1 1 PTR 528,617,639 DPO Local 560 R(4) 4 1 1 PTR 560,617,735 DPR Local 551 R(4) 4 1 1 PTR 693,700,735,744 FACHFE Local 604 R(4) 4 scalar 604,725 FR1 Local 526 R(4) 4 scalar PTR 526,601,722 FR1 Local 603 R(4) 4 scalar 603,724 I Local 547 I(4) 4 scalar 614,615,616,617,618,619,620,621,62 2,732,733,734,735,736,737,738,739, 740 IAPROC Local 528 I(4) 4 scalar PTR 528,589 IERR_MPI Local 548 I(4) 4 scalar 637,640,643,646,649,652,655,698,70 1,704,707,710,713,716 IFROM Local 547 I(4) 4 scalar 691,697,700,703,706,709,712,715 II Local 547 I(4) 4 scalar 615,616,617,618,619,620,621,622,73 3,734,735,736,737,738,739,740,757 IMPROC Local 530 I(4) 4 scalar 530,558,595,664 IT Local 547 I(4) 4 scalar 632,635,637,638,639,641,642,644,64 5,647,648,650,651,653,654,690,696, 698,699,701,702,704,705,707,708,71 0,711,713,714,716 IT0 Local 547 I(4) 4 scalar 631,632,689,690 ITARG Local 547 I(4) 4 scalar 633,637,639,642,645,648,651,654 J Local 547 I(4) 4 scalar 571,575,576,577,599,625,632,673,67 5,676,677,680,690,720,743 MDSE Local 530 I(4) 4 scalar 530,575,576,577,603,675,676,677,72 4,751,752,753 MDST Local 530 I(4) 4 scalar 530,575,576,577,603,675,676,677,72 4,751,752,753 MDSUP Local 531 I(4) 4 scalar 531,757 MPIPRIV1 Common 532 28 MPIPRIV2 Common 534 24 MPIPRIVC Common 537 2 MPI_2COMPLEX Param 332 I(4) 4 scalar Page 23 Source Listing WMIOPO 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_2DOUBLE_COMPLEX Param 338 I(4) 4 scalar MPI_2DOUBLE_PRECISION Param 334 I(4) 4 scalar MPI_2INT Param 415 I(4) 4 scalar MPI_2INTEGER Param 330 I(4) 4 scalar MPI_2REAL Param 336 I(4) 4 scalar MPI_ADDRESS_KIND Param 372 I(4) 4 scalar MPI_ANY_SOURCE Param 300 I(4) 4 scalar MPI_ANY_TAG Param 302 I(4) 4 scalar MPI_APPNUM Param 269 I(4) 4 scalar MPI_ARGVS_NULL Scalar 83 CHAR 1 2 1 COM MPI_ARGV_NULL Scalar 84 CHAR 1 1 1 COM MPI_BAND Param 217 I(4) 4 scalar MPI_BOR Param 221 I(4) 4 scalar MPI_BOTTOM Scalar 517 I(4) 4 scalar COM MPI_BSEND_OVERHEAD Param 296 I(4) 4 scalar MPI_BXOR Param 225 I(4) 4 scalar MPI_BYTE Param 342 I(4) 4 scalar MPI_CART Param 308 I(4) 4 scalar MPI_CHAR Param 375 I(4) 4 scalar MPI_CHARACTER Param 340 I(4) 4 scalar MPI_COMBINER_CONTIGUOUS Param 423 I(4) 4 scalar MPI_COMBINER_DARRAY Param 445 I(4) 4 scalar MPI_COMBINER_DUP Param 421 I(4) 4 scalar MPI_COMBINER_F90_COMPLEX Param 449 I(4) 4 scalar MPI_COMBINER_F90_INTEGER Param 451 I(4) 4 scalar MPI_COMBINER_F90_REAL Param 447 I(4) 4 scalar MPI_COMBINER_HINDEXED Param 435 I(4) 4 scalar MPI_COMBINER_HINDEXED_INTE GER Param 433 I(4) 4 scalar MPI_COMBINER_HVECTOR Param 429 I(4) 4 scalar MPI_COMBINER_HVECTOR_INTEG ER Param 427 I(4) 4 scalar MPI_COMBINER_INDEXED Param 431 I(4) 4 scalar MPI_COMBINER_INDEXED_BLOCK Param 437 I(4) 4 scalar MPI_COMBINER_NAMED Param 419 I(4) 4 scalar MPI_COMBINER_RESIZED Param 453 I(4) 4 scalar MPI_COMBINER_STRUCT Param 441 I(4) 4 scalar MPI_COMBINER_STRUCT_INTEGE R Param 439 I(4) 4 scalar MPI_COMBINER_SUBARRAY Param 443 I(4) 4 scalar MPI_COMBINER_VECTOR Param 425 I(4) 4 scalar MPI_COMM_DUP_FN Subr 521 scalar MPI_COMM_GRD Local 532 I(4) 4 scalar PTR 532,581 MPI_COMM_MWAVE Local 532 I(4) 4 scalar 532,637,640,643,646,649,652,655,69 8,701,704,707,710,713,716 MPI_COMM_NULL Param 239 I(4) 4 scalar 581 MPI_COMM_NULL_COPY_FN Subr 522 scalar MPI_COMM_NULL_DELETE_FN Subr 521 scalar MPI_COMM_SELF Param 235 I(4) 4 scalar MPI_COMM_WORLD Param 233 I(4) 4 scalar MPI_COMPLEX Param 318 I(4) 4 scalar MPI_COMPLEX16 Param 368 I(4) 4 scalar MPI_COMPLEX32 Param 370 I(4) 4 scalar MPI_COMPLEX8 Param 366 I(4) 4 scalar MPI_CONGRUENT Param 201 I(4) 4 scalar Page 24 Source Listing WMIOPO 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_CONVERSION_FN_NULL Subr 527 scalar MPI_DATATYPE_NULL Param 249 I(4) 4 scalar 359 MPI_DISPLACEMENT_CURRENT Param 515 I(8) 8 scalar MPI_DISTRIBUTE_BLOCK Param 507 I(4) 4 scalar MPI_DISTRIBUTE_CYCLIC Param 509 I(4) 4 scalar MPI_DISTRIBUTE_DFLT_DARG Param 513 I(4) 4 scalar MPI_DISTRIBUTE_NONE Param 511 I(4) 4 scalar MPI_DOUBLE Param 397 I(4) 4 scalar MPI_DOUBLE_COMPLEX Param 320 I(4) 4 scalar MPI_DOUBLE_INT Param 409 I(4) 4 scalar MPI_DOUBLE_PRECISION Param 326 I(4) 4 scalar MPI_DUP_FN Subr 518 scalar MPI_ERRCODES_IGNORE Scalar 82 I(4) 4 1 1 COM MPI_ERRHANDLER_NULL Param 253 I(4) 4 scalar MPI_ERROR Param 76 I(4) 4 scalar MPI_ERRORS_ARE_FATAL Param 195 I(4) 4 scalar MPI_ERRORS_RETURN Param 197 I(4) 4 scalar MPI_ERR_ACCESS Param 189 I(4) 4 scalar MPI_ERR_AMODE Param 173 I(4) 4 scalar MPI_ERR_ARG Param 109 I(4) 4 scalar MPI_ERR_ASSERT Param 131 I(4) 4 scalar MPI_ERR_BAD_FILE Param 163 I(4) 4 scalar MPI_ERR_BASE Param 97 I(4) 4 scalar MPI_ERR_BUFFER Param 115 I(4) 4 scalar MPI_ERR_COMM Param 137 I(4) 4 scalar MPI_ERR_CONVERSION Param 193 I(4) 4 scalar MPI_ERR_COUNT Param 93 I(4) 4 scalar MPI_ERR_DIMS Param 179 I(4) 4 scalar MPI_ERR_DISP Param 125 I(4) 4 scalar MPI_ERR_DUP_DATAREP Param 117 I(4) 4 scalar MPI_ERR_FILE Param 91 I(4) 4 scalar MPI_ERR_FILE_EXISTS Param 133 I(4) 4 scalar MPI_ERR_FILE_IN_USE Param 165 I(4) 4 scalar MPI_ERR_GROUP Param 145 I(4) 4 scalar MPI_ERR_INFO Param 159 I(4) 4 scalar MPI_ERR_INFO_KEY Param 103 I(4) 4 scalar MPI_ERR_INFO_NOKEY Param 129 I(4) 4 scalar MPI_ERR_INFO_VALUE Param 153 I(4) 4 scalar MPI_ERR_INTERN Param 185 I(4) 4 scalar MPI_ERR_IN_STATUS Param 101 I(4) 4 scalar MPI_ERR_IO Param 187 I(4) 4 scalar MPI_ERR_KEYVAL Param 139 I(4) 4 scalar MPI_ERR_LASTCODE Param 121 I(4) 4 scalar MPI_ERR_LOCKTYPE Param 105 I(4) 4 scalar MPI_ERR_NAME Param 141 I(4) 4 scalar MPI_ERR_NOT_SAME Param 155 I(4) 4 scalar MPI_ERR_NO_MEM Param 161 I(4) 4 scalar MPI_ERR_NO_SPACE Param 191 I(4) 4 scalar MPI_ERR_NO_SUCH_FILE Param 181 I(4) 4 scalar MPI_ERR_OP Param 107 I(4) 4 scalar MPI_ERR_OTHER Param 87 I(4) 4 scalar MPI_ERR_PENDING Param 135 I(4) 4 scalar MPI_ERR_PORT Param 127 I(4) 4 scalar MPI_ERR_QUOTA Param 171 I(4) 4 scalar MPI_ERR_RANK Param 177 I(4) 4 scalar Page 25 Source Listing WMIOPO 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_ERR_READ_ONLY Param 111 I(4) 4 scalar MPI_ERR_REQUEST Param 143 I(4) 4 scalar MPI_ERR_RMA_CONFLICT Param 99 I(4) 4 scalar MPI_ERR_RMA_SYNC Param 157 I(4) 4 scalar MPI_ERR_ROOT Param 175 I(4) 4 scalar MPI_ERR_SERVICE Param 183 I(4) 4 scalar MPI_ERR_SIZE Param 113 I(4) 4 scalar MPI_ERR_SPAWN Param 95 I(4) 4 scalar MPI_ERR_TAG Param 151 I(4) 4 scalar MPI_ERR_TOPOLOGY Param 147 I(4) 4 scalar MPI_ERR_TRUNCATE Param 123 I(4) 4 scalar MPI_ERR_TYPE Param 149 I(4) 4 scalar MPI_ERR_UNKNOWN Param 167 I(4) 4 scalar MPI_ERR_UNSUPPORTED_DATARE P Param 119 I(4) 4 scalar MPI_ERR_UNSUPPORTED_OPERAT ION Param 169 I(4) 4 scalar MPI_ERR_WIN Param 89 I(4) 4 scalar MPI_FILE_NULL Param 243 I(4) 4 scalar MPI_FLOAT Param 395 I(4) 4 scalar MPI_FLOAT_INT Param 407 I(4) 4 scalar MPI_GRAPH Param 306 I(4) 4 scalar MPI_GROUP_EMPTY Param 237 I(4) 4 scalar MPI_GROUP_NULL Param 245 I(4) 4 scalar MPI_HOST Param 259 I(4) 4 scalar MPI_IDENT Param 199 I(4) 4 scalar MPI_INFO_NULL Param 255 I(4) 4 scalar MPI_INT Param 387 I(4) 4 scalar MPI_INTEGER Param 328 I(4) 4 scalar MPI_INTEGER1 Param 350 I(4) 4 scalar MPI_INTEGER16 Param 358 I(4) 4 scalar MPI_INTEGER2 Param 352 I(4) 4 scalar MPI_INTEGER4 Param 354 I(4) 4 scalar MPI_INTEGER8 Param 356 I(4) 4 scalar MPI_IN_PLACE Scalar 517 I(4) 4 scalar COM MPI_IO Param 261 I(4) 4 scalar MPI_KEYVAL_INVALID Param 294 I(4) 4 scalar MPI_LAND Param 215 I(4) 4 scalar MPI_LASTUSEDCODE Param 267 I(4) 4 scalar MPI_LB Param 346 I(4) 4 scalar MPI_LOCK_EXCLUSIVE Param 314 I(4) 4 scalar MPI_LOCK_SHARED Param 316 I(4) 4 scalar MPI_LOGICAL Param 322 I(4) 4 scalar MPI_LONG Param 391 I(4) 4 scalar MPI_LONG_DOUBLE Param 399 I(4) 4 scalar MPI_LONG_DOUBLE_INT Param 417 I(4) 4 scalar MPI_LONG_INT Param 411 I(4) 4 scalar MPI_LONG_LONG Param 405 I(4) 4 scalar MPI_LONG_LONG_INT Param 401 I(4) 4 scalar MPI_LOR Param 219 I(4) 4 scalar MPI_LXOR Param 223 I(4) 4 scalar MPI_MAX Param 207 I(4) 4 scalar MPI_MAXLOC Param 229 I(4) 4 scalar MPI_MAX_DATAREP_STRING Param 289 I(4) 4 scalar MPI_MAX_ERROR_STRING Param 277 I(4) 4 scalar Page 26 Source Listing WMIOPO 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_MAX_INFO_KEY Param 283 I(4) 4 scalar MPI_MAX_INFO_VAL Param 285 I(4) 4 scalar MPI_MAX_OBJECT_NAME Param 281 I(4) 4 scalar MPI_MAX_PORT_NAME Param 279 I(4) 4 scalar MPI_MAX_PROCESSOR_NAME Param 287 I(4) 4 scalar MPI_MIN Param 209 I(4) 4 scalar MPI_MINLOC Param 227 I(4) 4 scalar MPI_MODE_APPEND Param 493 I(4) 4 scalar MPI_MODE_CREATE Param 489 I(4) 4 scalar MPI_MODE_DELETE_ON_CLOSE Param 485 I(4) 4 scalar MPI_MODE_EXCL Param 491 I(4) 4 scalar MPI_MODE_NOCHECK Param 461 I(4) 4 scalar MPI_MODE_NOPRECEDE Param 467 I(4) 4 scalar MPI_MODE_NOPUT Param 465 I(4) 4 scalar MPI_MODE_NOSTORE Param 463 I(4) 4 scalar MPI_MODE_NOSUCCEED Param 469 I(4) 4 scalar MPI_MODE_RDONLY Param 479 I(4) 4 scalar MPI_MODE_RDWR Param 481 I(4) 4 scalar MPI_MODE_SEQUENTIAL Param 495 I(4) 4 scalar MPI_MODE_UNIQUE_OPEN Param 487 I(4) 4 scalar MPI_MODE_WRONLY Param 483 I(4) 4 scalar MPI_NULL_COPY_FN Subr 518 scalar MPI_NULL_DELETE_FN Subr 518 scalar MPI_OFFSET_KIND Param 372 I(4) 4 scalar MPI_OP_NULL Param 247 I(4) 4 scalar MPI_ORDER_C Param 503 I(4) 4 scalar MPI_ORDER_FORTRAN Param 505 I(4) 4 scalar MPI_PACKED Param 348 I(4) 4 scalar MPI_PROC_NULL Param 298 I(4) 4 scalar MPI_PROD Param 213 I(4) 4 scalar MPI_REAL Param 324 I(4) 4 scalar 636,639,642,645,648,651,654,697,70 0,703,706,709,712,715 MPI_REAL16 Param 364 I(4) 4 scalar MPI_REAL4 Param 360 I(4) 4 scalar MPI_REAL8 Param 362 I(4) 4 scalar MPI_RECV Subr 697 697,700,703,706,709,712,715 MPI_REPLACE Param 231 I(4) 4 scalar MPI_REQUEST_NULL Param 251 I(4) 4 scalar MPI_ROOT Param 304 I(4) 4 scalar MPI_SEEK_CUR Param 499 I(4) 4 scalar MPI_SEEK_END Param 501 I(4) 4 scalar MPI_SEEK_SET Param 497 I(4) 4 scalar MPI_SEND Subr 636 636,639,642,645,648,651,654 MPI_SHORT Param 383 I(4) 4 scalar MPI_SHORT_INT Param 413 I(4) 4 scalar MPI_SIGNED_CHAR Param 377 I(4) 4 scalar MPI_SIMILAR Param 203 I(4) 4 scalar MPI_SOURCE Param 76 I(4) 4 scalar MPI_STATUSES_IGNORE Scalar 81 I(4) 4 2 5 COM MPI_STATUS_IGNORE Scalar 80 I(4) 4 1 5 COM MPI_STATUS_SIZE Param 78 I(4) 4 scalar 80,81,692 MPI_SUBVERSION Param 312 I(4) 4 scalar MPI_SUCCESS Param 85 I(4) 4 scalar MPI_SUM Param 211 I(4) 4 scalar MPI_TAG Param 76 I(4) 4 scalar Page 27 Source Listing WMIOPO 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References MPI_TAG_UB Param 257 I(4) 4 scalar MPI_THREAD_FUNNELED Param 473 I(4) 4 scalar MPI_THREAD_MULTIPLE Param 477 I(4) 4 scalar MPI_THREAD_SERIALIZED Param 475 I(4) 4 scalar MPI_THREAD_SINGLE Param 471 I(4) 4 scalar MPI_TYPECLASS_COMPLEX Param 459 I(4) 4 scalar MPI_TYPECLASS_INTEGER Param 457 I(4) 4 scalar MPI_TYPECLASS_REAL Param 455 I(4) 4 scalar MPI_TYPE_DUP_FN Subr 525 scalar MPI_TYPE_NULL_COPY_FN Subr 526 scalar MPI_TYPE_NULL_DELETE_FN Subr 525 scalar MPI_UB Param 344 I(4) 4 scalar MPI_UNDEFINED Param 291 I(4) 4 scalar MPI_UNDEFINED_RANK Param 291 I(4) 4 scalar MPI_UNEQUAL Param 205 I(4) 4 scalar MPI_UNIVERSE_SIZE Param 265 I(4) 4 scalar MPI_UNSIGNED Param 389 I(4) 4 scalar MPI_UNSIGNED_CHAR Param 379 I(4) 4 scalar MPI_UNSIGNED_LONG Param 393 I(4) 4 scalar MPI_UNSIGNED_LONG_LONG Param 403 I(4) 4 scalar MPI_UNSIGNED_SHORT Param 385 I(4) 4 scalar MPI_VERSION Param 310 I(4) 4 scalar MPI_WCHAR Param 381 I(4) 4 scalar MPI_WIN_BASE Param 271 I(4) 4 scalar MPI_WIN_DISP_UNIT Param 275 I(4) 4 scalar MPI_WIN_DUP_FN Subr 523 scalar MPI_WIN_NULL Param 241 I(4) 4 scalar MPI_WIN_NULL_COPY_FN Subr 524 scalar MPI_WIN_NULL_DELETE_FN Subr 523 scalar MPI_WIN_SIZE Param 273 I(4) 4 scalar MPI_WTICK Func 519 R(8) 8 scalar MPI_WTIME Func 519 R(8) 8 scalar MPI_WTIME_IS_GLOBAL Param 263 I(4) 4 scalar MTAG0 Param 533 I(4) 4 scalar 533,631,689 NAPPNT Local 528 I(4) 4 scalar PTR 528,589,680 NAPROC Local 528 I(4) 4 scalar PTR 528 NK Local 526 I(4) 4 scalar PTR 526,601,722 NK Local 602 I(4) 4 scalar 602,723 NMPPNT Local 548 I(4) 4 scalar 679,680,683,691 NMPROC Local 530 I(4) 4 scalar 530,679 NMPUPT Local 530 I(4) 4 scalar 530,558,595,633,664,683 NOPTS Local 528 I(4) 4 scalar PTR 528,585,600,603,614,636,639,642,64 5,648,651,654,683,692,693,694,697, 700,703,706,709,712,715,721,724,73 2 NRGRD Local 530 I(4) 4 scalar 530,571,631,673,689 NSPEC Local 526 I(4) 4 scalar PTR 526,636,692,697,700,703,706,709,71 2,715 NSPEC Local 600 I(4) 4 scalar 600,721 NTH Local 526 I(4) 4 scalar PTR 526,601,722 NTH Local 602 I(4) 4 scalar 602,723 OUT2 Local 559 W3ODATMD^OTYPE2 1368 scalar 559,560,561,562,563,564,565,616,61 7,618,619,620,621,622,734,735,736, 737,738,739,740 OUTPTS Local 529 RECORD 5960 1 1 ALC,TGT 529,559,560,561,562,563,564,565,61 Page 28 Source Listing WMIOPO 2014-09-16 16:49 Symbol Table wmiopomd.f90 Name Object Declared Type Bytes Dimen Elements Attributes References 6,617,618,619,620,621,622,734,735, 736,737,738,739,740 PMPI_WTICK Func 520 R(8) 8 scalar PMPI_WTIME Func 520 R(8) 8 scalar RESPEC Local 531 L(4) 4 2 1 ALC 531,599,625,720,743 SGRDS Local 526 RECORD 1080 1 1 ALC,TGT 526,600,602,603,604,721,723,724,72 5 SPCO Local 528 R(4) 4 2 1 PTR 528,601,609,636 SPCO Local 559 R(4) 4 2 1 PTR 559,616,734 SPCR Local 551 R(4) 4 2 1 PTR 692,697,722,727,744 SPEC Local 550 R(4) 4 2 1 PTR 600,601,609,616,625,721,722,727,73 4,743 STATUS Local 549 I(4) 4 2 1 ALC 692,698,701,704,707,710,713,716,74 4 TH Local 526 R(4) 4 1 1 PTR 526,601,722 TH Local 603 R(4) 4 1 1 PTR 603,724 TIME Local 527 I(4) 4 1 1 PTR 527,755 TOUT Dummy 446 I(4) 4 1 2 ARG,IN 755 UPTMAP Local 531 I(4) 4 1 1 PTR 531,615,733 W3CSPC Subr 523 523,601,722 W3CSPCMD Module 523 523 W3GDATMD Module 519 519,526 W3IOPO Subr 524 524,757 W3IOPOMD Module 524 524 W3ODATMD Module 521 521,528 W3SETG Subr 519 519,576,676,752 W3SETO Subr 521 521,575,675,751 W3SETW Subr 520 520,753 W3WDATMD Module 520 520,527 WAO Local 529 R(4) 4 1 1 PTR 529,618,642 WAO Local 561 R(4) 4 1 1 PTR 561,618,736 WAR Local 551 R(4) 4 1 1 PTR 693,703,736,744 WDO Local 529 R(4) 4 1 1 PTR 529,619,645 WDO Local 562 R(4) 4 1 1 PTR 562,619,737 WDR Local 552 R(4) 4 1 1 PTR 693,706,737,744 WMIOPO Subr 446 WMMDATMD Module 522 522,530,532 WMSETM Subr 522 522,577,677 XFR Local 526 R(4) 4 scalar PTR 526,601,722 XFR Local 602 R(4) 4 scalar 602,723 Page 29 Source Listing WMIOPO 2014-09-16 16:49 wmiopomd.f90 1844 !/ 1845 !/ End of module WMIOPOMD -------------------------------------------- / 1846 !/ 1847 END MODULE WMIOPOMD SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References WMIOPOMD Module 2 Page 30 Source Listing WMIOPO 2014-09-16 16:49 Subprograms/Common Blocks wmiopomd.f90 SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References MPIPRIV1 Common 532 28 MPIPRIV2 Common 534 24 MPIPRIVC Common 537 2 WMIOPO Subr 446 WMIOPOMD Module 2 WMIOPP Subr 84 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume cc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores -auto no -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D _OPENMP=201107 -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE3__ -D __SSSE3__ -D __SSE4_1__ -D __SSE4_2__ -D __SSE__ -D __MMX__ -D __AVX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 Page 31 Source Listing WMIOPO 2014-09-16 16:49 wmiopomd.f90 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model noprecise -fp_model fast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -heap_arrays 0 no -threadprivate_compat -free -g0 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -openmp -O2 no -pad_source -real_size 32 no -recursive -reentrancy threaded no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused -w usage -includepath : /usrx/local/intel/composerxe/tbb/include/,/usr/include/,./,/usrx/local/intel/impi/4.0.3.008/intel64/include/, /usrx/local/intel/impi/4.0.3.008/intel64/include/,/usrx/local/intel/composerxe/mkl/include/,/usrx/local/intel/composerxe/tbb/include/, /gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/,/gpfs/gp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/, /usr/local/include/,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/,/usr/include/,/usr/include/ -list filename : wmiopomd.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100