dump2d.f

Go to the documentation of this file.
00001 C:\opentelemac\v7p0\sources\tomawac\dump2d.f
00002 !
00133                      SUBROUTINE DUMP2D
00134 !                    *****************
00135 !
00136      &( LT , XF1 , NP1 )
00137 !
00138 !***********************************************************************
00139 ! TOMAWAC   V6P3                                   15/06/2011
00140 !***********************************************************************
00141 !
00142 !
00143 !
00144 !
00145 !
00146 !
00147 !
00148 !
00149 !
00150 !
00151 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00152 !| LT             |-->| NUMBER OF THE TIME STEP CURRENTLY SOLVED
00153 !| NP1            |-->| NPOIN2.NPLAN.NF
00154 !| XF1            |-->| VARIANCE DENSITY DIRECTIONAL SPECTRUM
00155 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00156 !
00157       USE DECLARATIONS_TOMAWAC
00158       USE INTERFACE_TOMAWAC, EX_DUMP2D => DUMP2D
00159 !
00160       IMPLICIT NONE
00161 !
00162 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00163 !
00164       INTEGER, INTENT(IN)          :: LT,NP1
00165       DOUBLE PRECISION, INTENT(IN) :: XF1(NP1)
00166 !
00167 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
00168 !
00169       INTEGER          IP
00170       DOUBLE PRECISION U10   , FMIN  , FMAX
00171 !
00172       FMIN=FREQ(1)
00173       FMAX=FREQ(NF)
00174 !
00175 !=====C====================================
00176 !     C COMPUTES THE SELECTED VARIABLES
00177 !=====C====================================
00178 ! THE ORDER IN WHICH THE VARIABLES ARE COMPUTED DOES NOT CORRESPOND TO THAT OF
00179 ! THE GRAPHICAL OUTPUT IN AN EFFORT TO LIMIT THE NUMBER OF WORKING ARRAYS.
00180 !
00181 !     ------------------------------- RADIATION STRESSES
00182 !
00183       IF(.NOT.PROINF) THEN
00184         IF(SORLEO(11).OR.SORLEO(12).OR.SORLEO(13).OR.
00185      &     SORLEO(14).OR.SORLEO(15) ) CALL RADIAT
00186      &( STRA51%R, STRA52%R, STRA53%R, STRA54%R, STRA55%R,
00187      &  SXK%R   , XF1     , SCG%R   , SDEPTH%R,
00188 !       WORK TABLE HERE
00189      &  STSDER%R,STRA36%R, STRA37%R, STRA38%R, STRA39%R)
00190       ENDIF
00191 !
00192 !     ------------------------------- DIRECTIONAL SPREADING
00193 !
00194       IF(SORLEO(4)) THEN
00195         CALL SPREAD
00196      &( STRA31%R,XF1,SCOSTE%R,SSINTE%R,NPLAN ,
00197      &  SFR%R,SDFR%R,NF,NPOIN2,TAILF,
00198      &  STRA34%R,STRA35%R,STRA36%R,STRA37%R,STRA38%R,
00199      &  STRA39%R)
00200       ENDIF
00201 !
00202 !     ------------------------------- MEAN DIRECTION
00203 !
00204       IF(SORLEO(3)) THEN
00205         CALL TETMOY
00206      &( STRA32%R, XF1 , SCOSTE%R, SSINTE%R, NPLAN , FREQ ,
00207      &  SDFR%R  , NF  , NPOIN2  , TAILF, STRA36%R ,
00208      &  STRA37%R, STRA38%R, STRA39%R )
00209         IF(TRIGO) THEN
00210           DO IP=1,NPOIN2
00211             TRA32(IP)=(PISUR2-TRA32(IP))*GRADEG
00212           ENDDO
00213         ELSE
00214           DO IP=1,NPOIN2
00215             TRA32(IP)=TRA32(IP)*GRADEG
00216           ENDDO
00217         ENDIF
00218       ENDIF
00219 !
00220 !     ------------------------------- MEAN FREQUENCY FMOY
00221 !
00222       IF(SORLEO(18).OR.SORLEO(28)) THEN
00223         CALL FREMOY
00224      &( STRA33%R, XF1   , SFR%R   , SDFR%R  , TAILF , NF  ,
00225      &  NPLAN      , NPOIN2, STRA38%R, STRA39%R)
00226         IF(SORLEO(28)) THEN
00227           DO IP=1,NPOIN2
00228             TRA61(IP)=1.D0/MIN(MAX(TRA33(IP),FMIN),FMAX)
00229           ENDDO
00230         ENDIF
00231       ENDIF
00232 !
00233 !     ------------------------------- MEAN FREQUENCY FM01
00234 !
00235       IF(SORLEO(19).OR.SORLEO(29)) THEN
00236         CALL FREM01
00237      &( STRA34%R, XF1   , SFR%R   , SDFR%R  , TAILF , NF  ,
00238      &  NPLAN      , NPOIN2, STRA38%R, STRA39%R)
00239         IF (SORLEO(29)) THEN
00240           DO IP=1,NPOIN2
00241             TRA62(IP)=1.D0/MIN(MAX(TRA34(IP),FMIN),FMAX)
00242           ENDDO
00243         ENDIF
00244       ENDIF
00245 !
00246 !     ------------------------------- MEAN FREQUENCY FM02
00247 !
00248       IF (SORLEO(20).OR.SORLEO(30)) THEN
00249         CALL FREM02
00250      &( STRA35%R, XF1   , SFR%R   , SDFR%R  , TAILF , NF  ,
00251      &  NPLAN      , NPOIN2, STRA38%R, STRA39%R)
00252         IF (SORLEO(30)) THEN
00253           DO IP=1,NPOIN2
00254             TRA63(IP)=1.D0/MIN(MAX(TRA35(IP),FMIN),FMAX)
00255           ENDDO
00256         ENDIF
00257       ENDIF
00258 !
00259 !     ------------------------------- DISCRETE PEAK FREQUENCY
00260 !
00261       IF (SORLEO(21).OR.SORLEO(31)) THEN
00262         CALL FREPIC
00263      &( STRA36%R, XF1   , SFR%R , NF   , NPLAN , NPOIN2,
00264      &  STRA38%R, STRA39%R      )
00265         IF (SORLEO(31)) THEN
00266           DO IP=1,NPOIN2
00267             TRA64(IP)=1.D0/MIN(MAX(TRA36(IP),FMIN),FMAX)
00268           ENDDO
00269         ENDIF
00270       ENDIF
00271 !
00272 !     ------------------------------- PEAK FREQUENCY (READ 5TH ORDER)
00273 !
00274       IF (SORLEO(22).OR.SORLEO(32)) THEN
00275         CALL FPREAD
00276      &( STRA56%R, XF1   , SFR%R, SDFR%R  , NF   , NPLAN ,
00277      &  NPOIN2     , 5.D0  , TAILF   , STRA38%R, STRA39%R  )
00278         IF (SORLEO(32)) THEN
00279           DO IP=1,NPOIN2
00280             TRA65(IP)=1.D0/MIN(MAX(TRA56(IP),FMIN),FMAX)
00281           ENDDO
00282         ENDIF
00283       ENDIF
00284 !
00285 !     ------------------------------- PEAK FREQUENCY (READ 8TH ORDER)
00286 !
00287       IF (SORLEO(23).OR.SORLEO(33)) THEN
00288         CALL FPREAD
00289      &( STRA57%R, XF1   , SFR%R , SDFR%R  , NF   , NPLAN ,
00290      &  NPOIN2     , 8.D0  , TAILF    , STRA38%R, STRA39%R  )
00291         IF (SORLEO(33)) THEN
00292           DO IP=1,NPOIN2
00293             TRA66(IP)=1.D0/MIN(MAX(TRA57(IP),FMIN),FMAX)
00294           ENDDO
00295         ENDIF
00296       ENDIF
00297 !
00298       IF(VENT) THEN
00299 !
00300 !       ------------------------------- DRAG COEFFICIENT
00301 !
00302         IF(SORLEO(25)) THEN
00303           DO IP=1,NPOIN2
00304             U10=UV(IP)**2+VV(IP)**2
00305             IF (U10.GT.1.D-6) THEN
00306               TRA58(IP)=TRA42(IP)**2/U10
00307             ELSE
00308               TRA58(IP)=0.D0
00309             ENDIF
00310           ENDDO
00311         ENDIF
00312       ENDIF
00313 !
00314 !       ------------------------------- BOTTOM SPEED
00315 !
00316       IF(.NOT.PROINF) THEN
00317         IF(SORLEO(16)) THEN
00318           CALL VITFON(STRA59%R,XF1,SXK%R,SDEPTH%R,SDFR%R,NF,
00319      &                NPOIN2,NPLAN,STRA39%R)
00320         ENDIF
00321       ENDIF
00322 !
00323 !     ------------------------------- VARIANCE
00324 !
00325       IF(SORLEO(1).OR.SORLEO(2)) THEN
00326         CALL TOTNRJ
00327      &( STRA37%R , XF1   , SFR%R  , SDFR%R , TAILF ,
00328      &  NF  , NPLAN , NPOIN2)
00329 !
00330 !     ------------------------------- SIGNIFICANT WAVE HEIGHT
00331 !
00332         IF(SORLEO(2)) THEN
00333           DO IP=1,NPOIN2
00334             TRA38(IP)=4.D0*SQRT(TRA37(IP))
00335           ENDDO
00336         ENDIF
00337       ENDIF
00338 !
00339 !     ------------------------------- POWER PER UNIT LENGTH
00340 !
00341       IF(SORLEO(34)) THEN
00342         CALL WPOWER(STRA60%R,XF1,SFR%R,SDFR%R,SCG%R,TAILF,NF,
00343      &              NPLAN,NPOIN2,ROEAU)
00344       ENDIF
00345 !
00346 !-----------------------------------------------------------------------
00347 !
00348       RETURN
00349       END

Generated on Fri Aug 31 2013 18:12:58 by S.E.Bourban (HRW) using doxygen 1.7.0