--- MITgcm/pkg/generic_advdiff/gad_implicit_r.F 2004/01/08 16:13:23 1.3 +++ MITgcm/pkg/generic_advdiff/gad_implicit_r.F 2004/03/29 03:33:51 1.4 @@ -1,4 +1,4 @@ -C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/generic_advdiff/gad_implicit_r.F,v 1.3 2004/01/08 16:13:23 jmc Exp $ +C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/generic_advdiff/gad_implicit_r.F,v 1.4 2004/03/29 03:33:51 edhill Exp $ C $Name: $ #include "GAD_OPTIONS.h" @@ -11,14 +11,8 @@ I kappaRX, wVel, tracer, U gTracer, I bi, bj, myTime, myIter, myThid ) -C !DESCRIPTION: \bv -C *==========================================================* -C | S/R GAD_IMPLICIT_R -C | o Solve implicitly vertical advection & diffusion -C | for one tracer -C *==========================================================* -C *==========================================================* -C \ev +C !DESCRIPTION: +C Solve implicitly vertical advection and diffusion for one tracer. C !USES: IMPLICIT NONE @@ -29,19 +23,19 @@ #include "GRID.h" #include "GAD.h" -C !INPUT/OUTPUT PARAMETERS: -C == Routine Arguments == -C implicitAdvection :: if True, treat vertical advection implicitly -C advectionScheme :: advection scheme to use -C tracerIdentity :: Identifier for the tracer -C kappaRX :: 3-D array for vertical diffusion coefficient -C wVel :: vertical component of the velcity field -C tracer :: tracer field at current time step -C gTracer :: future tracer field -C bi,bj :: tile indices -C myTime :: current time -C myIter :: current iteration number -C myThid :: thread number +C !INPUT/OUTPUT PARAMETERS: +C == Routine Arguments == +C implicitAdvection :: if True, treat vertical advection implicitly +C advectionScheme :: advection scheme to use +C tracerIdentity :: Identifier for the tracer +C kappaRX :: 3-D array for vertical diffusion coefficient +C wVel :: vertical component of the velcity field +C tracer :: tracer field at current time step +C gTracer :: future tracer field +C bi,bj :: tile indices +C myTime :: current time +C myIter :: current iteration number +C myThid :: thread number LOGICAL implicitAdvection INTEGER advectionScheme INTEGER tracerIdentity @@ -53,20 +47,20 @@ _RL myTime INTEGER myIter, myThid -C !LOCAL VARIABLES: -C == Local variables == -C iMin,iMax,jMin,jMax :: computational domain -C i,j,k :: loop indices -C a5d :: 2nd lower diagonal of the pentadiagonal matrix -C b5d :: 1rst lower diagonal of the pentadiagonal matrix -C c5d :: main diagonal of the pentadiagonal matrix -C d5d :: 1rst upper diagonal of the pentadiagonal matrix -C e5d :: 2nd upper diagonal of the pentadiagonal matrix -C rTrans :: vertical volume transport at inteface k -C rTransKp1 :: vertical volume transport at inteface k+1 -C localTijk :: local copy of the tracer field (for Non-Lin Adv.Scheme) -C diagonalNumber :: number of non-zero diagonals in the matrix -C errCode :: > 0 if singular matrix +C !LOCAL VARIABLES: +C == Local variables == +C iMin,iMax,jMin,jMax :: computational domain +C i,j,k :: loop indices +C a5d :: 2nd lower diagonal of the pentadiagonal matrix +C b5d :: 1rst lower diagonal of the pentadiagonal matrix +C c5d :: main diagonal of the pentadiagonal matrix +C d5d :: 1rst upper diagonal of the pentadiagonal matrix +C e5d :: 2nd upper diagonal of the pentadiagonal matrix +C rTrans :: vertical volume transport at inteface k +C rTransKp1 :: vertical volume transport at inteface k+1 +C localTijk :: local copy of tracer (for Non-Lin Adv.Scheme) +C diagonalNumber :: number of non-zero diagonals in the matrix +C errCode :: > 0 if singular matrix INTEGER iMin,iMax,jMin,jMax INTEGER i,j,k INTEGER diagonalNumber, errCode