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 11822 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/step.F90 – NEMO

Ignore:
Timestamp:
2019-10-29T11:41:36+01:00 (4 years ago)
Author:
acc
Message:

Branch 2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps. Sette tested updates to branch to align with trunk changes between 10721 and 11740. Sette tests are passing but results differ from branch before these changes (except for GYRE_PISCES and VORTEX) and branch results already differed from trunk because of algorithmic fixes. Will need more checks to confirm correctness.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/step.F90

    r11480 r11822  
    117117      ! Update external forcing (tides, open boundaries, and surface boundary condition (including sea-ice) 
    118118      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    119       IF( ln_tide    )   CALL sbc_tide( kstp )                   ! update tide potential 
    120       IF( ln_apr_dyn )   CALL sbc_apr ( kstp )                   ! atmospheric pressure (NB: call before bdy_dta which needs ssh_ib)  
    121       IF( ln_bdy     )   CALL bdy_dta ( kstp,      Nnn, time_offset=+1 )  ! update dynamic & tracer data at open boundaries 
    122                          CALL sbc     ( kstp, Nbb, Nnn )         ! Sea Boundary Condition (including sea-ice) 
     119      IF( ln_tide    )   CALL sbc_tide( kstp )                        ! update tide potential 
     120      IF( ln_apr_dyn )   CALL sbc_apr ( kstp )                        ! atmospheric pressure (NB: call before bdy_dta which needs ssh_ib)  
     121      IF( ln_bdy     )   CALL bdy_dta ( kstp, Nnn, kt_offset = +1 )   ! update dynamic & tracer data at open boundaries 
     122                         CALL sbc     ( kstp, Nbb, Nnn )              ! Sea Boundary Condition (including sea-ice) 
    123123 
    124124      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     
    172172                            CALL eos    ( ts(:,:,:,:,Nnn), rhd, rhop, gdept(:,:,:,Nnn) )  ! now in situ density for hpg computation 
    173173                             
    174 !!jc: fs simplification 
    175 !!jc: lines below are useless if ln_linssh=F. Keep them here (which maintains a bug if ln_linssh=T and ln_zps=T, cf ticket #1636)  
    176 !!                                         but ensures reproductible results 
    177 !!                                         with previous versions using split-explicit free surface           
    178             IF( ln_zps .AND. .NOT. ln_isfcav )                                    & 
    179                &            CALL zps_hde    ( kstp, Nnn, jpts, ts(:,:,:,:,Nnn), gtsu, gtsv,   &  ! Partial steps: before horizontal gradient 
    180                &                                          rhd, gru , grv     )       ! of t, s, rd at the last ocean level 
    181             IF( ln_zps .AND.       ln_isfcav )                                               & 
    182                &            CALL zps_hde_isf( kstp, Nnn, jpts, ts(:,:,:,:,Nnn), gtsu, gtsv, gtui, gtvi,  &  ! Partial steps for top cell (ISF) 
    183                &                                          rhd, gru , grv , grui, grvi   )       ! of t, s, rd at the first ocean level 
    184 !!jc: fs simplification 
    185174                             
    186175                         uu(:,:,:,Nrhs) = 0._wp            ! set dynamics trends to zero 
     
    203192                                                      ! With split-explicit free surface, since now transports have been updated and ssh(:,:,Nrhs) as well 
    204193      IF( ln_dynspg_ts ) THEN                         ! vertical scale factors and vertical velocity need to be updated 
    205                             CALL div_hor       ( kstp, Nbb, Nnn )    ! Horizontal divergence  (2nd call in time-split case) 
     194                            CALL div_hor       ( kstp, Nbb, Nnn )                ! Horizontal divergence  (2nd call in time-split case) 
    206195         IF(.NOT.ln_linssh) CALL dom_vvl_sf_nxt( kstp, Nbb, Nnn, Naa, kcall=2 )  ! after vertical scale factors (update depth average component) 
    207                             CALL wzv        ( kstp, Nbb, Nnn, ww, Naa )  ! now cross-level velocity  
    208          IF( ln_zad_Aimp )  CALL wAimp      ( kstp,      Nnn )           ! Adaptive-implicit vertical advection partitioning 
     196      ENDIF 
     197                         CALL dyn_zdf( kstp, Nbb, Nnn, Nrhs, uu, vv, Naa  )      ! vertical diffusion    ==> after 
     198 
     199      IF( ln_dynspg_ts ) THEN                          
     200                            CALL wzv        ( kstp, Nbb, Nnn, ww, Naa )          ! now cross-level velocity  
     201         IF( ln_zad_Aimp )  CALL wAimp      ( kstp,      Nnn )                   ! Adaptive-implicit vertical advection partitioning 
    209202      ENDIF 
    210203       
    211                          CALL dyn_zdf( kstp, Nbb, Nnn, Nrhs, uu, vv, Naa  )  ! vertical diffusion     ==> after 
    212204 
    213205      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
     
    219211      ! diagnostics and outputs 
    220212      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    221       IF( lk_floats  )   CALL flo_stp ( kstp, Nbb, Nnn )   ! drifting Floats 
     213      IF( ln_floats  )   CALL flo_stp ( kstp, Nbb, Nnn )   ! drifting Floats 
    222214      IF( ln_diacfl  )   CALL dia_cfl ( kstp,      Nnn )   ! Courant number diagnostics 
    223215      IF( lk_diahth  )   CALL dia_hth ( kstp,      Nnn )   ! Thermocline depth (20 degres isotherm depth) 
    224       IF( lk_diadct  )   CALL dia_dct ( kstp,      Nnn )   ! Transports 
     216      IF( ln_diadct  )   CALL dia_dct ( kstp,      Nnn )   ! Transports 
    225217                         CALL dia_ar5 ( kstp,      Nnn )   ! ar5 diag 
    226       IF( lk_diaharm )   CALL dia_harm( kstp,      Nnn )   ! Tidal harmonic analysis 
     218      IF( ln_diaharm )   CALL dia_harm( kstp,      Nnn )   ! Tidal harmonic analysis 
    227219                         CALL dia_wri ( kstp,      Nnn )   ! ocean model: outputs 
    228220      ! 
Note: See TracChangeset for help on using the changeset viewer.