New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 4960 for branches/2014/dev_r4642_WavesWG/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90 – NEMO

Ignore:
Timestamp:
2014-12-02T16:13:53+01:00 (9 years ago)
Author:
rblod
Message:

dev_r4642_WavesWG : stokes-coriolis from sbcwave + time splitting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4642_WavesWG/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r4644 r4960  
    3131   TYPE(FLD), ALLOCATABLE, DIMENSION(:)  :: sf_cd    ! structure of input fields (file informations, fields read) Drag Coefficient 
    3232   TYPE(FLD), ALLOCATABLE, DIMENSION(:)  :: sf_sd    ! structure of input fields (file informations, fields read) Stokes Drift 
    33    REAL(wp),ALLOCATABLE,DIMENSION (:,:)              :: usd2d,vsd2d,uwavenum,vwavenum  
     33   REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:)              :: usd2d,vsd2d,uwavenum,vwavenum  
    3434   REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:,:)     :: usd3d,vsd3d,wsd3d  
    3535 
     
    144144            END DO 
    145145         END DO 
     146         ! 
     147         CALL lbc_lnk( usd2d(:,:), 'U', -1. ) 
     148         CALL lbc_lnk( vsd2d(:,:), 'V', -1. ) 
    146149 
    147           !Computation of the 3d Stokes Drift 
    148           DO jk = 1, jpk 
    149              DO jj = 1, jpj-1 
    150                 DO ji = 1, jpi-1 
    151                    usd3d(ji,jj,jk) = usd2d(ji,jj)*exp(2.0*uwavenum(ji,jj)*(-MIN( gdept_0(ji,jj,jk) , gdept_0(ji+1,jj  ,jk)))) 
    152                    vsd3d(ji,jj,jk) = vsd2d(ji,jj)*exp(2.0*vwavenum(ji,jj)*(-MIN( gdept_0(ji,jj,jk) , gdept_0(ji  ,jj+1,jk)))) 
    153                 END DO 
    154              END DO 
    155              usd3d(jpi,:,jk) = usd2d(jpi,:)*exp( 2.0*uwavenum(jpi,:)*(-gdept_0(jpi,:,jk)) ) 
    156              vsd3d(:,jpj,jk) = vsd2d(:,jpj)*exp( 2.0*vwavenum(:,jpj)*(-gdept_0(:,jpj,jk)) ) 
    157           END DO 
     150         !Computation of the 3d Stokes Drift 
     151         DO jk = 1, jpk 
     152            DO jj = 1, jpj-1 
     153               DO ji = 1, jpi-1 
     154                  usd3d(ji,jj,jk) = usd2d(ji,jj)*exp(2.0*uwavenum(ji,jj)*(-MIN( gdept_0(ji,jj,jk) , gdept_0(ji+1,jj  ,jk)))) 
     155                  vsd3d(ji,jj,jk) = vsd2d(ji,jj)*exp(2.0*vwavenum(ji,jj)*(-MIN( gdept_0(ji,jj,jk) , gdept_0(ji  ,jj+1,jk)))) 
     156               END DO 
     157            END DO 
     158            usd3d(jpi,:,jk) = usd2d(jpi,:)*exp( 2.0*uwavenum(jpi,:)*(-gdept_0(jpi,:,jk)) ) 
     159            vsd3d(:,jpj,jk) = vsd2d(:,jpj)*exp( 2.0*vwavenum(:,jpj)*(-gdept_0(:,jpj,jk)) ) 
     160         END DO 
     161         ! 
     162         CALL lbc_lnk( usd3d(:,:,:), 'U', -1. ) 
     163         CALL lbc_lnk( vsd3d(:,:,:), 'V', -1. ) 
    158164 
    159165          CALL wrk_alloc( jpi,jpj,jpk,udummy,vdummy,hdivdummy,rotdummy) 
Note: See TracChangeset for help on using the changeset viewer.