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 3970 for branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/NEMO/OPA_SRC/step.F90 – NEMO

Ignore:
Timestamp:
2013-07-11T15:59:14+02:00 (11 years ago)
Author:
cbricaud
Message:

Time splitting update, see ticket #1079

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3867_MERCATOR1_DYN/NEMOGCM/NEMO/OPA_SRC/step.F90

    r3769 r3970  
    108108      ! 
    109109      !  VERTICAL PHYSICS 
     110      ! bg jchanut tschanges 
     111      ! One need bottom friction parameter in ssh_wzv routine with time splitting. 
     112      ! The idea could be to move the call below before ssh_wzv. However, "now" scale factors 
     113      ! at U-V points (which are set thanks to sshu_n, sshv_n) are actually available in sshwzv. 
     114      ! These are needed for log bottom friction... 
     115#if ! defined key_dynspg_ts 
    110116                         CALL zdf_bfr( kstp )         ! bottom friction 
     117#endif 
     118      ! end jchanut tschanges 
    111119 
    112120      !                                               ! Vertical eddy viscosity and diffusivity coefficients 
     
    206214            &                                          rhd, gru , grv  )      ! of t, s, rd at the last ocean level 
    207215 
    208       ELSE                                                  ! centered hpg  (eos then time stepping) 
     216      ELSE    
     217                                               ! centered hpg  (eos then time stepping) 
     218      ! bg jchanut tschanges 
     219#if ! defined key_dynspg_ts 
     220      ! eos already called 
    209221                             CALL eos    ( tsn, rhd, rhop )      ! now in situ density for hpg computation 
    210222         IF( ln_zps      )   CALL zps_hde( kstp, jpts, tsn, gtsu, gtsv,  &    ! zps: now hor. derivative 
    211223            &                                          rhd, gru , grv  )      ! of t, s, rd at the last ocean level 
     224#endif 
     225      ! end jchanut tschanges 
    212226         IF( ln_zdfnpc   )   CALL tra_npc( kstp )                ! update after fields by non-penetrative convection 
    213227                             CALL tra_nxt( kstp )                ! tracer fields at next time step 
     
    217231      ! Dynamics                                    (tsa used as workspace) 
    218232      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
     233      ! bg jchanut tschanges 
     234#if defined key_dynspg_ts       
     235! revert to previously computed tendencies: 
     236! (not using ua, va as temporary arrays during tracers' update could avoid that) 
     237                               ua(:,:,:) = ua_bak(:,:,:)             
     238                               va(:,:,:) = va_bak(:,:,:) 
     239                               CALL dyn_bfr( kstp )         ! bottom friction 
     240                               CALL dyn_zdf( kstp )         ! vertical diffusion 
     241#else 
     242      ! end jchanut tschanges 
    219243                               ua(:,:,:) = 0.e0             ! set dynamics trends to zero 
    220244                               va(:,:,:) = 0.e0 
     
    236260                               CALL dyn_zdf( kstp )         ! vertical diffusion 
    237261                               CALL dyn_spg( kstp, indic )  ! surface pressure gradient 
     262      ! bg jchanut tschanges 
     263#endif 
     264      ! end jchanut tschanges 
    238265                               CALL dyn_nxt( kstp )         ! lateral velocity at next time step 
    239266 
Note: See TracChangeset for help on using the changeset viewer.