#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.