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.
#232 (Optimization of dynspg_ts with key_vvl) – NEMO

Opened 16 years ago

Closed 15 years ago

Last modified 8 years ago

#232 closed Enhancement (fixed)

Optimization of dynspg_ts with key_vvl

Reported by: nemo_user Owned by: nemo
Priority: lowest Milestone:
Component: OCE Version: v2
Severity: Keywords: VVL time-splitting
Cc:

Description

In the time splitting case with variable volume, total depths are updated at the end of each barotropic time step by taking the sum of updated vertical scale factors. This implies several jpk loops inside the barotropic loop. A way to make this routine really faster (and to avoid the definition of 3d arrays) is to replace the following lines:

            CALL dom_vvl_sf( zsshun_e, 'U', zfse3un_e ) ;   CALL dom_vvl_sf( zsshvn_e, 'V', zfse3vn_e )

            ! Ocean depth at U- and V-points
            hu_e(:,:) = 0.e0
            hv_e(:,:) = 0.e0

            DO jk = 1, jpk
               hu_e(:,:) = hu_e(:,:) + zfse3un_e(:,:,jk) * umask(:,:,jk)
               hv_e(:,:) = hv_e(:,:) + zfse3vn_e(:,:,jk) * vmask(:,:,jk)
            END DO

by:

hu_e(:,:) = hu_0(:,:) + zsshun_e(:,:) 
hv_e(:,:) = hv_0(:,:) + zsshvn_e(:,:) 

where hu_0 and hv_0 would be new arrays representing total depths at equilibrium, filled once for all at the begining of the run.

Jerome

Commit History (0)

(No commits)

Change History (5)

comment:1 Changed 15 years ago by rblod

  • Resolution set to fixed
  • Status changed from new to closed

comment:2 Changed 8 years ago by nicolasmartin

  • Keywords VVL added; vvl removed

comment:3 Changed 8 years ago by nicolasmartin

  • Keywords TS added; split removed

comment:4 Changed 8 years ago by nicolasmartin

  • Keywords time removed

comment:5 Changed 8 years ago by nicolasmartin

  • Keywords time-splitting added; TS removed
Note: See TracTickets for help on using tickets.