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 7807 for branches/UKMO/r6232_HZG_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90 – NEMO

Ignore:
Timestamp:
2017-03-17T10:44:05+01:00 (7 years ago)
Author:
jcastill
Message:

Changes as in HZG wave forcing branch, but adapted to r6232

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/r6232_HZG_WAVE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r5628 r7807  
    8585      !!---------------------------------------------------------------------- 
    8686      INTEGER ::   icpt   ! local integer 
    87       !! 
     87      !! V.Alari 26.06.2016 Added logicals for waves, deleted ln_wave ln_sdw, which came 
     88      !with UKMO 
    8889      NAMELIST/namsbc/ nn_fsbc   , ln_ana    , ln_flx, ln_blk_clio, ln_blk_core, ln_mixcpl,   & 
    8990         &             ln_blk_mfs, ln_apr_dyn, nn_ice, nn_ice_embd, ln_dm2dc   , ln_rnf   ,   & 
    90          &             ln_ssr    , nn_isf    , nn_fwb, ln_cdgw    , ln_wave    , ln_sdw   ,   & 
    91          &             nn_lsm    , nn_limflx , nn_components, ln_cpl 
     91         &             ln_ssr    , nn_isf    , nn_fwb,                                        & 
     92         &             nn_lsm    , nn_limflx , nn_components, ln_cpl,ln_stcor, ln_wavetke,    & 
     93         &             ln_tauoc, ln_cdgw 
    9294      INTEGER  ::   ios 
    9395      INTEGER  ::   ierr, ierr0, ierr1, ierr2, ierr3, jpm 
     
    120122          nn_ice      =   0 
    121123      ENDIF 
    122  
     124     ! V.Alari added wave logicalc (26.06.2016) 
    123125      IF(lwp) THEN               ! Control print 
    124126         WRITE(numout,*) '        Namelist namsbc (partly overwritten with CPP key setting)' 
     
    146148         WRITE(numout,*) '              closed sea (=0/1) (set in namdom)          nn_closea   = ', nn_closea 
    147149         WRITE(numout,*) '              n. of iterations if land-sea-mask applied  nn_lsm      = ', nn_lsm 
    148       ENDIF 
     150         WRITE(numout,*) '         Stokes-Coriolis forcing from wavemodel ln_stcor       = ', ln_stcor 
     151         WRITE(numout,*) '              TKE wave breaking BC from wave model ln_wavetke        = ', ln_wavetke 
     152         WRITE(numout,*) '              Wave-modified stress from wave model ln_tauoc          = ', ln_tauoc 
     153         WRITE(numout,*) '              Drag coefficient from wave model ln_cdgw              = ', ln_cdgw 
     154  
     155 
     156     ENDIF 
    149157 
    150158      ! LIM3 Multi-category heat flux formulation 
     
    179187 
    180188      !                          ! Checks: 
    181       IF( nn_isf .EQ. 0 ) THEN                      ! variable initialisation if no ice shelf  
     189      IF( nn_isf .EQ. 0 ) THEN                      ! no specific treatment in vicinity of ice shelf  
    182190         IF( sbc_isf_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'sbc_init : unable to allocate sbc_isf arrays' ) 
    183191         fwfisf  (:,:)   = 0.0_wp ; fwfisf_b  (:,:)   = 0.0_wp 
     
    214222      IF( ln_dm2dc .AND. .NOT.( ln_flx .OR. ln_blk_core ) .AND. nn_components /= jp_iam_opa )   & 
    215223         &   CALL ctl_stop( 'diurnal cycle into qsr field from daily values requires a flux or core-bulk formulation' ) 
    216        
    217       IF ( ln_wave ) THEN 
     224    
     225     ! V.Alari comment out UKMO wave stuff    
     226    !  IF ( ln_wave ) THEN 
    218227      !Activated wave module but neither drag nor stokes drift activated 
    219          IF ( .NOT.(ln_cdgw .OR. ln_sdw) )   THEN 
    220             CALL ctl_warn( 'Ask for wave coupling but nor drag coefficient (ln_cdgw=F) neither stokes drift activated (ln_sdw=F)' ) 
     228     !    IF ( .NOT.(ln_cdgw .OR. ln_sdw) )   THEN 
     229      !      CALL ctl_warn( 'Ask for wave coupling but nor drag coefficient (ln_cdgw=F) neither stokes drift activated (ln_sdw=F)' ) 
    221230      !drag coefficient read from wave model definable only with mfs bulk formulae and core  
    222          ELSEIF (ln_cdgw .AND. .NOT.(ln_blk_mfs .OR. ln_blk_core) )       THEN        
    223              CALL ctl_stop( 'drag coefficient read from wave model definable only with mfs bulk formulae and core') 
    224          ENDIF 
    225       ELSE 
    226       IF ( ln_cdgw .OR. ln_sdw  )                                         &  
    227          &   CALL ctl_stop('Not Activated Wave Module (ln_wave=F) but     & 
    228          & asked coupling with drag coefficient (ln_cdgw =T) or Stokes drift (ln_sdw=T) ') 
    229       ENDIF  
     231       !  ELSEIF (ln_cdgw .AND. .NOT.(ln_blk_mfs .OR. ln_blk_core) )       THEN        
     232        !     CALL ctl_stop( 'drag coefficient read from wave model definable only with mfs bulk formulae and core') 
     233       !  ENDIF 
     234     ! ELSE 
     235     ! IF ( ln_cdgw .OR. ln_sdw  )                                         &  
     236      !   &   CALL ctl_stop('Not Activated Wave Module (ln_wave=F) but     & 
     237       !  & asked coupling with drag coefficient (ln_cdgw =T) or Stokes drift (ln_sdw=T) ') 
     238     ! ENDIF  
     239      ! End V.Alari 
    230240      !                          ! Choice of the Surface Boudary Condition (set nsbc) 
    231241      ll_purecpl = ln_cpl .AND. .NOT. ln_mixcpl 
     
    352362      IF( nn_components /= jp_iam_sas )   CALL sbc_ssm( kt )   ! ocean sea surface variables (sst_m, sss_m, ssu_m, ssv_m) 
    353363      !                                                        ! averaged over nf_sbc time-step 
    354  
    355       IF (ln_wave) CALL sbc_wave( kt ) 
     364            ! START V.Alari 26.06.2016 
     365     IF (ln_cdgw) CALL sbc_wave( kt ) 
     366      ! Read wave parameters if Stokes-Coriolis forcing OR wave parameters for 
     367      ! TKE are needed 
     368      ! Also read it if drag coefficient to ensure that we use the neutral 10m 
     369      ! from WAM. 
     370      IF (ln_stcor .OR. ln_wavetke .OR. ln_tauoc) THEN 
     371            CALL sbc_wavepar( kt ) 
     372      ENDIF 
     373 
     374       ! END 
     375 
     376!      IF (ln_wave) CALL sbc_wave( kt ) 
    356377                                                   !==  sbc formulation  ==! 
    357378                                                             
Note: See TracChangeset for help on using the changeset viewer.