next up previous
Next: b3dgrid.F Up: The Proudman Oceanographic Laboratory Previous: advset.F

Subsections


b3ddbg.F


subroutine b3ddbg(text)

Description

Writes debugging information. Writes the state of most variables for the single point defined by global co-ordinates (ig,jd,kg) defined in the parameters.dat file, local co-ordinates (id,jd,kd) to the debugging channel, ludbg.

Subroutine Arguments

text labels each line of output.

Local variables

fixed Character variable to write the state of variables

Logical units

10
10+myinst when processes are less than20

Order of Things

  1. first find if the process is the debugging process and if the debugging point is within it
  2. copy text to a fixed length variable for output
  3. write all variables

Called By

advect_sca.F
advect_vel.F
b3dinit.F
b3drun.F
baroc.F
barot.F
bcalcP.F
chkpnt.F
endstep.F

Options - Logical

debugger true if in the debugging processor.

Options - Compiler

-DDEBUG switch on or off this debuggin subroutine

Known Issues

this option slows the model as its writing every time step


subroutine dbginit

Description

Initialise logical units and formats for debugging

Subroutine Arguments

none

Local variables

i

Global variables changed

none

Logical units

10
10+myinst when processes are less than20

Order of Things

  1. Set process for debugging.
  2. Set the logical unit for debugging information.
  3. Set formats for debugging output.

Calls

none

Called By

b3drun.F

Options - Logical

none

Options - Compiler

none

Known Issues

none


subroutine dbginit2

Description

Sets the debugging process to the owner of the debugging point. Monitor information about the partitioning for all processes.

Subroutine Arguments

none

Local variables

i,j
ierr,ierror error flags
ihalo,ip2,iproc,irecv,isend,ndtot,nr,nrtot,ns,nstot,dirr,dirs,procr,procs parallel variables
isrcs,jsrcs,idess,jdess,nxs,nys,isrcr,jsrcr,idesr,jdesr,nxr,nyr

Logical units

10
10+myinst

Order of Things

  1. Set which process(es) are to print debugging information.By default, only the one which owns the debugging point.
  2. Set local debugging coordinates.
  3. Monitor the debugging point.
  4. Monitor the communications lists.
  5. Receive the communications lists from each worker.
  6. Send the communications lists to the master.
  7. Monitor and check the communications lists on the master.
  8. Check for each send that there is a corresponding receiveand that the receive matches.
  9. Check for each receive that there is a corresponding send and that the send matches.
  10. Check that the send matches for all halo widths.
  11. Monitor the total number and size of receives.
  12. Report the total number of words sent and received across all processors.
  13. Flag an error if they do not match.
  14. Report error on master.

Calls

MPI_recv,MPI_isend
PVMfrecv,PVMfunpack,PVMfinitsend,PVMfpack,PVMfsend
copy1DI

Called By

b3dgrid.F

Options - Compiler

MPI for Message passing interface
PVM for PVM


next up previous
Next: b3dgrid.F Up: The Proudman Oceanographic Laboratory Previous: advset.F
The AMMP Project 2005-04-20