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 4962 – NEMO

Changeset 4962


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

dev_r4822_INGV_WAVE: stokes-coriolis

Location:
branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r4770 r4962  
    405405         zv_frc(:,:) =  zv_frc(:,:) + zraur * z1_2 * ( vtau_b(:,:) + vtau(:,:) ) * hvr(:,:) 
    406406      ENDIF   
     407 
     408      ! Add Stokes Coriolis if defined 
     409      IF ( ln_stcor ) THEN 
     410         DO jj = 1, jpjm1 
     411            DO ji = 1, fs_jpim1   ! vector opt. 
     412 
     413               zy1 = ff(ji  ,jj-1) * ( vsd2d(ji  ,jj-1) + vsd2d(ji+1,jj-1) ) 
     414               zy2 = ff(ji  ,jj  ) * ( vsd2d(ji  ,jj  ) + vsd2d(ji+1,jj  ) ) 
     415               zx1 = ff(ji-1,jj  ) * ( usd2d(ji-1,jj  ) + usd2d(ji-1,jj+1) ) 
     416               zx2 = ff(ji  ,jj  ) * ( usd2d(ji  ,jj  ) + usd2d(ji  ,jj+1) ) 
     417 
     418               zu_frc(ji,jj) = zu_frc(ji,jj) + 0.25 * ( zy1 + zy2 ) * hur(ji,jj) 
     419               zv_frc(ji,jj) = zv_frc(ji,jj) - 0.25 * ( zx1 + zx2 ) * hvr(ji,jj) 
     420           END DO 
     421         END DO 
     422      ENDIF 
     423 
    407424      ! 
    408425      IF ( ln_apr_dyn ) THEN                    ! Add atm pressure forcing 
  • branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90

    r4824 r4962  
    4040   REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:)       :: usd2dt,vsd2dt,tsd2d 
    4141   REAL(wp),PUBLIC,ALLOCATABLE,DIMENSION (:,:,:)     :: usd3d,vsd3d,wsd3d  
     42   LOGICAL, PUBLIC :: ln_stcor = .FALSE. 
    4243 
    4344   !! * Substitutions 
     
    8586                             &   sn_swh, sn_wmp, sn_wnum         ! informations about the fields to be read 
    8687      !!--------------------------------------------------------------------- 
    87       NAMELIST/namsbc_wave/  sn_cdg, cn_dir, sn_usd, sn_vsd, sn_swh, sn_wmp, sn_wnum 
     88      NAMELIST/namsbc_wave/  sn_cdg, cn_dir, sn_usd, sn_vsd, sn_swh, sn_wmp, sn_wnum, ln_stcor 
    8889      !!--------------------------------------------------------------------- 
    8990 
     
    169170            END DO 
    170171         END DO 
     172         ! 
     173         CALL lbc_lnk( usd2d(:,:), 'U', -1. ) 
     174         CALL lbc_lnk( vsd2d(:,:), 'V', -1. ) 
     175 
    171176          !Computation of the 3d Stokes Drift according to Breivik et al.,2014 
    172177          !(DOI: 10.1175/JPO-D-14-0020.1) 
     
    204209                END DO 
    205210             END DO 
    206  
    207211          END DO 
     212         ! 
     213         CALL lbc_lnk( usd3d(:,:,:), 'U', -1. ) 
     214         CALL lbc_lnk( vsd3d(:,:,:), 'V', -1. ) 
     215 
    208216 
    209217          CALL wrk_alloc( jpi,jpj,jpk,udummy,vdummy,hdivdummy,rotdummy) 
  • branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/step.F90

    r4825 r4962  
    199199                                  CALL dyn_ldf      ( kstp )   ! lateral mixing 
    200200          IF( ln_neptsimp )       CALL dyn_nept_cor ( kstp )   ! add Neptune velocities (simplified) 
     201          IF( ln_stcor    )       CALL dyn_stcor    ( kstp )   ! Stokes-Coriolis forcing 
     202 
    201203#if defined key_agrif 
    202204          IF(.NOT. Agrif_Root())  CALL Agrif_Sponge_dyn        ! momentum sponge 
     
    301303                               CALL dyn_ldf( kstp )         ! lateral mixing 
    302304        IF( ln_neptsimp )      CALL dyn_nept_cor( kstp )    ! add Neptune velocities (simplified) 
     305        IF( ln_stcor    )       CALL dyn_stcor    ( kstp )   ! Stokes-Coriolis forcing (ln_stcor set in SBC/sbc_oce.F90) 
     306 
    303307#if defined key_agrif 
    304308        IF(.NOT. Agrif_Root()) CALL Agrif_Sponge_dyn        ! momemtum sponge 
  • branches/2014/dev_r4822_INGV_WAVE/NEMOGCM/NEMO/OPA_SRC/step_oce.F90

    r4825 r4962  
    2727   USE cpl_oasis3, ONLY : lk_cpl 
    2828   USE sbctide          ! Tide initialisation 
     29   USE sbcwave          ! Wave intialisation 
    2930 
    3031   USE traqsr           ! solar radiation penetration      (tra_qsr routine) 
     
    5152   USE dynspg           ! surface pressure gradient        (dyn_spg routine) 
    5253   USE dynnept          ! simp. form of Neptune effect(dyn_nept_cor routine) 
     54   USE dynstcor         ! simp. form of Stokes-Coriolis 
    5355 
    5456   USE dynnxt           ! time-stepping                    (dyn_nxt routine) 
Note: See TracChangeset for help on using the changeset viewer.