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.
2020WP/KERNEL-06_techene_better_e3_management (diff) – NEMO

Changes between Version 5 and Version 6 of 2020WP/KERNEL-06_techene_better_e3_management


Ignore:
Timestamp:
2020-03-19T14:23:48+01:00 (4 years ago)
Author:
techene
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2020WP/KERNEL-06_techene_better_e3_management

    v5 v6  
    1515||=Digest       || compute e3 on the fly from e3_0(:,:,:,Ktl) * ( 1 + ssh(:,:,Ktl) / h_0( :,: ) * mask( :,:,: ) instead of storing e3t/u/v/w/f... || 
    1616||=Dependencies || If any                                                || 
    17 ||=Branch       || source:/NEMO/branches/2020/dev_r{REV}_{ACTION_NAME} || 
     17||=Branch       || source:/NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3 || 
    1818||=Previewer(s) || Madec                                                 || 
    1919||=Reviewer(s)  || Madec                                                 || 
     
    3838}}} 
    3939 
    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) \\ 
     40Step 1 : Check the error for e3t, e3w between the current way to compute e3 at T-, W-point and the proposed way to compute e3 at T-, W-point. 
    5041 
     42Because this change is likely to induce changes in the code we need to insure and because we need backward compatibility, we will duplicate the modules that will be modified and implement changes gradually. 
     43Step 2 : First we change only the core routine in domvvl which should be changed into domQE. 
     44- add new variables, duplicate step into steplf and domvvl into domQE 
     45- change interpolation routines into scaling routines in domQE 
     46Step 3 : Then we change the Asselin filtering routine indeed because water forcing are applied locally. 
     47- change Asselin routines (maybe not required since e3 scale with vertical with JC modif) 
     48Step 4 : Finally we remove the interpol routine in the whole code 
     49- remove interpolating routine in all the code (AGRIF, OFF,...)  
     50- use a SUBSTITUTE when there are e3 CALL 
     51- make some changes in step and domQE to have the whole thing consistent 
    5152 
    52 2/  
    5353 
    5454 
     
    7979 
    8080''...'' 
     81We want to track and maybe explain the differences observed at every steps.  
     82Reference set up : For that we produce a reference data set with the trunk -r 12377 using the GYRE_PISCES configuration where top cpp_key has been removed. We run it on 120 time steps. The drag coefficient is zero. We XIOS output an averaged field every 5 days.  
     83 
     84 
    8185 
    8286== Review