Changes between Version 2 and Version 3 of 2020WP/KERNEL-06_techene_better_e3_management
- Timestamp:
- 2020-01-22T10:27:31+01:00 (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2020WP/KERNEL-06_techene_better_e3_management
v2 v3 11 11 == Summary 12 12 13 ||=Action || improve e3* management||13 ||=Action || optimisation of the vertical scale factor e3 computation || 14 14 ||=PI(S) || Techene, Madec || 15 ||=Digest || get rid of the very large number of e3* arrays and improve some of the e3* computation||15 ||=Digest || compute e3 on the fly from e3_0(:,:,:,Klt) * ( 1 + ssh(:,:,Klt) / h_0(:,:) * mask(:,:,:) instead of storing e3t/u/v/w/f... || 16 16 ||=Dependencies || If any || 17 17 ||=Branch || source:/NEMO/branches/2020/dev_r{REV}_{ACTION_NAME} || … … 23 23 24 24 25 use e3_0 and eta to recompute all e3* when needed. 25 The current e3[P] at P-point computation uses interpolation of the r3t 4D table at P = {u-, v-, w-, f-, uw-, vw-} points. This means 7 4D tables stored in memory. 26 The proposed optimisation consists in computing e3[P](ji,jj,jk,Ktl) on the fly using the r3[P] = ssh[P] / h_0 and the e3[P]_0. r3[P] is a 2D table, then this means only 4 2D tables stored in memory. 27 z-tilde management is done through e3[P]_0 that may varies with time in the z-tilde case. 28 Asselin filter management is done recomputing r3[P] directly with the filtered ssh. 26 29 27 30 … … 34 37 give for each the chosen name and description wrt coding rules. 35 38 }}} 39 40 1/ REFERENCE version change the way to compute the e3 using ssh instead of interpolating \\ 41 For this we need to modify : \\ 42 - cfgs/GYRE_PISCES/cpp_GYRE_PISCES.fcm (top de-activation) \\ 43 - src/OCE/DOM/dom_oce.F90 (declaration and allocation of new variable) \\ 44 - src/OCE/DOM/domain.F90 (initialisation of h new variables) \\ 45 - src/OCE/DOM/dommsk.F90 (initialisation of mask new variable) \\ 46 - src/OCE/DOM/domvvl.F90 (dom_vvl_interpol and dom_vvl interpol_3d) \\ 47 - src/OCE/DYN/dynatf.F90 (change but no effect since ln_dynadv_vec = .true.) 48 - src/OCE/TRA/traatf.F90 (change the e3t update with Asselin filter) 49 - src/OCE/step.F90 (change the ordering ssh >> tra >> dyn) \\ 50 51 52 2/ 53 36 54 37 55 ''...''