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 5866 for branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90 – NEMO

Ignore:
Timestamp:
2015-11-06T11:42:35+01:00 (8 years ago)
Author:
gm
Message:

#1613: vvl by default: add ln_linssh and remove key_vvl

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_r5836_NOC3_vvl_by_default/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90

    r5862 r5866  
    178178      ht_n(:,:) = e3t_n(:,:,1) * tmask(:,:,1)   !!gm  BUG  :  this should be 1/2 * e3w(k=1) .... 
    179179      hu_b(:,:) = e3u_b(:,:,1) * umask(:,:,1) 
    180       hv_b(:,:) = e3u_b(:,:,1) * vmask(:,:,1) 
    181180      hu_n(:,:) = e3u_n(:,:,1) * umask(:,:,1) 
     181      hv_b(:,:) = e3v_b(:,:,1) * vmask(:,:,1) 
    182182      hv_n(:,:) = e3v_n(:,:,1) * vmask(:,:,1) 
    183183      DO jk = 2, jpkm1 
     
    617617       
    618618      ! Vertical scale factor interpolations 
    619       ! ------------------------------------ 
    620       CALL dom_vvl_interpol( e3t_n(:,:,:), e3w_n (:,:,:), 'W'  ) 
     619      CALL dom_vvl_interpol( e3t_n(:,:,:),  e3w_n(:,:,:), 'W'  ) 
    621620      CALL dom_vvl_interpol( e3u_n(:,:,:), e3uw_n(:,:,:), 'UW' ) 
    622621      CALL dom_vvl_interpol( e3v_n(:,:,:), e3vw_n(:,:,:), 'VW' ) 
    623       CALL dom_vvl_interpol( e3t_b(:,:,:), e3w_b (:,:,:), 'W'  ) 
     622      CALL dom_vvl_interpol( e3t_b(:,:,:),  e3w_b(:,:,:), 'W'  ) 
    624623      CALL dom_vvl_interpol( e3u_b(:,:,:), e3uw_b(:,:,:), 'UW' ) 
    625624      CALL dom_vvl_interpol( e3v_b(:,:,:), e3vw_b(:,:,:), 'VW' ) 
    626       ! t- and w- points depth 
    627       ! ---------------------- 
    628       ! set the isf depth as it is in the initial step 
     625 
     626      ! t- and w- points depth (set the isf depth as it is in the initial step) 
    629627      gdept_n(:,:,1) = 0.5_wp * e3w_n(:,:,1) 
    630628      gdepw_n(:,:,1) = 0.0_wp 
     
    656654      ! Write outputs 
    657655      ! ============= 
    658       CALL iom_put(     "e3t" , e3t_n  (:,:,:) ) 
    659       CALL iom_put(     "e3u" , e3u_n  (:,:,:) ) 
    660       CALL iom_put(     "e3v" , e3v_n  (:,:,:) ) 
    661       CALL iom_put(     "e3w" , e3w_n  (:,:,:) ) 
    662       CALL iom_put( "tpt_dep" , gde3w_n(:,:,:) ) 
     656      CALL iom_put(     "e3t",   e3t_n(:,:,:) ) 
     657      CALL iom_put(     "e3u",   e3u_n(:,:,:) ) 
     658      CALL iom_put(     "e3v",   e3v_n(:,:,:) ) 
     659      CALL iom_put(     "e3w",   e3w_n(:,:,:) ) 
     660      CALL iom_put( "tpt_dep", gde3w_n(:,:,:) ) 
    663661      IF( iom_use("e3tdef") )   & 
    664          CALL iom_put( "e3tdef"  , ( ( e3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 ) 
     662         CALL iom_put( "e3tdef", ( ( e3t_n(:,:,:) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100. * tmask(:,:,:) ) ** 2 ) 
    665663 
    666664      ! write restart file 
    667665      ! ================== 
    668       IF( lrst_oce ) CALL dom_vvl_rst( kt, 'WRITE' ) 
    669       ! 
    670       IF( nn_timing == 1 )  CALL timing_stop('dom_vvl_sf_swp') 
     666      IF( lrst_oce )   CALL dom_vvl_rst( kt, 'WRITE' ) 
     667      ! 
     668      IF( nn_timing == 1 )   CALL timing_stop('dom_vvl_sf_swp') 
    671669      ! 
    672670   END SUBROUTINE dom_vvl_sf_swp 
     
    691689      !!---------------------------------------------------------------------- 
    692690      ! 
    693       IF( nn_timing == 1 )  CALL timing_start('dom_vvl_interpol') 
     691      IF( nn_timing == 1 )   CALL timing_start('dom_vvl_interpol') 
    694692      ! 
    695693      SELECT CASE ( pout )    !==  type of interpolation  ==! 
     
    765763      END SELECT 
    766764      ! 
    767       IF( nn_timing == 1 )  CALL timing_stop('dom_vvl_interpol') 
     765      IF( nn_timing == 1 )   CALL timing_stop('dom_vvl_interpol') 
    768766      ! 
    769767   END SUBROUTINE dom_vvl_interpol 
     
    970968      ! 
    971969      IF( ioptio /= 1 )   CALL ctl_stop( 'Choose ONE vertical coordinate in namelist nam_vvl' ) 
    972       IF( .NOT. ln_vvl_zstar .AND. nn_isf .NE. 0) CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' ) 
     970      IF( .NOT. ln_vvl_zstar .AND. nn_isf /= 0)  CALL ctl_stop( 'Only vvl_zstar has been tested with ice shelf cavity' ) 
    973971      ! 
    974972      IF(lwp) THEN                   ! Print the choice 
     
    984982      ! 
    985983#if defined key_agrif 
    986       IF (.NOT.Agrif_Root()) CALL ctl_stop( 'AGRIF not implemented with non-linear free surface (key_vvl)' ) 
     984      IF(.NOT.Agrif_Root() )   CALL ctl_stop( 'AGRIF not implemented with non-linear free surface' ) 
    987985#endif 
    988986      ! 
     
    991989   !!====================================================================== 
    992990END MODULE domvvl 
    993  
    994  
    995  
Note: See TracChangeset for help on using the changeset viewer.