Changes between Version 21 and Version 22 of 2021WP/KNL-01_Sibylle_RK3_stage1
- Timestamp:
- 2022-01-03T18:22:40+01:00 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
2021WP/KNL-01_Sibylle_RK3_stage1
v21 v22 397 397 Trunk has new management of the halos, RK3 additionnal routines have to be updated accordingly. [[BR]] 398 398 399 - lbc_lnk_multiroutines no longer exist : they have been integrated into lbc_lnk generic routines, then they have to be replaced in :[[BR]]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 400 401 401 => src/OCE/DYN/dynspg_ts.F90[[BR]] … … 409 409 410 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]]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 412 413 413 => src/OCE/TRA/traqsr.F90 (fraqsr_1lev) [[BR]] … … 416 416 - src/OCE/stprk3_stg.F90 also has to be updated. [[BR]] 417 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]]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 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]]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 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 422 423 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]]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. `see with GM` !!! [[BR]] 425 425 426 426 => src/OCE/TRD/trdglo.F90 : glo_dyn_wri changes maye useless since glo_dyn_wri never called ! [[BR]]