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 7221 for branches/2015 – NEMO

Changeset 7221 for branches/2015


Ignore:
Timestamp:
2016-11-14T08:41:51+01:00 (7 years ago)
Author:
emanuelaclementi
Message:

#1643 Bug fix in development branch 2015/dev_r5936_INGV1_WAVE

Location:
branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/CONFIG/SHARED/namelist_ref

    r7078 r7221  
    250250                           !     =1 global mean of e-p-r set to zero at each time step 
    251251                           !     =2 annual global mean of e-p-r set to zero 
    252    ln_wave = .false.       !  Activate coupling with wave (either Stokes Drift or Drag coefficient, or both) (T => fill namsbc_wave) 
    253    ln_cdgw = .false.       !  Neutral drag coefficient read from wave model (T => fill namsbc_wave) 
    254    ln_sdw  = .false.       !  Computation of 3D stokes drift                (T => fill namsbc_wave) 
    255    ln_tauoc= .false.       !  Activate ocean stress modified by external wave induced stress (T => fill namsbc_wave) 
    256    ln_stcor= .false.       !  Activate Stokes Coriolis term (T => fill namsbc_wave) 
     252   ln_wave = .false.       !  Activate coupling with wave (T => fill namsbc_wave) 
     253   ln_cdgw = .false.       !  Neutral drag coefficient read from wave model (T => ln_wave=.true. & fill namsbc_wave) 
     254   ln_sdw  = .false.       !  Read 2D Surf Stokes Drift & Computation of 3D stokes drift (T => ln_wave=.true. & fill namsbc_wave)  
     255   ln_tauoc= .false.       !  Activate ocean stress modified by external wave induced stress (T => ln_wave=.true. & fill namsbc_wave) 
     256   ln_stcor= .false.       !  Activate Stokes Coriolis term (T => ln_wave=.true. & ln_sdw=.true. & fill namsbc_wave) 
    257257   nn_lsm  = 0             !  =0 land/sea mask for input fields is not applied (keep empty land/sea mask filename field) , 
    258258                           !  =1:n number of iterations of land/sea mask application for input fields (fill land/sea mask filename field) 
     
    917917   ln_zdfexp   = .false.   !  time-stepping: split-explicit (T) or implicit (F) time stepping 
    918918   nn_zdfexp   =    3            !  number of sub-timestep for ln_zdfexp=T 
    919    ln_zdfqiao  = .false.   !  Enhanced wave vertical mixing Qiao (2010) 
     919   ln_zdfqiao  = .false.   !  Enhanced wave vertical mixing Qiao (2010) (T => ln_wave=.true. & ln_sdw=.true. & fill namsbc_wave) 
    920920/ 
    921921!----------------------------------------------------------------------- 
  • branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/NEMO/OPA_SRC/DYN/dynstcor.F90

    r5983 r7221  
    7777      ENDDO 
    7878      ! 
    79       IF( nn_timing == 1 )  CALL timing_stop('dynst_cor') 
     79      IF( nn_timing == 1 )  CALL timing_stop('dyn_stcor') 
    8080      ! 
    8181   END SUBROUTINE dyn_stcor 
  • branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r5583 r7221  
    737737 
    738738      !! Neutral coefficients at 10m: 
    739       IF( ln_cdgw ) THEN      ! wave drag case 
     739      IF( ln_wave .AND. ln_cdgw ) THEN      ! wave drag case 
    740740         cdn_wave(:,:) = cdn_wave(:,:) + rsmall * ( 1._wp - tmask(:,:,1) ) 
    741741         ztmp0   (:,:) = cdn_wave(:,:) 
     
    783783         END IF 
    784784        
    785          IF( ln_cdgw ) THEN      ! surface wave case 
     785         IF( ln_wave .AND. ln_cdgw ) THEN      ! surface wave case 
    786786            sqrt_Cd = vkarmn / ( vkarmn / sqrt_Cd_n10 - zpsi_m_u )  
    787787            Cd      = sqrt_Cd * sqrt_Cd 
  • branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r5983 r7221  
    216216      IF ( ln_wave ) THEN 
    217217      !Activated wave module but neither drag nor stokes drift activated 
    218          IF ( .NOT.(ln_cdgw .OR. ln_sdw) )   THEN 
    219             CALL ctl_warn( 'Ask for wave coupling but nor drag coefficient (ln_cdgw=F) neither stokes drift activated (ln_sdw=F)' ) 
     218         IF ( .NOT.(ln_cdgw .OR. ln_sdw .OR. ln_tauoc .OR. ln_stcor ) )   THEN 
     219            CALL ctl_warn( 'Ask for wave coupling but ln_cdgw=F, ln_sdw=F, ln_tauoc=F, ln_stcor=F') 
    220220      !drag coefficient read from wave model definable only with mfs bulk formulae and core  
    221221         ELSEIF (ln_cdgw .AND. .NOT.(ln_blk_mfs .OR. ln_blk_core) )       THEN        
    222222             CALL ctl_stop( 'drag coefficient read from wave model definable only with mfs bulk formulae and core') 
     223         ELSEIF (ln_stcor .AND. .NOT. ln_sdw)                             THEN 
     224             CALL ctl_stop( 'Stokes-Coriolis term calculated only if activated Stokes Drift ln_sdw=T') 
    223225         ENDIF 
    224226      ELSE 
    225       IF ( ln_cdgw .OR. ln_sdw  )                                                           &  
     227      IF ( ln_cdgw .OR. ln_sdw .OR. ln_tauoc .OR. ln_stcor )                &  
    226228         &   CALL ctl_stop( 'Not Activated Wave Module (ln_wave=F) but asked coupling ',    & 
    227          &                  'with drag coefficient (ln_cdgw =T) or Stokes drift (ln_sdw=T) ') 
     229         &                  'with drag coefficient (ln_cdgw =T) '  ,                        & 
     230         &                  'or Stokes Drift (ln_sdw=T) ' ,                                 & 
     231         &                  'or ocean stress modification due to waves (ln_tauoc=T) ',      &   
     232         &                  'or Stokes-Coriolis term (ln_stcori=T)'  ) 
    228233      ENDIF  
    229234      !                          ! Choice of the Surface Boudary Condition (set nsbc) 
     
    360365                             CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice )   ! OPA-SAS coupling: OPA receiving fields from SAS 
    361366      END SELECT 
    362       IF (ln_wave .AND. ln_tauoc) THEN 
     367      IF ( ln_wave .AND. ln_tauoc) THEN                                 ! Wave stress subctracted 
    363368            utau(:,:) = utau(:,:)*tauoc_wave(:,:) 
    364369            vtau(:,:) = vtau(:,:)*tauoc_wave(:,:) 
  • branches/2015/dev_r5936_INGV1_WAVE/NEMOGCM/NEMO/OPA_SRC/step.F90

    r5983 r7221  
    134134      IF( lk_zdfgls  )   CALL zdf_gls( kstp )            ! GLS closure scheme for Kz 
    135135      IF( ln_zdfqiao )   THEN 
     136      !Activated Qiao enhanced turbulence but neither ln_wave or ln_sdw are activated 
     137       IF ( .NOT.( ln_wave .AND. ln_sdw ) )   THEN 
     138        CALL ctl_stop ( 'Ask for wave Qiao enhanced turbulence but ln_wave and ln_sdw have to be activated') 
     139       ELSE 
    136140        CALL zdf_qiao(kstp )                             ! Qiao vertical mixing  
    137141         DO jk = 1, jpkm1 
     
    144148          END DO 
    145149         END DO 
     150       ENDIF  
    146151      ENDIF 
    147152      ! 
     
    232237                         CALL dyn_vor       ( kstp )  ! vorticity term including Coriolis 
    233238                         CALL dyn_ldf       ( kstp )  ! lateral mixing 
    234       IF( ln_stcor    )  CALL dyn_stcor     ( kstp )  ! Stokes-Coriolis forcing 
     239      IF( ln_wave .AND. ln_sdw .AND. ln_stcor)           &  
     240               &         CALL dyn_stcor     ( kstp )  ! Stokes-Coriolis forcing 
    235241                         CALL dyn_hpg       ( kstp )  ! horizontal gradient of Hydrostatic pressure 
    236242                         CALL dyn_spg       ( kstp )  ! surface pressure gradient 
Note: See TracChangeset for help on using the changeset viewer.