Opened 3 months ago

Last modified 7 weeks ago

#2695 new Defect

ISF & key_qco compatibility + BUG in hpg_isf

Reported by: gm Owned by: techene
Priority: normal Milestone:
Component: DYN Version: trunk
Severity: minor Keywords: hpg_isf
Cc: Branch review:
MP ready?: Task progress:

Description (last modified by techene)

— 1 — ISF & key_qco compatibility

There is not fundamental incompatibility between iceshelf and key_qco. Indeed, the potential issues was related to the variation of depth and e3 scale factors inside the ice-shelf.

For e3 scale factors, there is no issue, since they are masked when used on ice-shelf points.
For gdept, gdepw and gde3w their definition must be modified in domzgr_substitute.h90:

# if defined key_isf 
#   define  gdept(i,j,k,t) ((gdept_0(i,j,k)-risfdep(i,j))*(1._wp+r3t(i,j,t))+risfdep(i,j))
#   define  gdepw(i,j,k,t) ((gdepw_0(i,j,k)-risfdep(i,j))*(1._wp+r3t(i,j,t))+risfdep(i,j))
# else
#   define  gdept(i,j,k,t) (gdept_0(i,j,k)*(1._wp+r3t(i,j,t)))
#   define  gdepw(i,j,k,t) (gdepw_0(i,j,k)*(1._wp+r3t(i,j,t)))
# endif

NB: gdept(Kmm) has not a proper value inside the ice shelve (i.e. k < mikt) which is not an issue since gdept is masked when used inside the ice shelve.

Furthermore gdept_0 should have a proper value. Indeed currently gdept_0 is computed from a call to e3_to_depth routine. This lead to an error on gdept_0 in isf case since e3w_0(mikt) /= gdept_0(mikt) - gdept_0(mikt-1). Therefore, in domzgr:zgr_read we add :

#if defined key_qco && key_isf
            !                      ! QCO & ISF: adjust the calculation of T-point depth done in e3_to_depth subroutine
            DO_3D( 1, 1, 1, 1, 2, jpk )                     ! vertical sum at partial cell xxxx other level 
               IF( jk == (ji,jj) ) THEN                    ! first ocean point : partial cell
                  gdept_0(ji,jj,jk) = gdepw_0(ji,jj,jk  ) + 0.5_wp * e3w_0(ji,jj,jk)   ! = risfdep + 1/2 e3w_0(mikt)
               ELSE                                            ! other level 
                  gdept_0(ji,jj,jk) = gdept_0(ji,jj,jk-1) +          e3w_0(ji,jj,jk)
               ENDIF
            END_3D
#endif

— 2 — small BUG in hpg_isf (vvl case)

There is a bug in dynhpg:hpg_isf for open ocean grid point. The density anomaly (zrhdtop_oce) used to compute the pressure gradient at level jk=1 (ocean point without an ice shelf above) is risfdep which is equal to zero for a surface ocean point. It should be equal to gdept(:,:,1).

Bug Fix : replace

CALL eos( zts_top, risfdep, zrhdtop_oce )

by :

DO ji = 1, jpi

DO jj = 1, jpj

ikt = mikt(ji,jj)
zdep_top(ji,jj) = MAX( risfdep(ji,jj) , gdept(ji,jj,1,Kmm) )

END DO

END DO
CALL eos( zts_top, zdep_top, zrhdtop_oce )

Commit History (4)

ChangesetAuthorTimeChangeLog
15158techene2021-07-29T10:33:12+02:00

#2695 isf+qco add key_qco for WED025

15157techene2021-07-29T10:28:32+02:00

#2695 isf+qco OK in both ISOMIP+ and WED025 (pass sette with and without key_qco)

15155techene2021-07-28T16:56:45+02:00

#2695 gdep removal in eos CALL

15036techene2021-06-21T15:27:34+02:00

#2695 isf + qco OK in ISOMIP not in WED025

Change History (8)

comment:1 Changed 3 months ago by techene

In 15036:

#2695 isf + qco OK in ISOMIP not in WED025

comment:2 Changed 2 months ago by techene

  • Description modified (diff)

comment:3 Changed 2 months ago by techene

  • Description modified (diff)

comment:4 Changed 8 weeks ago by techene

In 15155:

#2695 gdep removal in eos CALL

comment:5 Changed 7 weeks ago by techene

In 15157:

#2695 isf+qco OK in both ISOMIP+ and WED025 (pass sette with and without key_qco)

comment:6 Changed 7 weeks ago by techene

In 15158:

#2695 isf+qco add key_qco for WED025

comment:7 Changed 7 weeks ago by techene

SETTE test with key_qco activated - AGRIF DEMO is not expected to pass

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

SETTE validation report generated for : 

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

       on X64_IRENE arch file


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

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

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

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

   !----result comparison check----!   

check result differences between :
VALID directory : /ccc/work/cont003/gen7451/techenes/NEMO_VALIDATION at rev 15158
and
REFERENCE directory : /ccc/work/cont003/gen7451/techenes/NEMO_VALIDATION at rev 14949

WGYRE_PISCES_ST       run.stat    files are DIFFERENT (results are different after  10  time steps) 
WGYRE_PISCES_ST       tracer.stat files are DIFFERENT (results are different after  17  time steps)  
WORCA2_ICE_PISCES_ST  run.stat    files are DIFFERENT (results are different after  10  time steps) 
WORCA2_ICE_PISCES_ST  tracer.stat files are DIFFERENT (results are different after  9  time steps)  
WORCA2_OFF_PISCES_ST  tracer.stat files are DIFFERENT (results are different after  68  time steps)  
WAMM12_ST             run.stat    files are identical  
WORCA2_SAS_ICE_ST     run.stat    files are identical  
WAGRIF_DEMO_ST        incomplete test
WWED025_ST            run.stat    files are DIFFERENT (results are different after  1  time steps) 
WISOMIP+_ST           run.stat    files are DIFFERENT (results are different after  1  time steps) 
WVORTEX_ST            run.stat    files are identical  
WICE_AGRIF_ST         run.stat    files are identical  
WOVERFLOW_ST          run.stat    files are identical  
WLOCK_EXCHANGE_ST     run.stat    files are identical  
WSWG_ST                      REFERENCE directory at 14949 is MISSING

comment:8 Changed 7 weeks ago by techene

SETTE tests with NO key_qco - AGRIF DEMO is not expected to pass

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

SETTE validation report generated for : 

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

       on X64_IRENE arch file


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

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

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

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

   !----result comparison check----!   

check result differences between :
VALID directory : /ccc/work/cont003/gen7451/techenes/NEMO_VALIDATION at rev 15158
and
REFERENCE directory : /ccc/work/cont003/gen7451/techenes/NEMO_VALIDATION at rev 14949

WGYRE_PISCES_ST       run.stat    files are DIFFERENT (results are different after  10  time steps) 
WGYRE_PISCES_ST       tracer.stat files are DIFFERENT (results are different after  17  time steps)  
WORCA2_ICE_PISCES_ST  run.stat    files are DIFFERENT (results are different after  1  time steps) 
WORCA2_ICE_PISCES_ST  tracer.stat files are DIFFERENT (results are different after  2  time steps)  
WORCA2_OFF_PISCES_ST  tracer.stat files are DIFFERENT (results are different after  68  time steps)  
WAMM12_ST             run.stat    files are DIFFERENT (results are different after  1  time steps) 
WORCA2_SAS_ICE_ST     run.stat    files are identical  
WAGRIF_DEMO_ST        run.stat    files are DIFFERENT (results are different after  1  time steps) 
WWED025_ST            run.stat    files are DIFFERENT (results are different after  1  time steps) 
WISOMIP+_ST           run.stat    files are identical  
WVORTEX_ST            run.stat    files are DIFFERENT (results are different after  1  time steps) 
WICE_AGRIF_ST         run.stat    files are identical  
WOVERFLOW_ST          run.stat    files are DIFFERENT (results are different after  1  time steps) 
WLOCK_EXCHANGE_ST     run.stat    files are DIFFERENT (results are different after  2  time steps) 
WSWG_ST                      REFERENCE directory at 14949 is MISSING

Note: See TracTickets for help on using tickets.