Changeset 13435


Ignore:
Timestamp:
09/25/12 09:40:27 (12 years ago)
Author:
Eric.Larour
Message:

CHG: Added new level of verbosity for autodiff mode.
Also updated Synchronize.sh to reflect new structure of m code, and
to stop outputting Verbose*.m files, which are not needed anymore since
we have stopped supporting the serial m-code.

Location:
issm/trunk-jpl/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/shared/Numerics/Synchronize.sh

    r12495 r13435  
    22#Synchronize Verbosity
    33#first remove existing files
    4 rm $ISSM_DIR/src/m/shared/Verb*.m
     4rm $ISSM_DIR/src/m/classes/Verb*.m
    55
    66echo "Synchronizing Verbosity levels..."
     
    5050        echo "$FILENAME -> 2^$POWER = $BINARY"
    5151
    52         #Add Verbosity Matlab file{{{
    53         cat <<END > $ISSM_DIR"/src/m/shared/"$(echo $FILENAME".m")
    54 function bool=$(echo $FILENAME)()
    55 %$(echo $FILENAME | awk {'print toupper($1)'}) - Return true if $(echo $LEVELNAME | awk {'print tolower($1)'}) level is activated
    56 %
    57 %   WARNING: DO NOT MODIFY THIS FILE
    58 %            this file has been automatically generated by src/c/shared/Numerics/Synchronize.sh
    59 %            Please read src/c/shared/Numerics/README for more information
    60 %
    61 %   Usage:
    62 %      bool=$FILENAME()
    63 
    64 bool=logical(bitand(GetVerbosityLevel(),$BINARY));
    65 END
    66         #}}}
    6752        #Add case to verbose.m FIELDS{{{
    6853        if [ $i -eq 1 ]; then cat <<END >> FIELDS
     
    135120void SetVerbosityLevel(int level){
    136121
    137         if(level<0) _error2_("vebosity level should be a positive integer (user provided " << level << ")");
     122        if(level<0) _error_("vebosity level should be a positive integer (user provided " << level << ")");
    138123
    139124        verbositylevel = level;
  • issm/trunk-jpl/src/c/shared/Numerics/Verbosity.cpp

    r13056 r13435  
    2828bool VerboseControl(void){return (GetVerbosityLevel() & 32);} /* 2^5*/
    2929bool VerboseQmu(void){return (GetVerbosityLevel() & 64);} /* 2^6*/
     30bool VerboseAutodiff(void){return (GetVerbosityLevel() & 128);} /* 2^7*/
    3031
    3132/*Verbosity Setup*/
     
    4142/*FUNCTION GetVerbosityLevel {{{*/
    4243int  GetVerbosityLevel(void){
    43 
    4444        _assert_(verbositylevel>=0);
    4545        return verbositylevel;
    46 
    4746}/*}}}*/
  • issm/trunk-jpl/src/c/shared/Numerics/Verbosity.h

    r6324 r13435  
    1414bool VerboseControl(void);
    1515bool VerboseQmu(void);
     16bool VerboseAutodiff(void);
    1617
    1718/*Setup Verbosity level*/
  • issm/trunk-jpl/src/m/classes/verbose.m

    r13020 r13435  
    99%      control     : control method
    1010%      qmu         : sensitivity analysis
     11%      autodiff    : AD analysis
    1112%
    1213%   Usage:
     
    2324                % {{{
    2425                %BEGINFIELDS
    25                 mprocessor  = false;
    26                 module      = false;
    27                 solution    = false;
    28                 solver      = false;
    29                 convergence = false;
    30                 control     = false;
    31                 qmu         = false;
     26                mprocessor=false;
     27                module=false;
     28                solution=false;
     29                solver=false;
     30                convergence=false;
     31                control=false;
     32                qmu=false;
     33                autodiff=false;
    3234                %ENDFIELDS
    3335                % }}}
     
    8385                if (verbose.control), binary=bitor(binary,32); end
    8486                if (verbose.qmu), binary=bitor(binary,64); end
     87                if (verbose.autodiff), binary=bitor(binary,128); end
    8588                %ENDVERB2BIN
    8689
     
    9093
    9194                %BEGINBIN2VERB
    92                 verbose.mprocessor =logical(bitand(binary, 1));
    93                 verbose.module     =logical(bitand(binary, 2));
    94                 verbose.solution   =logical(bitand(binary, 4));
    95                 verbose.solver     =logical(bitand(binary, 8));
    96                 verbose.convergence=logical(bitand(binary,16));
    97                 verbose.control    =logical(bitand(binary,32));
    98                 verbose.qmu        =logical(bitand(binary,64));
     95                if bitand(binary,1), verbose.mprocessor=true; else verbose.mprocessor=false; end
     96                if bitand(binary,2), verbose.module=true; else verbose.module=false; end
     97                if bitand(binary,4), verbose.solution=true; else verbose.solution=false; end
     98                if bitand(binary,8), verbose.solver=true; else verbose.solver=false; end
     99                if bitand(binary,16), verbose.convergence=true; else verbose.convergence=false; end
     100                if bitand(binary,32), verbose.control=true; else verbose.control=false; end
     101                if bitand(binary,64), verbose.qmu=true; else verbose.qmu=false; end
     102                if bitand(binary,128), verbose.autodiff=true; else verbose.autodiff=false; end
    99103                %ENDBIN2VERB
    100104
     
    115119                disp(sprintf('   %15s : %s','control',mat2str(verbose.control)));
    116120                disp(sprintf('   %15s : %s','qmu',mat2str(verbose.qmu)));
     121                disp(sprintf('   %15s : %s','autodiff',mat2str(verbose.autodiff)));
    117122                %ENDDISP
    118123
Note: See TracChangeset for help on using the changeset viewer.