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.
#2605 (KNL-01_Sibylle_RK3_stage1) – NEMO

Opened 3 years ago

Last modified 2 years ago

#2605 new Task

KNL-01_Sibylle_RK3_stage1

Reported by: techene Owned by: techene
Priority: high Milestone: Unscheduled
Component: MULTIPLE Version: trunk
Severity: minor Keywords: time-stepping, RK3
Cc:

Description

Workplan action

Wikipage: wiki:2021WP/KNL-01_Sibylle_RK3_stage1

Commit History (43)

ChangesetAuthorTimeChangeLog
15630techene2022-01-05T19:02:55+01:00

#2605 correct r3f bug in RK3

15628techene2022-01-04T22:41:46+01:00

#2605 correct reproducibility bug for MLF introduced in r15626

15627techene2022-01-04T19:30:17+01:00

#2605 qco r3. ratios management optimised (RK3) and some cleanning (MLF)

15626techene2022-01-04T18:24:17+01:00

#2605 VORTEX should pass sette TBC

15625techene2022-01-04T16:39:00+01:00

#2605 ISOMIP+ now passes sette

15623techene2021-12-30T10:04:54+01:00

#2605 RK3 sette (except VORTEX) successful with RK3 (ORCA2_ICE_PISCES, AMM12, LOCK_EXCHANGE, OVERFLOW, WED025) in DEBUG mode (rhop is required for tramle and some dia routines, uu/vv/ts@Kmm needs to be initialised for routines such as ssm_sbc_init)

15622techene2021-12-29T10:52:29+01:00

#2605 Kmm not used for tke initialization

15621techene2021-12-29T10:51:58+01:00

#2605 update RK3 loops and add lbc_lnk accordinly

15620techene2021-12-29T10:51:43+01:00

#2605 update RK3 loops according to the trunk transformation

15592techene2021-12-13T11:30:55+01:00

#2605 : remove obsolete lbc_lnk_multi

15586techene2021-12-08T12:16:15+01:00

#2605 #2715 bug fix sette without tiling in debug mode (sette.sh -At) now OK except ICE_AGRIF

15581techene2021-12-07T14:08:22+01:00

#2605 #2715 bug fix for AGRIF : sette OK without tiling (sette.sh -At)

15574techene2021-12-03T20:32:50+01:00

#2605 #2715 trunk merged into dev_r14318_RK3_stage1

15561techene2021-11-30T14:25:02+01:00

#2605 #2715 debug on going trcrad modif to be revised

15532techene2021-11-24T12:47:32+01:00

#2605 #2715 : version in dev (still buggy)

15514techene2021-11-16T09:58:22+01:00

#2605 #2715 debug

15513techene2021-11-15T18:31:29+01:00

#2605 RK3 : correct dia_ptr initialisation and add a switch for diags/trends logicals

15512techene2021-11-15T18:22:03+01:00

#2605 RK3 : add logicals to deactivate trends, dianogstics and outputs at stages 1 & 2

15321techene2021-10-04T12:24:15+02:00

#2605 #2715 some cleanning

15083techene2021-07-05T18:29:04+02:00

#2605 RGBc debug : ORCA2 tests are now reproducible

15028techene2021-06-19T10:53:10+02:00

#2605 : additionnal cleaning sette ~OK (as stated previously) for MLF and RK3

14993techene2021-06-15T00:35:18+02:00

#2605 adapt and optimize mass flux forcing for RK3

14992techene2021-06-14T22:26:12+02:00

#2605 : debug restartability in debug mode

14991techene2021-06-14T21:52:31+02:00

#2605 uu_b@Kmm is not used in RK3, in addition it prevents from a single float exception error in debug mode when restarting since Kmm values are not initialised

14990techene2021-06-14T21:19:43+02:00

#2605 : new optimisation of traqsr

14949acc2021-06-04T17:12:54+02:00

#2605 : bug fixes to allow all SETTE tests to compile and run on this branch without key_RK3. This is a missed variable name change in stp2d.F90 and an uninecessarily duplicated routine in stprk3.F90. The duplicated routine (finalize_lbc) is unused but AGRIF compilations will pick up the incompatible first version from stpmlf.F90 (AGRIF does not respect scope). The copy in stprk3.F90 has been removed.

14943acc2021-06-03T16:53:29+02:00

#2605 : Corrections to istate.F90 and trasbc.F90 so that changes to ensure restartability with key_RK3 do not break restartability without key_RK3. Both now passing SETTE tests.

14942acc2021-06-03T15:56:32+02:00

#2605 : Tidier version of restart.F90 that avoids writing the newly-introduced, before barotropic velocities when key_RK3 is not active

14941acc2021-06-03T13:42:27+02:00

#2605 : restartability and reproducibility fixes (at least for AMM12 with key_qco and key_RK3). Including: Sibylles corrected indexing of ssh in stprk3.F90; inclusion of before barotropic velocities in restarts (restart.F90 and istate.F90) and (as yet, unreviewed) changes to stprk3_stg.F90/trasbc.F90 to ensure correct stage calculations. A couple of other minor changes in module_example.F90 and mppini.F90 that the compiler flagged.

14808jchanut2021-05-07T14:00:45+02:00

#2605: reproducibility issue with RK3: hdiv

14800jchanut2021-05-06T17:42:46+02:00

#2605: Main changes for a straightforward use of AGRIF with RK3

14799jchanut2021-05-06T15:57:06+02:00

#2605: Correct Vortex setup by reverting some changes introduced @r14223

14784techene2021-05-04T21:08:42+02:00

#2605 : enable diahsb and fix rnf forcing accordingly

14782acc2021-05-04T17:15:21+02:00

Branch dev_r14318_RK3_stage1: minor changes to fix compilation errors with VORTEX test case. stp2d.F90 and stprk3_stg.F90 only. #2605

14604techene2021-03-09T14:12:13+01:00

#2605 : allow time filtering of barotropic variables

14587techene2021-03-04T18:51:35+01:00

#2605 : cosmetic only

14549techene2021-02-26T11:03:18+01:00

#2605 small bug correction in ln_linssh=T

14548techene2021-02-25T18:16:27+01:00

#2605 small bug correction

14547techene2021-02-25T18:07:15+01:00

#2605 RK3 time-stepping on OCE only (run on GYRE_PISCES without key_top)

14428techene2021-02-10T19:12:36+01:00

#2605 loop optimisation from gm

14418techene2021-02-08T21:55:49+01:00

#2605 correct the truncature change of ww induced by diawri when ln_zad_Aimp=T along a time step

14381techene2021-02-03T13:36:25+01:00

#2605 : add advection velocity as input in advective flux form routines

14353techene2021-01-27T15:57:05+01:00

#2605 branch for RK3 time-stepping

Change History (54)

comment:1 Changed 3 years ago by techene

In 14353:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:2 Changed 3 years ago by techene

In 14381:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:3 Changed 3 years ago by techene

In 14418:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:4 Changed 3 years ago by techene

In 14428:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:5 Changed 3 years ago by techene

In 14547:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:6 Changed 3 years ago by techene

In 14548:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:7 Changed 3 years ago by techene

In 14549:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:8 Changed 3 years ago by techene

In 14587:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:9 Changed 3 years ago by techene

In 14604:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:10 Changed 3 years ago by acc

In 14782:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:11 Changed 3 years ago by techene

In 14784:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:12 Changed 3 years ago by jchanut

In 14799:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:13 Changed 3 years ago by jchanut

In 14800:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:14 Changed 3 years ago by acc

SETTE update: After disappearing down a few rabbit-holes, I've finally traced the reproducibility problems to inconsistent ww values in the halo at RK3 stage3. The halo value is used in dyn_zad when averaging to uw-, vw- points; and this leads to the differences. My, simple-minded solution is to add an lbc_lnk:

  • stprk3_stg.F90

     
    165165      ! 
    166166!===>>>>>> Modify dyn_adv_... dyn_keg routines so that Krhs to zero useless 
    167167      !                                         ! advection (VF or FF)  ==> RHS 
     168      CALL lbc_lnk_multi( 'stp_RK3_stg', ww(:,:,:), 'T', 1. ) 
    168169      CALL dyn_adv( kstp, Kbb, Kmm      , uu, vv, Krhs, zaU, zaV, ww ) 
    169170      !                                         ! Coriolis / vorticity  ==> RHS 
    170171      CALL dyn_vor( kstp,      Kmm      , uu, vv, Krhs ) 

but there may be other solutions (and there may be more to do if ln_zad_Aimp is active). This fixes reproducibility for AMM12 and VORTEX (which are the only two, currently active tests). Interestingly, it also fixes restartability for LOCK_EXCHANGE; but not the others:

Using DEUG settings
   !----restart----!
WAMM12_ST                    run.stat    restartability  FAILED :  14784+  (results are different after  7      time steps)
WOVERFLOW_ST                 run.stat    restartability  FAILED :  14784+  (results are different after  8      time steps)
WLOCK_EXCHANGE_ST            run.stat    restartability  passed :  14784+
WVORTEX_ST                   run.stat    restartability  FAILED :  14784+  (results are different after  7      time steps)

   !----repro----!
WAMM12_ST                    run.stat    reproducibility passed :  14784+
WVORTEX_ST                   run.stat    reproducibility passed :  14784+

I'll move on to looking at restartability and won't submit a change until alternative solutions have been ruled out.

comment:15 Changed 3 years ago by jchanut

In 14808:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:16 Changed 3 years ago by acc

SETTE update: Confirmation that changeset:14808 more elegantly fixes the reproducibility error described in comment 15:

Using DEBUG settings
   !----restart----!
WAMM12_ST                    run.stat    restartability  FAILED :  14808  (results are different after  7      time steps)
WOVERFLOW_ST                 run.stat    restartability  FAILED :  14808  (results are different after  8      time steps)
WLOCK_EXCHANGE_ST            run.stat    restartability  passed :  14808
WVORTEX_ST                   run.stat    restartability  FAILED :  14808  (results are different after  7      time steps)

   !----repro----!
WAMM12_ST                    run.stat    reproducibility passed :  14808
WVORTEX_ST                   run.stat    reproducibility passed :  14808

comment:17 Changed 3 years ago by acc

SETTE update: No answer to the restartability issue yet but I'm puzzled by the dom_qco initialisation. AMM12_ST/SHORT/ocean.output, for example, reports:

 rst_read_ssh : ssh initialization
 ~~~~~~~~~~~~

       Kbb sea surface height read in the restart file
           read sshb (rec:      1) in ./AMM12_LONG_00000006_restart_0000.nc ok

 dom_qco_init : Variable volume activated
 ~~~~~~~~~~~~

but dom_qco_init needs sshb and sshn to set all the r3 fields. I'm puzzled because attempts to fix this by including sshn in the restart don't seem to make any difference.

comment:18 Changed 3 years ago by acc

SETTE update Sibylle confirms that only sshb/r3t(:,:,Kbb) is required for RK3; the initialisation of r3t(:,:,Kmm) in dom_qco_init is to support MLF and is redundant/harmless for RK3. Further tracking of restart issues suggests there are compounded causes:

  • First up is a small difference in uu_b and vv_b between continuous and restarted runs at the start of the restart step. All inputs to the calculation match between the restarted job and the continuous case at the same stage. Possibly this is just a result of the difference in the order of numerical operations? Adding uu_b and vv_b to the restart and disabling their recalculation in istate.F90, removes this difference. The restart error is slightly reduced but not by much.
  • The next discovered difference is in the ts trends after tra_sbc at stage 2. tra_sbc does very little at stage 2. As a test, disabling the updates that use sbc_tsc and rnf_tsc removes any difference. Deciding what is the correct solution is trickier. Note, though that there may be some mixup with the correct before flux for the restart since values appear to be written/overwritten at each stage:
grep sbc_sc_b ocean.output
           read sbc_sc_b (rec:      1) in ./AMM12_LONG_00000006_restart_0000.nc ok
           read sbc_sc_b (rec:      1) in ./AMM12_LONG_00000006_restart_0000.nc ok
           read sbc_sc_b (rec:      1) in ./AMM12_LONG_00000006_restart_0000.nc ok
           iom_nf90_rp0123d, file: ./AMM12_SHORT_00000012_restart_0000.nc, var: sbc_sc_b defined ok
           iom_nf90_rp0123d, file: ./AMM12_SHORT_00000012_restart_0000.nc, var: sbc_sc_b written ok
           iom_nf90_rp0123d, file: ./AMM12_SHORT_00000012_restart_0000.nc, var: sbc_sc_b written ok
           iom_nf90_rp0123d, file: ./AMM12_SHORT_00000012_restart_0000.nc, var: sbc_sc_b written ok
  • Unfortunately, restartability differences persist even after temporarily. by-passing tra_sbc generated differences.

Investigations continue...

comment:19 Changed 3 years ago by acc

SETTE update Ha, turns out sshn IS required. The final difference (detectable in tracer trends after tra_ldf) turns out to be due to slope differences traced back to ldf_slp and eos_rab. This is because buried in these routines is the use of gdept(:,:,:,:,Kmm). This dependency could be removed for eos_rab and bn2 by using Nbb as the last argument instead of Nnn. However, the use of Kmm is more deeply ingrained in ldf_slp (possibly a trunk-based bug?) and the consequences of changing this are less obvious. I leave this to the real experts. Meanwhile, here are the uncommitted changes that can restore restartability:

  1. Additions to restart (need to revisit the uu_b, vv_b case to see if the small differences were significant now the larger errors have been found)
    • DOM/istate.F90

       
      148148      ! Do it whatever the free surface method, these arrays being eventually used 
      149149      ! 
      150150      uu_b(:,:,Kmm) = 0._wp   ;   vv_b(:,:,Kmm) = 0._wp 
      151       uu_b(:,:,Kbb) = 0._wp   ;   vv_b(:,:,Kbb) = 0._wp 
       151      !!uu_b(:,:,Kbb) = 0._wp   ;   vv_b(:,:,Kbb) = 0._wp 
      152152      ! 
      153153!!gm  the use of umsak & vmask is not necessary below as uu(:,:,:,Kmm), vv(:,:,:,Kmm), uu(:,:,:,Kbb), vv(:,:,:,Kbb) are always masked 
      154154      DO_3D( 1, 1, 1, 1, 1, jpkm1 ) 
       
      155155         uu_b(ji,jj,Kmm) = uu_b(ji,jj,Kmm) + e3u(ji,jj,jk,Kmm) * uu(ji,jj,jk,Kmm) * umask(ji,jj,jk) 
      156156         vv_b(ji,jj,Kmm) = vv_b(ji,jj,Kmm) + e3v(ji,jj,jk,Kmm) * vv(ji,jj,jk,Kmm) * vmask(ji,jj,jk) 
      157157         ! 
      158          uu_b(ji,jj,Kbb) = uu_b(ji,jj,Kbb) + e3u(ji,jj,jk,Kbb) * uu(ji,jj,jk,Kbb) * umask(ji,jj,jk) 
      159          vv_b(ji,jj,Kbb) = vv_b(ji,jj,Kbb) + e3v(ji,jj,jk,Kbb) * vv(ji,jj,jk,Kbb) * vmask(ji,jj,jk) 
       158         !!uu_b(ji,jj,Kbb) = uu_b(ji,jj,Kbb) + e3u(ji,jj,jk,Kbb) * uu(ji,jj,jk,Kbb) * umask(ji,jj,jk) 
       159         !!vv_b(ji,jj,Kbb) = vv_b(ji,jj,Kbb) + e3v(ji,jj,jk,Kbb) * vv(ji,jj,jk,Kbb) * vmask(ji,jj,jk) 
      160160      END_3D 
      161161      ! 
      162162      uu_b(:,:,Kmm) = uu_b(:,:,Kmm) * r1_hu(:,:,Kmm) 
      163163      vv_b(:,:,Kmm) = vv_b(:,:,Kmm) * r1_hv(:,:,Kmm) 
      164164      ! 
      165       uu_b(:,:,Kbb) = uu_b(:,:,Kbb) * r1_hu(:,:,Kbb) 
      166       vv_b(:,:,Kbb) = vv_b(:,:,Kbb) * r1_hv(:,:,Kbb) 
       165      !!uu_b(:,:,Kbb) = uu_b(:,:,Kbb) * r1_hu(:,:,Kbb) 
       166      !!vv_b(:,:,Kbb) = vv_b(:,:,Kbb) * r1_hv(:,:,Kbb) 
      167167      ! 
      168168   END SUBROUTINE istate_init 
    • IOM/restart.F90

       
      162162      ! 
      163163      IF( .NOT.ln_diurnal_only ) THEN 
      164164         CALL iom_rstput( kt, nitrst, numrow, 'sshb'   , ssh(:,:        ,Kbb) )     ! before fields 
       165         CALL iom_rstput( kt, nitrst, numrow, 'sshn'   , ssh(:,:        ,Kmm) )     ! before fields 
      165166         CALL iom_rstput( kt, nitrst, numrow, 'ub'     , uu(:,:,:       ,Kbb) ) 
      166167         CALL iom_rstput( kt, nitrst, numrow, 'vb'     , vv(:,:,:       ,Kbb) ) 
       168         CALL iom_rstput( kt, nitrst, numrow, 'uu_b'   , uu_b(:,:       ,Kbb) )     ! before fields 
       169         CALL iom_rstput( kt, nitrst, numrow, 'vv_b'   , vv_b(:,:       ,Kbb) )     ! before fields 
      167170         IF( .NOT.lk_SWE ) THEN 
      168171            CALL iom_rstput( kt, nitrst, numrow, 'tb'  , ts(:,:,:,jp_tem,Kbb) ) 
      169172            CALL iom_rstput( kt, nitrst, numrow, 'sb'  , ts(:,:,:,jp_sal,Kbb) ) 
       
      287290      IF(lwp) WRITE(numout,*) '           Kbb u, v and T-S fields read in the restart file' 
      288291      CALL iom_get( numror, jpdom_auto, 'ub'   , uu(:,:,:       ,Kbb), cd_type = 'U', psgn = -1._wp ) 
      289292      CALL iom_get( numror, jpdom_auto, 'vb'   , vv(:,:,:       ,Kbb), cd_type = 'V', psgn = -1._wp ) 
       293      CALL iom_get( numror, jpdom_auto, 'uu_b'   , uu_b(:,:     ,Kbb), cd_type = 'U', psgn = -1._wp ) 
       294      CALL iom_get( numror, jpdom_auto, 'vv_b'   , vv_b(:,:     ,Kbb), cd_type = 'V', psgn = -1._wp ) 
       295      CALL iom_get( numror, jpdom_auto, 'vb'   , vv(:,:,:       ,Kbb), cd_type = 'V', psgn = -1._wp ) 
      290296      IF( .NOT.lk_SWE ) THEN 
      291297         CALL iom_get( numror, jpdom_auto, 'tb', ts(:,:,:,jp_tem,Kbb) ) 
      292298         CALL iom_get( numror, jpdom_auto, 'sb', ts(:,:,:,jp_sal,Kbb) ) 
       
      377383         CALL iom_get( numror, jpdom_auto, 'sshb'   , ssh(:,:,Kbb) ) 
      378384         ! 
      379385         !                                     !*  RK3: Set ssh at Kmm for AGRIF 
      380          ssh(:,:,Kmm) = 0._wp 
       386         !ssh(:,:,Kmm) = 0._wp 
       387         CALL iom_get( numror, jpdom_auto, 'sshn'   , ssh(:,:,Kmm) ) 
      381388#else 
      382389         !                                     !*  MLF: Read ssh at Kmm 
      383390         IF(lwp) WRITE(numout,*) 
  2. Temporary by-pass of tra_sbc induced differences (NOT A PROPER SOLUTION)
    • TRA/trasbc.F90

       
      161161      ! 
      162162      DO jn = 1, jpts               !==  update tracer trend  ==! 
      163163         DO_2D( 0, 0, 0, 0 ) 
      164             pts(ji,jj,1,jn,Krhs) = pts(ji,jj,1,jn,Krhs) + zfact * ( sbc_tsc_b(ji,jj,jn) + sbc_tsc(ji,jj,jn) )    & 
      165                &                                                / e3t(ji,jj,1,Kmm) 
       164!!          pts(ji,jj,1,jn,Krhs) = pts(ji,jj,1,jn,Krhs) + zfact * ( sbc_tsc_b(ji,jj,jn) + sbc_tsc(ji,jj,jn) )    & 
       165!!             &                                                / e3t(ji,jj,1,Kmm) 
      166166         END_2D 
      167167      END DO 
      168168      ! 
       
      185185#if defined key_RK3 
      186186               zdep = 1._wp / h_rnf(ji,jj) 
      187187               DO jk = 1, nk_rnf(ji,jj) 
      188                                      pts(ji,jj,jk,jp_tem,Krhs) = pts(ji,jj,jk,jp_tem,Krhs)  + rnf_tsc(ji,jj,jp_tem) * zdep 
      189                   IF( ln_rnf_sal )   pts(ji,jj,jk,jp_sal,Krhs) = pts(ji,jj,jk,jp_sal,Krhs)  + rnf_tsc(ji,jj,jp_sal) * zdep 
       188!!                                   pts(ji,jj,jk,jp_tem,Krhs) = pts(ji,jj,jk,jp_tem,Krhs)  + rnf_tsc(ji,jj,jp_tem) * zdep 
       189!!                IF( ln_rnf_sal )   pts(ji,jj,jk,jp_sal,Krhs) = pts(ji,jj,jk,jp_sal,Krhs)  + rnf_tsc(ji,jj,jp_sal) * zdep 
      190190               END DO 
      191191 
      192192#else 

With these changes I can achieve:

./sette.sh -Q -t "AMM12 OVERFLOW VORTEX LOCK_EXCHANGE"
   !----restart----!
WAMM12_ST                    run.stat    restartability  passed :  14808+
WOVERFLOW_ST                 run.stat    restartability  passed :  14808+
WLOCK_EXCHANGE_ST            run.stat    restartability  passed :  14808+
WVORTEX_ST                   run.stat    restartability  FAILED :  14808+
   !----repro----!
WAMM12_ST                    run.stat    reproducibility passed :  14808+
WVORTEX_ST                   run.stat    reproducibility passed :  14808+

Just VORTEX holding out now :)

comment:20 Changed 3 years ago by acc

SETTE update: towards a better solution for tra_sbc.

Firstly, a quick check has confirmed that uu_b and vv_b do need to be passed via the restart to ensure restartability.

Secondly, a closer look at tra_sbc suggests several issues:

  1. There is no issue with the rnf terms only the sbc_tsc terms
  2. stprk3_stg does not pass the kstg optional argument so the RK3 logic is not activated
  3. Correcting this is not enough because zfact is then inconsistent between continuous and restarted runs. In fact it is undefined for stage 2. Also the before value of sbc_tsc is written to the restart at the wrong point.

These changes (as an alternative to step 2 in comment 20) recover restartability with an active tra_sbc; but this may not be what is intended for zfact:

  • stprk3_stg.F90

     
    212212 
    213213!===>>>>>> stg1&2:  Verify the necessity of these trends (we may need it as there are in the RHS of dynspg_ts ?) 
    214214!!gm ====>>>>   needed for heat and salt fluxes associated with mass/volume flux 
    215                         CALL tra_sbc( kstp,      Kmm, ts, Krhs )   ! surface boundary condition 
     215                        CALL tra_sbc( kstp,      Kmm, ts, Krhs, kstg )   ! surface boundary condition 
    216216 
    217217      IF( ln_isf )      CALL tra_isf( kstp,      Kmm, ts, Krhs )   ! ice shelf heat flux 
    218218      IF( ln_traqsr )   CALL tra_qsr( kstp,      Kmm, ts, Krhs )   ! penetrative solar radiation qsr 
  • TRA/trasbc.F90

     
    121121      !        EMP, SFX and QNS effects 
    122122      !---------------------------------------- 
    123123      !                             !==  Set before sbc tracer content fields  ==! 
     124      zfact = 0.5_wp 
    124125      IF( kt == nit000 .AND. istg_1 == 1 ) THEN             !* 1st time-step 
    125126         IF( ln_rstart .AND. .NOT.l_1st_euler ) THEN      ! Restart: read in restart file 
    126             zfact = 0.5_wp 
    127127            IF( ntile == 0 .OR. ntile == 1 )  THEN                       ! Do only on the first tile 
    128128               IF(lwp) WRITE(numout,*) '          nit000-1 sbc tracer content field read in the restart file' 
    129129               sbc_tsc(:,:,:) = 0._wp 
     
    142142         DO_2D( isi, iei, isj, iej ) 
    143143            sbc_tsc_b(ji,jj,:) = sbc_tsc(ji,jj,:) 
    144144         END_2D 
     145         IF( ntile == 0 .OR. ntile == nijtile )  THEN                ! Do only on the last tile 
     146            IF( lrst_oce ) THEN           !==  write sbc_tsc in the ocean restart file  ==! 
     147               CALL iom_rstput( kt, nitrst, numrow, 'sbc_hc_b', sbc_tsc(:,:,jp_tem) ) 
     148               CALL iom_rstput( kt, nitrst, numrow, 'sbc_sc_b', sbc_tsc(:,:,jp_sal) ) 
     149            ENDIF 
     150         ENDIF 
    145151      ENDIF 
    146152      !                             !==  Now sbc tracer content fields  ==! 
    147153      DO_2D( isi, iei, isj, iej ) 
     
    166172         END_2D 
    167173      END DO 
    168174      ! 
    169       IF( ntile == 0 .OR. ntile == nijtile )  THEN                ! Do only on the last tile 
    170          IF( lrst_oce ) THEN           !==  write sbc_tsc in the ocean restart file  ==! 
    171             CALL iom_rstput( kt, nitrst, numrow, 'sbc_hc_b', sbc_tsc(:,:,jp_tem) ) 
    172             CALL iom_rstput( kt, nitrst, numrow, 'sbc_sc_b', sbc_tsc(:,:,jp_sal) ) 
    173          ENDIF 
    174       ENDIF 
    175175      ! 
    176176      !---------------------------------------- 
    177177      !        River Runoff effects 

comment:21 Changed 3 years ago by acc

In 14941:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:22 Changed 3 years ago by acc

In 14942:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:23 Changed 3 years ago by acc

In 14943:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:24 Changed 3 years ago by acc

In 14949:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:25 Changed 3 years ago by techene

In 14990:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:26 Changed 3 years ago by techene

In 14991:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:27 Changed 3 years ago by techene

In 14992:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:28 Changed 3 years ago by techene

In 14993:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:29 Changed 3 years ago by techene

Commit 15027 ensure restartability OK reproducibility ~OK (when not using RGBc) for MLF, restartability OK reproducibility OK for RK3
Sending src/OCE/IOM/restart.F90
Sending src/OCE/TRA/traqsr.F90
Sending tests/ISOMIP+/MY_SRC/eosbn2.F90

With key_qco only : note that REPRO tests fail when using traqr with RGBc option (following results show a modified version of ORCA2_ICE_PISCES in order to run with RGB only)

!!---------------1st pass------------------!!

   !----restart----!   
WGYRE_PISCES_ST              run.stat    restartability  passed :  14993+
WGYRE_PISCES_ST              tracer.stat restartability  passed :  14993+
WORCA2_ICE_PISCES_ST         run.stat    restartability  passed :  14993+
WORCA2_ICE_PISCES_ST         tracer.stat restartability  passed :  14993+
WORCA2_OFF_PISCES_ST         tracer.stat restartability  passed :  14993+
WAMM12_ST                    run.stat    restartability  passed :  14993+
WORCA2_SAS_ICE_ST            run.stat    restartability  passed :  14993+
WAGRIF_DEMO_ST               run.stat    restartability  passed :  14993+
WWED025_ST                   run.stat    restartability  passed :  14993+
WISOMIP+_ST                  run.stat    restartability  passed :  14993+
WOVERFLOW_ST                 run.stat    restartability  passed :  14993+
WLOCK_EXCHANGE_ST            run.stat    restartability  passed :  14993+
WVORTEX_ST                   run.stat    restartability  passed :  14993+
WICE_AGRIF_ST                run.stat    restartability  passed :  14993+
WSWG_ST                      run.stat    restartability  passed :  14993+

   !----repro----!   
WGYRE_PISCES_ST              run.stat    reproducibility passed :  14993+
WGYRE_PISCES_ST              tracer.stat reproducibility passed :  14993+
WORCA2_ICE_PISCES_ST         run.stat    reproducibility passed :  14993+
WORCA2_ICE_PISCES_ST         tracer.stat reproducibility passed :  14993+
WORCA2_OFF_PISCES_ST         tracer.stat reproducibility passed :  14993+
WAMM12_ST                    run.stat    reproducibility passed :  14993+
WORCA2_SAS_ICE_ST            run.stat    reproducibility passed :  14993+
WORCA2_ICE_OBS_ST            run.stat    reproducibility FAILED :  14993+  (results are different after  9      time steps)
WAGRIF_DEMO_ST               run.stat    reproducibility FAILED :  14993+  (results are different after  7      time steps)
WWED025_ST                   run.stat    reproducibility FAILED :  14993+  (results are different after  7      time steps)
WISOMIP+_ST                  run.stat    reproducibility passed :  14993+
WVORTEX_ST                   run.stat    reproducibility passed :  14993+
WICE_AGRIF_ST                run.stat    reproducibility passed :  14993+
WSWG_ST                      run.stat    reproducibility passed :  14993+

   !----agrif check----!   
ORCA2 AGRIF vs ORCA2 NOAGRIF run.stat    unchanged  -    passed :  14993+ 14993+


With key_RK3 and key_qco : note that in this case GYRE_PISCES and ORCA2_ICE_PISCES have been modified in order to test RK3 scheme with no biogechemistry and with a quasi-eulerian coordinate.

!!---------------1st pass------------------!!

   !----restart----!   
WGYRE_PISCES_ST              run.stat    restartability  passed :  14949+
WORCA2_ICE_PISCES_ST         ocean.output               MISSING :  14949+
WORCA2_ICE_PISCES_ST         incomplete test
WORCA2_OFF_PISCES_ST         directory                  MISSING :  14949+
WAMM12_ST                    run.stat    restartability  passed :  14949+
WORCA2_SAS_ICE_ST            directory                  MISSING :  14949+
WAGRIF_DEMO_ST               directory                  MISSING :  14949+
WWED025_ST                   directory                  MISSING :  14949+
WISOMIP+_ST                  directory                  MISSING :  14949+
WOVERFLOW_ST                 run.stat    restartability  passed :  14949+
WLOCK_EXCHANGE_ST            run.stat    restartability  passed :  14949+
WVORTEX_ST                   run.stat    restartability  passed :  14949+
WICE_AGRIF_ST                directory                  MISSING :  14949+
WSWG_ST                      directory                  MISSING :  14949+

   !----repro----!   
WGYRE_PISCES_ST              run.stat    reproducibility passed :  14949+
WORCA2_ICE_PISCES_ST         ocean.output               MISSING :  14949+
WORCA2_ICE_PISCES_ST         incomplete test
WORCA2_OFF_PISCES_ST         directory                  MISSING :  14949+
WAMM12_ST                    run.stat    reproducibility passed :  14949+
WORCA2_SAS_ICE_ST            directory                  MISSING :  14949+
WORCA2_ICE_OBS_ST            directory                  MISSING :  14949+
WAGRIF_DEMO_ST               directory                  MISSING :  14949+
WWED025_ST                   directory                  MISSING :  14949+
WISOMIP+_ST                  directory                  MISSING :  14949+
WVORTEX_ST                   run.stat    reproducibility passed :  14949+
WICE_AGRIF_ST                directory                  MISSING :  14949+
WSWG_ST                      directory                  MISSING :  14949+

comment:30 Changed 3 years ago by techene

In 15028:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:31 Changed 3 years ago by techene

In 15083:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:32 Changed 3 years ago by techene

In 15321:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:33 Changed 3 years ago by techene

In 15512:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:34 Changed 3 years ago by techene

In 15513:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:35 Changed 3 years ago by techene

In 15514:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:36 Changed 3 years ago by techene

In 15532:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:37 Changed 3 years ago by techene

In 15561:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:38 Changed 3 years ago by techene

In 15574:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:39 Changed 3 years ago by techene

MLF+QCO sette results after the merge

-bash-4.2$ ./sette_rpt.sh 

Current code is : NEMO/branches/2021/dev_r14318_RK3_stage1 @ r15576  ( last change @ r15574 )

SETTE validation report generated for : 

       NEMO/branches/2021/dev_r14318_RK3_stage1 @ r15574 (last changed revision)

       on X64_IRENE arch file


!!---------------1st pass------------------!!

   !----restart----!   
GYRE_PISCES                  run.stat    restartability  passed :  15574
GYRE_PISCES                  tracer.stat restartability  passed :  15574
ORCA2_ICE_PISCES             run.stat    restartability  passed :  15574
ORCA2_ICE_PISCES             tracer.stat restartability  passed :  15574
ORCA2_OFF_PISCES             tracer.stat restartability  passed :  15574
AMM12                        run.stat    restartability  passed :  15574
ORCA2_SAS_ICE                run.stat    restartability  passed :  15574
AGRIF_DEMO                   run.stat    restartability  passed :  15574
AGRIF_DEMO                   tracer.stat    restartability  FAILED :  15574  (results are different after  12     time steps)
WED025                       run.stat    restartability  passed :  15574
ISOMIP+                      run.stat    restartability  passed :  15574
OVERFLOW                     run.stat    restartability  passed :  15574
LOCK_EXCHANGE                run.stat    restartability  passed :  15574
VORTEX                       run.stat    restartability  FAILED :  15574  (results are different after  121    time steps)
ICE_AGRIF                    ocean.output               MISSING :  15574
ICE_AGRIF                    incomplete test
SWG                          run.stat    restartability  passed :  15574

   !----repro----!   
GYRE_PISCES                  run.stat    reproducibility passed :  15574
GYRE_PISCES                  tracer.stat reproducibility passed :  15574
ORCA2_ICE_PISCES             run.stat    reproducibility passed :  15574
ORCA2_ICE_PISCES             tracer.stat reproducibility passed :  15574
ORCA2_OFF_PISCES             tracer.stat reproducibility passed :  15574
AMM12                        run.stat    reproducibility passed :  15574
ORCA2_SAS_ICE                run.stat    reproducibility passed :  15574
ORCA2_ICE_OBS                run.stat    reproducibility passed :  15574
AGRIF_DEMO                   run.stat    reproducibility passed :  15574
AGRIF_DEMO                   tracer.stat reproducibility passed :  15574
WED025                       run.stat    reproducibility passed :  15574
ISOMIP+                      run.stat    reproducibility passed :  15574
VORTEX                       run.stat    reproducibility passed :  15574
ICE_AGRIF                    ocean.output               MISSING :  15574
ICE_AGRIF                    incomplete test
SWG                          run.stat    reproducibility passed :  15574

   !----agrif check----!   
ORCA2 AGRIF vs ORCA2 NOAGRIF run.stat    unchanged  -    passed :  15574 15574

comment:40 Changed 3 years ago by techene

./sette.sh -Atq
MLF+VVL sette results after the merge

-bash-4.2$ ./sette_rpt.sh 

Current code is : NEMO/branches/2021/dev_r14318_RK3_stage1 @ r15576  ( last change @ r15574 )

SETTE validation report generated for : 

       NEMO/branches/2021/dev_r14318_RK3_stage1 @ r15574 (last changed revision)

       on X64_IRENE arch file


!!---------------1st pass------------------!!

   !----restart----!   
GYRE_PISCES                  run.stat    restartability  passed :  15574
GYRE_PISCES                  tracer.stat restartability  passed :  15574
ORCA2_ICE_PISCES             run.stat    restartability  passed :  15574
ORCA2_ICE_PISCES             tracer.stat restartability  passed :  15574
ORCA2_OFF_PISCES             tracer.stat restartability  passed :  15574
AMM12                        ocean.output               MISSING :  15574
AMM12                        incomplete test
ORCA2_SAS_ICE                run.stat    restartability  passed :  15574
AGRIF_DEMO                   run.stat    restartability  passed :  15574
AGRIF_DEMO                   tracer.stat    restartability  FAILED :  15574  (results are different after  12     time steps)
WED025                       run.stat    restartability  passed :  15574
ISOMIP+                      run.stat    restartability  passed :  15574
OVERFLOW                     run.stat    restartability  passed :  15574
LOCK_EXCHANGE                run.stat    restartability  passed :  15574
VORTEX                       run.stat    restartability  FAILED :  15574  (results are different after  121    time steps)
ICE_AGRIF                    ocean.output               MISSING :  15574
ICE_AGRIF                    incomplete test
SWG                          run.stat    restartability  passed :  15574

   !----repro----!   
GYRE_PISCES                  run.stat    reproducibility passed :  15574
GYRE_PISCES                  tracer.stat reproducibility passed :  15574
ORCA2_ICE_PISCES             run.stat    reproducibility passed :  15574
ORCA2_ICE_PISCES             tracer.stat reproducibility passed :  15574
ORCA2_OFF_PISCES             tracer.stat reproducibility passed :  15574
AMM12                        ocean.output               MISSING :  15574
AMM12                        incomplete test
ORCA2_SAS_ICE                run.stat    reproducibility passed :  15574
ORCA2_ICE_OBS                run.stat    reproducibility passed :  15574
AGRIF_DEMO                   run.stat    reproducibility passed :  15574
AGRIF_DEMO                   tracer.stat reproducibility passed :  15574
WED025                       run.stat    reproducibility passed :  15574
ISOMIP+                      run.stat    reproducibility passed :  15574
VORTEX                       run.stat    reproducibility passed :  15574
ICE_AGRIF                    ocean.output               MISSING :  15574
ICE_AGRIF                    incomplete test
SWG                          run.stat    reproducibility passed :  15574

   !----agrif check----!   
ORCA2 AGRIF vs ORCA2 NOAGRIF run.stat    unchanged  -    passed :  15574 15574

comment:41 Changed 3 years ago by techene

In 15581:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:42 Changed 3 years ago by techene

In 15586:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:43 Changed 3 years ago by techene

./sette.sh -At

Current code is : NEMO/branches/2021/dev_r14318_RK3_stage1 @ r15576  ( last change @ r15574 )

SETTE validation report generated for : 

       NEMO/branches/2021/dev_r14318_RK3_stage1 @ r15574+ (last changed revision)

       on X64_IRENE arch file


!!---------------1st pass------------------!!

   !----restart----!   
GYRE_PISCES                  run.stat    restartability  passed :  15574+
GYRE_PISCES                  tracer.stat restartability  passed :  15574+
ORCA2_ICE_PISCES             run.stat    restartability  passed :  15574+
ORCA2_ICE_PISCES             tracer.stat restartability  passed :  15574+
ORCA2_OFF_PISCES             tracer.stat restartability  passed :  15574+
AMM12                        run.stat    restartability  passed :  15574+
ORCA2_SAS_ICE                run.stat    restartability  passed :  15574+
AGRIF_DEMO                   run.stat    restartability  passed :  15574+
AGRIF_DEMO                   tracer.stat restartability  passed :  15574+
WED025                       run.stat    restartability  passed :  15574+
ISOMIP+                      run.stat    restartability  passed :  15574+
OVERFLOW                     run.stat    restartability  passed :  15574+
LOCK_EXCHANGE                run.stat    restartability  passed :  15574+
VORTEX                       run.stat    restartability  passed :  15574+
ICE_AGRIF                    run.stat    restartability  passed :  15574+
SWG                          run.stat    restartability  passed :  15574+

   !----repro----!   
GYRE_PISCES                  run.stat    reproducibility passed :  15574+
GYRE_PISCES                  tracer.stat reproducibility passed :  15574+
ORCA2_ICE_PISCES             run.stat    reproducibility passed :  15574+
ORCA2_ICE_PISCES             tracer.stat reproducibility passed :  15574+
ORCA2_OFF_PISCES             tracer.stat reproducibility passed :  15574+
AMM12                        run.stat    reproducibility passed :  15574+
ORCA2_SAS_ICE                run.stat    reproducibility passed :  15574+
ORCA2_ICE_OBS                run.stat    reproducibility passed :  15574+
AGRIF_DEMO                   run.stat    reproducibility passed :  15574+
AGRIF_DEMO                   tracer.stat reproducibility passed :  15574+
WED025                       run.stat    reproducibility passed :  15574+
ISOMIP+                      run.stat    reproducibility passed :  15574+
VORTEX                       run.stat    reproducibility passed :  15574+
ICE_AGRIF                    run.stat    reproducibility passed :  15574+
SWG                          run.stat    reproducibility passed :  15574+

comment:44 Changed 3 years ago by techene

In 15592:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:45 Changed 3 years ago by techene

In 15620:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:46 Changed 3 years ago by techene

In 15621:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:47 Changed 3 years ago by techene

In 15622:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:48 Changed 2 years ago by techene

In 15623:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:49 Changed 2 years ago by techene

In 15625:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:50 Changed 2 years ago by techene

In 15626:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:51 Changed 2 years ago by techene

In 15627:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:52 Changed 2 years ago by techene

In 15628:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:53 Changed 2 years ago by techene

In 15630:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:54 Changed 2 years ago by nemo

  • Milestone changed from IMMERSE 2021 to Unscheduled
Note: See TracTickets for help on using tickets.