Debugging CRCM5 : Différence entre versions

Un article de Informaticiens département des sciences de la Terre et l'atmosphère
Aller à: navigation, charcher
m
m
Ligne 7: Ligne 7:
 
&nbsp;&nbsp; <span style="font-weight: bold;">make objloc&nbsp; OPTIL=0 &nbsp; FCOMPF=-debug </span>  
 
&nbsp;&nbsp; <span style="font-weight: bold;">make objloc&nbsp; OPTIL=0 &nbsp; FCOMPF=-debug </span>  
  
<br> Create the executables with:
+
<br> Create the executables with:  
  
 
&nbsp;&nbsp; <span style="font-weight: bold;">make gemclimdm_nompi&nbsp; OPTIL=0 &nbsp; DEBUG=-debug</span><br><span style="font-weight: bold;"> </span> &nbsp;&nbsp; <span style="font-weight: bold;">make gemclimntr_nompi&nbsp; OPTIL=0 &nbsp; DEBUG=-debug </span>  
 
&nbsp;&nbsp; <span style="font-weight: bold;">make gemclimdm_nompi&nbsp; OPTIL=0 &nbsp; DEBUG=-debug</span><br><span style="font-weight: bold;"> </span> &nbsp;&nbsp; <span style="font-weight: bold;">make gemclimntr_nompi&nbsp; OPTIL=0 &nbsp; DEBUG=-debug </span>  
Ligne 19: Ligne 19:
 
Go into the execution directory:  
 
Go into the execution directory:  
  
&nbsp;&nbsp;&nbsp; '''cd '''<span style="font-weight: bold;" class="moz-txt-slash"><span class="moz-txt-tag">/</span>home/${USER}/MODEL_EXEC_RUN/${TRUE_HOST}<span class="moz-txt-tag">/</span></span><span style="font-weight: bold;">${UM_EXEC_exp}</span>  
+
&nbsp;&nbsp;&nbsp; '''cd '''<span class="moz-txt-slash" style="font-weight: bold;"><span class="moz-txt-tag">/</span>home/${USER}/MODEL_EXEC_RUN/${TRUE_HOST}<span class="moz-txt-tag">/</span></span><span style="font-weight: bold;">${UM_EXEC_exp}</span>  
  
 
<br> 3a) If you want to debug the entry execute:  
 
<br> 3a) If you want to debug the entry execute:  
Ligne 28: Ligne 28:
 
Go in the entry working directory:  
 
Go in the entry working directory:  
  
'''&nbsp;&nbsp;&nbsp; cd RUNENT/work'''
+
'''&nbsp;&nbsp;&nbsp; cd RUNENT/work'''  
  
 
Execute the executable:  
 
Execute the executable:  
Ligne 40: Ligne 40:
 
<br> 3b) If you want to debug the model execute:  
 
<br> 3b) If you want to debug the model execute:  
  
&nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">.
+
&nbsp;&nbsp;&nbsp; <span style="font-weight: bold;">.&nbsp;      RUNMOD_upload/configexp.cfg </span>  
nbsp;&nbsp;&nbsp;      RUNMOD_upload/configexp.cfg </span>  
 
  
 
Go in the entry working directory:  
 
Go in the entry working directory:  

Version depuis le 19 de mars 2015 à 14:59

1) The grid
If you have general problems right away in more than one point of your domain I would you a little test grid: Either global 24x12 points or, if you need to run LAM, use a grid 60x60 points.
I usually use these test grids:

    /home/winger/gem/v_3.3.3.1/Config/Test/24x12
    /home/winger/gem/v_3.3.3.1/Config/Test/LAM_60x60


2) Debugging mode?
Do you want to use a debugger?
If yes, I suggest you compile all routines you want to debug in debugging mode by adding "OPTIL=0 FCOMPF=-debug":

   make routine.o  OPTIL=0   FCOMPF=-debug

or, if you want to compile all your routines or modifyed a *.cdk

   make objloc  OPTIL=0   FCOMPF=-debug


Create the executables with:

   make gemclimdm_nompi  OPTIL=0   DEBUG=-debug
   make gemclimntr_nompi  OPTIL=0   DEBUG=-debug


3) Executing just the executable Does your entry/model crash? If not, the easiest way is to start the simulation the normal way with:

    Um_lance

Then kill the entry/model job (the job you want to debug) once it started.

Go into the execution directory:

    cd /home/${USER}/MODEL_EXEC_RUN/${TRUE_HOST}/${UM_EXEC_exp}


3a) If you want to debug the entry execute:

    . RUNENT_upload/configexp.cfg

Go in the entry working directory:

    cd RUNENT/work

Execute the executable:

    ../bin/ATM_NTR.Abs

Or, if you want to use the debugger pgdbg:

    pgdbg -dbx ../bin/ATM_NTR.Abs  &


3b) If you want to debug the model execute:

    .  RUNMOD_upload/configexp.cfg

Go in the entry working directory:

    cd RUNMOD/work    

Execute the executable:

    ../bin/ATM_MOD.Abs

Or, if you want to use the debugger pgdbg:

    pgdbg -dbx ../bin/ATM_MOD.Abs  &