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.
Changeset 10687 for NEMO/branches/2019/fix_sette_ticket2239/sette_rpt.sh – NEMO

Ignore:
Timestamp:
2019-02-15T13:05:30+01:00 (5 years ago)
Author:
mathiot
Message:

first commit on sette changes suggested in ticket2239

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/fix_sette_ticket2239/sette_rpt.sh

    r10517 r10687  
    275275  fi 
    276276} 
     277function runcmpres(){ 
     278# 
     279# compare *.stat file with reference file from a previous sette test or previous version 
     280# store in NEMO_VALID_REF at revision NEMO_REV_REF 
     281# Compares end of stat files from each 
     282# 
     283  vdir=$1 
     284  nam=$2 
     285  vdirref=$3 
     286  dorvref=$4 
     287  pass=$5 
     288# 
     289  if [ -d $vdir/$nam ]; then 
     290    dorv=`ls -1rt $vdir/$nam/$mach/ | tail -1l ` 
     291    dorv=`echo $dorv | sed -e 's:.*/::'` 
     292    f1s=$vdir/$nam/$mach/$dorv/LONG/run.stat 
     293    f1t=$vdir/$nam/$mach/$dorv/LONG/tracer.stat 
     294    f2s=$vdirref/$nam/$mach/$dorvref/LONG/run.stat 
     295    f2t=$vdirref/$nam/$mach/$dorvref/LONG/tracer.stat 
     296    if  [ ! -f $f1s ] && [ ! -f $f1t ] ; then 
     297      printf "%-20s %s\n" $nam " incomplete test"; 
     298      return; 
     299    fi 
     300    if  [ ! -f $f2s ] && [ ! -f $f2t ] ; then 
     301      printf "%-20s %s\n" $nam " incomplete test"; 
     302      return; 
     303    fi 
     304# 
     305    done_oce=0 
     306 
     307    if  [ -f $f1s ] && [ -f $f2s ] ; then 
     308      cmp -s $f1s $f2s 
     309      if [ $? == 0 ]; then 
     310        if [ $pass == 0 ]; then 
     311          printf "%-20s %s %s\n" $nam  " run.stat    before/after are similar " 
     312        fi 
     313      else 
     314        printf "%-20s %s %s\n" $nam  " run.stat    before/after are DIFFERENT " 
     315# 
     316# Offer view of differences on the second pass 
     317# 
     318        if [ $pass == 1 ]; then 
     319          echo "<return> to view run.stat differences" 
     320          read y 
     321          sdiff f1.tmp$$ $f2s 
     322          done_oce=1 
     323          echo "<return> to continue" 
     324          read y 
     325        fi 
     326      fi 
     327    fi 
     328    # Check tracer.stat files (if they exist) 
     329# 
     330    if  [ -f $f1t ] && [ -f $f2t ] ; then 
     331      cmp -s $f1t $f2t 
     332      if [ $? == 0 ]; then 
     333        if [ $pass == 0 ]; then           
     334          printf "%-20s %s %s\n" $nam  " tracer.stat before/after are similar " 
     335        fi 
     336      else 
     337        printf "%-20s %s %s\n" $nam  " tracer.stat before/after are DIFFERENT " 
     338# 
     339# Offer view of differences on the second pass 
     340# 
     341        if [ $pass == 1 ]; then 
     342          echo "<return> to view tracer.stat differences" 
     343          read y 
     344          sdiff $f1t $f2t 
     345        fi 
     346      fi 
     347    fi 
     348  fi 
     349} 
    277350 
    278351function runtest(){ 
     
    296369    f1o=$vdir/$nam/$mach/$dorv/$rep1/ocean.output 
    297370    if  [ ! -f $f1o ] ; then 
    298       printf "%-27s %s %s\n" $nam " ocean.output is MISSING            : " $dorv 
     371      if [ $pass == 0 ]; then printf "%-27s %s %s\n" $nam " ocean.output is MISSING            : " $dorv ; fi 
    299372      return; 
    300373    else  
     
    312385    fi 
    313386  else 
    314     printf "%-27s %s %s\n" $nam  " directory is MISSING               : " $dorv 
     387    if [ $pass == 0 ]; then printf "%-27s %s %s\n" $nam  " directory is MISSING               : " $dorv ; fi 
    315388  fi 
    316389} 
     
    376449######################################################################################### 
    377450# 
    378   mach=`grep "COMPILER=" ./sette.sh | sed -e 's/COMPILER=//'` 
    379   NEMO_VALID=`grep "NEMO_VALIDATION_DIR=" ./param.cfg | sed -e 's/NEMO_VALIDATION_DIR=//'` 
    380   NEMO_VALID=`eval "echo $NEMO_VALID"` 
     451# LOAD param variable (COMPILER, NEMO_VALIDATION_DIR, SVN_CMD) 
     452  . ./param.cfg 
     453 
     454  mach=${COMPILER} 
     455  NEMO_VALID=${NEMO_VALIDATION_DIR} 
     456  NEMO_VALID_REF=${NEMO_VALIDATION_REF} 
     457  LANG=en_US 
    381458# 
    382459  if [ ! -d $NEMO_VALID ]; then 
     
    395472# Show current revision tag and branch name 
    396473# 
    397 cmd="svn" 
    398 [ ! -d "$MAIN_DIR/.svn" ] && cmd="git $cmd" 
    399 echo $cmd  
    400 echo "$MAIN_DIR/.svn" 
    401 lastchange=`$cmd info ${MAIN_DIR} | grep -i "Last Changed Rev:" | sed -e "s/ //g" | cut -d ":" -f 2` 
    402 revision=`$cmd info | grep Revision | cut -d ":" -f 2 | tr -d ' '` 
    403 branchname=`$cmd info | grep URL | rev | cut -d "/" -f 3 | rev` 
     474echo "" 
     475lastchange=`LC_MESSAGES=${LANG} ${SVN_CMD} info ${MAIN_DIR} | grep 'Last Changed Rev' | awk '{print $NF}'` 
     476revision=`LC_MESSAGES=${LANG} ${SVN_CMD} info ${MAIN_DIR} | grep 'Revision' | awk '{print $NF}'` 
     477branchname=`LC_MESSAGES=${LANG} ${SVN_CMD} info ${MAIN_DIR} | grep ^URL | awk -F ipsl/forge/projets/nemo/svn/ '{print $NF}'` 
    404478echo "SETTE validation report : $branchname @ r$revision  ( last change @ r$lastchange )" 
    405479# 
     
    450524 dir2=WAGRIF_DEMO_ST 
    451525 identictest $NEMO_VALID $dir1 $dir2 $pass  
     526# 
     527# before/after tests 
     528# 
     529 if [ $NEMO_VALID_REF != "/path/to/reference/sette/results" ]; then 
     530   echo '' 
     531   echo 'check result differences between :' 
     532   echo "$NEMO_VALID at rev $revision" 
     533   echo 'and' 
     534   echo "$NEMO_VALID_REF at rev $NEMO_REV_REF" 
     535   for repro_test in WGYRE_PISCES_ST WORCA2_ICE_PISCES_ST WORCA2_OFF_PISCES_ST WAMM12_ST WISOMIP_ST WORCA2_SAS_ICE_ST WAGRIF_DEMO_ST WSPITZ12_ST WISOMIP_ST WVORTEX_ST WICE_AGRIF_ST 
     536   do 
     537     runcmpres $NEMO_VALID $repro_test $NEMO_VALID_REF $NEMO_REV_REF $pass 
     538   done 
     539 else 
     540   echo '' 
     541   echo 'Result are not compare with any other revision. To do it please fill NEMO_VALID_REF and NEMO_REV_REF in param.cfg' 
     542   echo '' 
     543 fi 
    452544 
    453545done 
    454546# 
    455  
    456547exit 
Note: See TracChangeset for help on using the changeset viewer.