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.
2021WP/KNL-01_Sibylle_RK3_stage1 (diff) – NEMO

Changes between Version 20 and Version 21 of 2021WP/KNL-01_Sibylle_RK3_stage1


Ignore:
Timestamp:
2022-01-03T18:17:21+01:00 (2 years ago)
Author:
techene
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 2021WP/KNL-01_Sibylle_RK3_stage1

    v20 v21  
    391391 
    392392 
     393=== Adapt TOP for RK3 
     394 
     395=== Merge with trunk r15557 
     396 
     397Trunk has new management of the halos, RK3 additionnal routines have to be updated accordingly. [[BR]] 
     398 
     399- lbc_lnk_multi routines no longer exist : they have been integrated into lbc_lnk generic routines, then they have to be replaced in :[[BR]] 
     400 
     401=> src/OCE/DYN/dynspg_ts.F90[[BR]] 
     402=> src/OCE/stprk3_stg.F90[[BR]] 
     403 
     404- loop have changed and optimized for limiting communications : when relevant RK3 routines will mimic MLF ones[[BR]] 
     405 
     406=> src/OCE/DYN/divhor.F90 : div_hor_RK3 [[BR]] 
     407=> src/OCE/DYN/sshwzv.F90 : wzv_RK3 [[BR]] 
     408=> src/OCE/TRA/trasbc.F90 : tra_sbc_RK3 [[BR]] 
     409 
     410 
     411- we have optimized tra_qsr routine by limiting intermidiate storing array, computations are now done only in the interior it works for all variables except fraqsr_1lev. Indeed it needs to be defined over the whole domain for the ICE. When not np_BIO fraqsr_1lev depends on qsr_hc, to minimize the code changed I decided to keep qsr_hc defined in the interior and to make a communication on fraqsr_1lev but it may not be the best solution. see with GM ! [[BR]] 
     412 
     413=> src/OCE/TRA/traqsr.F90 (fraqsr_1lev) [[BR]] 
     414 
     415 
     416- src/OCE/stprk3_stg.F90 also has to be updated.  [[BR]] 
     417 
     418=> A communication is required on r3. Indeed r3. at Kbb and Kmm can be used over the whole domain. In MLF case r3. at Kbb and Kmm are lbc-ised when starting a time step, while in RK3 case because of the stages within a step and r3. at Kmm is never lbc-ised.  That is why this communication is required !  [[BR]] 
     419=> Advective speeds at Kmm are computed on the whole domain and also required r3u to be defined over the whole domain.  [[BR]] 
     420=> As far as I understand ts, tr @ Kaa are not only computed in the interior in order to limit the number of loops, and sometime (ex pt update in src/OCE/TRA/traadv_fct.F90) values are computed but not used. In traadv case pt value outside the interior in erased with a lbc_lnk at the end of the time step. That is why ts/tr have to be initialised over the whole domain. Maybe it should be done at the init only as we discussed with GM ! [[BR]] 
     421=> As what has been done for MLF "IF( nn_hls == 2 .AND. l_zdfsh2 ) CALL lbc_lnk( 'stp_RK3_stg', avm_k, 'W', 1.0_wp )" needs to be externalised from the tke routine.  [[BR]] 
     422 
     423 
     424- rhop removal needs to be adressed properly. For now it has been quickly removed from RK3 but it is required for some DIA routines and over all for tra_mle (activated in ORCA2_ICE_PISCES configuration). The initial target was to compute rhop locally when needed on order to avoid to store a useless rhop array. But is means about 6 times.  [[BR]] 
     425 
     426=> src/OCE/TRD/trdglo.F90 : glo_dyn_wri changes maye useless since glo_dyn_wri never called !  [[BR]] 
     427=> src/OCE/stprk3.F90 rhop@Nbb now computed with rhd at each time step [[BR]] 
     428=> src/OCE/IOM/restart.F90 : remove rhop from restart [[BR]] 
     429 
     430- initialisation with restart sometimes requires Kmm field with are not intialised in RK3, as a matter of simplicity we just copy Kbb into Kmm for ssh, ts, uu, vv fields.  [[BR]] 
     431 
     432=> src/OCE/IOM/restart.F90 : rst_read [[BR]] 
     433=> src/OCE/IOM/restart.F90 : rst_read_ssh [[BR]] 
     434 
     435 
     436 
     437 
    393438=== Documentation updates 
    394439