/[MITgcm]/MITgcm/model/src/do_oceanic_phys.F
ViewVC logotype

Diff of /MITgcm/model/src/do_oceanic_phys.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.64 by heimbach, Thu May 1 23:52:24 2008 UTC revision 1.73 by jmc, Thu Sep 25 14:52:25 2008 UTC
# Line 36  C     == Global variables === Line 36  C     == Global variables ===
36  #include "SIZE.h"  #include "SIZE.h"
37  #include "EEPARAMS.h"  #include "EEPARAMS.h"
38  #include "PARAMS.h"  #include "PARAMS.h"
 #include "DYNVARS.h"  
39  #include "GRID.h"  #include "GRID.h"
40    #include "DYNVARS.h"
41  #ifdef ALLOW_TIMEAVE  #ifdef ALLOW_TIMEAVE
42  #include "TIMEAVE_STATV.h"  #include "TIMEAVE_STATV.h"
43  #endif  #endif
# Line 90  C     bi, bj        :: tile indices Line 90  C     bi, bj        :: tile indices
90  C     i,j,k         :: loop indices  C     i,j,k         :: loop indices
91        _RL rhoKp1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL rhoKp1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
92        _RL rhoKm1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy)        _RL rhoKm1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
       _RL rhoK    (1-OLx:sNx+OLx,1-OLy:sNy+OLy)  
93        _RL sigmaX  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL sigmaX  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
94        _RL sigmaY  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL sigmaY  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
95        _RL sigmaR  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)        _RL sigmaR  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr)
# Line 119  C--   dummy statement to end declaration Line 118  C--   dummy statement to end declaration
118        doDiagsRho = 0        doDiagsRho = 0
119  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
120        IF ( useDiagnostics .AND. fluidIsWater ) THEN        IF ( useDiagnostics .AND. fluidIsWater ) THEN
121          IF ( DIAGNOSTICS_IS_ON('RHOANOSQ',myThid) .OR.          IF ( DIAGNOSTICS_IS_ON('WRHOMASS',myThid) )
122       &       DIAGNOSTICS_IS_ON('URHOMASS',myThid) .OR.       &       doDiagsRho = doDiagsRho + 1
123       &       DIAGNOSTICS_IS_ON('VRHOMASS',myThid) .OR.          IF ( DIAGNOSTICS_IS_ON('DRHODR  ',myThid) )
124       &       DIAGNOSTICS_IS_ON('WRHOMASS',myThid) .OR.       &       doDiagsRho = doDiagsRho + 2
125       &       DIAGNOSTICS_IS_ON('WRHOMASS',myThid) ) doDiagsRho = 2          IF ( DIAGNOSTICS_IS_ON('MXLDEPTH',myThid) )
126          IF ( doDiagsRho.EQ.0 .AND.       &       doDiagsRho = doDiagsRho + 4
      &       DIAGNOSTICS_IS_ON('MXLDEPTH',myThid) ) doDiagsRho = 1  
         IF ( doDiagsRho.EQ.0 .AND.  
      &       DIAGNOSTICS_IS_ON('DRHODR  ',myThid) ) doDiagsRho = 1  
127        ENDIF        ENDIF
128  #endif /* ALLOW_DIAGNOSTICS */  #endif /* ALLOW_DIAGNOSTICS */
129    
130    
131  #ifdef ALLOW_SEAICE  #ifdef ALLOW_SEAICE
132        IF ( useSEAICE ) THEN        IF ( useSEAICE ) THEN
133  # ifdef ALLOW_AUTODIFF_TAMC  # ifdef ALLOW_AUTODIFF_TAMC
134    cph-adj-test(
135    CADJ STORE area,empmr,qsw,theta   = comlev1, key = ikey_dynamics
136    cph-adj-test)
137  CADJ STORE atemp,aqh,precip    = comlev1, key = ikey_dynamics  CADJ STORE atemp,aqh,precip    = comlev1, key = ikey_dynamics
138  CADJ STORE swdown,lwdown       = comlev1, key = ikey_dynamics  CADJ STORE swdown,lwdown       = comlev1, key = ikey_dynamics
139  cph# ifdef EXF_READ_EVAP  cph# ifdef EXF_READ_EVAP
# Line 215  C--   Freeze water at the surface Line 215  C--   Freeze water at the surface
215  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
216  CADJ STORE theta = comlev1, key = ikey_dynamics  CADJ STORE theta = comlev1, key = ikey_dynamics
217  #endif  #endif
218        IF ( allowFreezing        IF ( allowFreezing ) THEN
      &                   .AND. .NOT. useSEAICE  
      &                   .AND. .NOT. useThSIce ) THEN  
219          CALL FREEZE_SURFACE(  myTime, myIter, myThid )          CALL FREEZE_SURFACE(  myTime, myIter, myThid )
220        ENDIF        ENDIF
221    
# Line 261  CHPF$ INDEPENDENT Line 259  CHPF$ INDEPENDENT
259            itdkey = (act1 + 1) + act2*max1            itdkey = (act1 + 1) + act2*max1
260       &                      + act3*max1*max2       &                      + act3*max1*max2
261       &                      + act4*max1*max2*max3       &                      + act4*max1*max2*max3
262  #else  /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
263    #if ( !defined (ALLOW_AUTODIFF_TAMC) || !defined (ALLOW_KPP) )
264  C     if fluid is not water, by-pass find_rho, gmredi, surfaceForcing  C     if fluid is not water, by-pass find_rho, gmredi, surfaceForcing
265  C     and all vertical mixing schemes, but keep OBCS_CALC  C     and all vertical mixing schemes, but keep OBCS_CALC
266          IF ( fluidIsWater ) THEN          IF ( fluidIsWater ) THEN
267  #endif /* ALLOW_AUTODIFF_TAMC */  #endif
268    
269  C--   Set up work arrays with valid (i.e. not NaN) values  C--   Set up work arrays with valid (i.e. not NaN) values
270  C     These inital values do not alter the numerical results. They  C     These inital values do not alter the numerical results. They
# Line 273  C     just ensure that all memory refere Line 272  C     just ensure that all memory refere
272  C     point numbers. This prevents spurious hardware signals due to  C     point numbers. This prevents spurious hardware signals due to
273  C     uninitialised but inert locations.  C     uninitialised but inert locations.
274    
275    #ifdef ALLOW_AUTODIFF_TAMC
276          DO j=1-OLy,sNy+OLy          DO j=1-OLy,sNy+OLy
277           DO i=1-OLx,sNx+OLx           DO i=1-OLx,sNx+OLx
           rhoK   (i,j)   = 0. _d 0  
278            rhoKm1 (i,j)   = 0. _d 0            rhoKm1 (i,j)   = 0. _d 0
279            rhoKp1 (i,j)   = 0. _d 0            rhoKp1 (i,j)   = 0. _d 0
280           ENDDO           ENDDO
281          ENDDO          ENDDO
282    #endif /* ALLOW_AUTODIFF_TAMC */
283    
284          DO k=1,Nr          DO k=1,Nr
285           DO j=1-OLy,sNy+OLy           DO j=1-OLy,sNy+OLy
286            DO i=1-OLx,sNx+OLx            DO i=1-OLx,sNx+OLx
287  C This is currently also used by IVDC and Diagnostics  C This is currently used by GMRedi, IVDC, MXL-depth  and Diagnostics
288             sigmaX(i,j,k) = 0. _d 0             sigmaX(i,j,k) = 0. _d 0
289             sigmaY(i,j,k) = 0. _d 0             sigmaY(i,j,k) = 0. _d 0
290             sigmaR(i,j,k) = 0. _d 0             sigmaR(i,j,k) = 0. _d 0
291  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
292  cph all the following init. are necessary for TAF  cph all the following init. are necessary for TAF
293  cph although some of these are re-initialised later.  cph although some of these are re-initialised later.
294    c          rhoInSitu(i,j,k,bi,bj) = 0.
295             IVDConvCount(i,j,k,bi,bj) = 0.             IVDConvCount(i,j,k,bi,bj) = 0.
296  # ifdef ALLOW_GMREDI  # ifdef ALLOW_GMREDI
297             Kwx(i,j,k,bi,bj)  = 0. _d 0             Kwx(i,j,k,bi,bj)  = 0. _d 0
# Line 348  C--     Start of diagnostic loop Line 349  C--     Start of diagnostic loop
349  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
350  C? Patrick, is this formula correct now that we change the loop range?  C? Patrick, is this formula correct now that we change the loop range?
351  C? Do we still need this?  C? Do we still need this?
352  cph kkey formula corrected.  cph kkey formula corrected.
353  cph Needed for rhoK, rhoKm1, in the case useGMREDI.  cph Needed for rhoK, rhoKm1, in the case useGMREDI.
354           kkey = (itdkey-1)*Nr + k            kkey = (itdkey-1)*Nr + k
355  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
356    
357  C--       Calculate gradients of potential density for isoneutral  C--   Always compute density (stored in common block) here; even when it is not
358  C         slope terms (e.g. GM/Redi tensor or IVDC diffusivity)  C     needed here, will be used anyway in calc_phi_hyd (data flow easier this way)
           IF ( useGMRedi .OR. (k.GT.1 .AND. ivdc_kappa.NE.0.)  
      &         .OR. useSALT_PLUME .OR. doDiagsRho.GE.1 ) THEN  
359  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
360              IF ( debugLevel .GE. debLevB )            IF ( debugLevel .GE. debLevB )
361       &       CALL DEBUG_CALL('FIND_RHO',myThid)       &       CALL DEBUG_CALL('FIND_RHO_2D',myThid)
362  #endif  #endif
363  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
364  CADJ STORE theta(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ STORE theta(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte
365  CADJ STORE salt (:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ STORE salt(:,:,k,bi,bj)  = comlev1_bibj_k, key=kkey, byte=isbyte
366  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
367              CALL FIND_RHO(  #ifdef ALLOW_DOWN_SLOPE
368       I        bi, bj, iMin, iMax, jMin, jMax, k, k,            IF ( useDOWN_SLOPE ) THEN
369       I        theta, salt,              CALL DWNSLP_CALC_RHO(
370       O        rhoK,       I                  theta, salt,
371       I        myThid )       O                  rhoInSitu(1-OLx,1-OLy,k,bi,bj),
372         I                  k, bi, bj, myTime, myIter, myThid )
373              ELSE
374    #endif /* ALLOW_DOWN_SLOPE */
375                CALL FIND_RHO_2D(
376         I                iMin, iMax, jMin, jMax, k,
377         I                theta(1-OLx,1-OLy,k,bi,bj),
378         I                salt (1-OLx,1-OLy,k,bi,bj),
379         O                rhoInSitu(1-OLx,1-OLy,k,bi,bj),
380         I                k, bi, bj, myThid )
381    #ifdef ALLOW_DOWN_SLOPE
382              ENDIF
383    #endif /* ALLOW_DOWN_SLOPE */
384    
385    C--       Calculate gradients of potential density for isoneutral
386    C         slope terms (e.g. GM/Redi tensor or IVDC diffusivity)
387              IF ( useGMRedi .OR. (k.GT.1 .AND. ivdc_kappa.NE.0.)
388         &         .OR. useSALT_PLUME .OR. doDiagsRho.GE.1 ) THEN
389              IF (k.GT.1) THEN              IF (k.GT.1) THEN
390  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
391  CADJ STORE theta(:,:,k-1,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ STORE theta(:,:,k-1,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte
392  CADJ STORE salt (:,:,k-1,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ STORE salt (:,:,k-1,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte
393    CADJ STORE rhokm1 (bi,bj)       = comlev1_bibj_k, key=kkey, byte=isbyte
394  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
395               CALL FIND_RHO(               CALL FIND_RHO_2D(
396       I        bi, bj, iMin, iMax, jMin, jMax, k-1, k,       I                 iMin, iMax, jMin, jMax, k,
397       I        theta, salt,       I                 theta(1-OLx,1-OLy,k-1,bi,bj),
398       O        rhoKm1,       I                 salt (1-OLx,1-OLy,k-1,bi,bj),
399       I        myThid )       O                 rhoKm1,
400         I                 k-1, bi, bj, myThid )
401              ENDIF              ENDIF
402  #ifdef ALLOW_DEBUG  #ifdef ALLOW_DEBUG
403              IF ( debugLevel .GE. debLevB )              IF ( debugLevel .GE. debLevB )
# Line 389  CADJ STORE salt (:,:,k-1,bi,bj) = comlev Line 406  CADJ STORE salt (:,:,k-1,bi,bj) = comlev
406  cph Avoid variable aliasing for adjoint !!!  cph Avoid variable aliasing for adjoint !!!
407              DO j=jMin,jMax              DO j=jMin,jMax
408               DO i=iMin,iMax               DO i=iMin,iMax
409                rhoKp1(i,j) = rhoK(i,j)                rhoKp1(i,j) = rhoInSitu(i,j,k,bi,bj)
410               ENDDO               ENDDO
411              ENDDO              ENDDO
412              CALL GRAD_SIGMA(              CALL GRAD_SIGMA(
413       I             bi, bj, iMin, iMax, jMin, jMax, k,       I             bi, bj, iMin, iMax, jMin, jMax, k,
414       I             rhoK, rhoKm1, rhoKp1,       I             rhoInSitu(1-OLx,1-OLy,k,bi,bj), rhoKm1, rhoKp1,
415       O             sigmaX, sigmaY, sigmaR,       O             sigmaX, sigmaY, sigmaR,
416       I             myThid )       I             myThid )
417    #ifdef ALLOW_AUTODIFF_TAMC
418    #ifdef GMREDI_WITH_STABLE_ADJOINT
419    cgf zero out adjoint fields to stabilize pkg/gmredi adjoint
420    cgf -> cuts adjoint dependency from slope to state
421                CALL ZERO_ADJ_LOC( Nr, sigmaX, myThid)
422                CALL ZERO_ADJ_LOC( Nr, sigmaY, myThid)
423                CALL ZERO_ADJ_LOC( Nr, sigmaR, myThid)
424    #endif
425    #endif /* ALLOW_AUTODIFF_TAMC */
426            ENDIF            ENDIF
427    
428  C--       Implicit Vertical Diffusion for Convection  C--       Implicit Vertical Diffusion for Convection
# Line 408  c ==> should use sigmaR !!! Line 434  c ==> should use sigmaR !!!
434  #endif  #endif
435              CALL CALC_IVDC(              CALL CALC_IVDC(
436       I        bi, bj, iMin, iMax, jMin, jMax, k,       I        bi, bj, iMin, iMax, jMin, jMax, k,
437       I        rhoKm1, rhoK,       I        rhoKm1, rhoInSitu(1-OLx,1-OLy,k,bi,bj),
438       I        myTime, myIter, myThid)       I        myTime, myIter, myThid)
439            ENDIF            ENDIF
440    
441  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
442            IF ( doDiagsRho.GE.2 ) THEN            IF ( MOD(doDiagsRho,2).EQ.1 ) THEN
443              CALL DIAGS_RHO( k, bi, bj,              CALL DIAGS_RHO_L( k, bi, bj,
444       I                      rhoK, rhoKm1,       I                        rhoInSitu(1-OLx,1-OLy,k,bi,bj),
445       I                      myTime, myIter, myThid)       I                        rhoKm1, wVel,
446         I                        myTime, myIter, myThid )
447            ENDIF            ENDIF
448  #endif  #endif
449    
# Line 424  C--     end of diagnostic k loop (Nr:1) Line 451  C--     end of diagnostic k loop (Nr:1)
451          ENDDO          ENDDO
452    
453  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
454  CADJ STORE IVDConvCount(:,:,:,bi,bj)  CADJ STORE IVDConvCount(:,:,:,bi,bj)
455  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte
456  #endif  #endif
457    
458  C--     Diagnose Mixed Layer Depth:  C--     Diagnose Mixed Layer Depth:
459          IF ( useGMRedi .OR. doDiagsRho.GE.1 ) THEN          IF ( useGMRedi .OR. doDiagsRho.GE.4 ) THEN
460            CALL CALC_OCE_MXLAYER( rhoK, sigmaR,            CALL CALC_OCE_MXLAYER(
461       &              bi, bj, myTime, myIter, myThid )       I              rhoInSitu(1-OLx,1-OLy,1,bi,bj), sigmaR,
462         I              bi, bj, myTime, myIter, myThid )
463          ENDIF          ENDIF
464    
465  #ifdef ALLOW_SALT_PLUME  #ifdef ALLOW_SALT_PLUME
466          IF ( useSALT_PLUME ) THEN          IF ( useSALT_PLUME ) THEN
467            CALL SALT_PLUME_CALC_DEPTH( rhoK, sigmaR,            CALL SALT_PLUME_CALC_DEPTH(
468       &              bi, bj, myTime, myIter, myThid )       I              rhoInSitu(1-OLx,1-OLy,1,bi,bj), sigmaR,
469         I              bi, bj, myTime, myIter, myThid )
470          ENDIF          ENDIF
471  #endif /* ALLOW_SALT_PLUME */  #endif /* ALLOW_SALT_PLUME */
472    
473  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
474          IF ( doDiagsRho.GE.1 ) THEN          IF ( MOD(doDiagsRho,4).GE.2 ) THEN
475            CALL DIAGNOSTICS_FILL (sigmaR, 'DRHODR  ', 0, Nr,            CALL DIAGNOSTICS_FILL (sigmaR, 'DRHODR  ', 0, Nr,
476       &         2, bi, bj, myThid)       &         2, bi, bj, myThid)
477          ENDIF          ENDIF
# Line 557  C--     Compute GGL90 mixing coefficient Line 586  C--     Compute GGL90 mixing coefficient
586          ENDIF          ENDIF
587  #endif /* ALLOW_TIMEAVE */  #endif /* ALLOW_TIMEAVE */
588    
589  #ifdef  ALLOW_GMREDI  #ifdef ALLOW_GMREDI
590  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
591  # ifndef GM_EXCLUDE_CLIPPING  # ifndef GM_EXCLUDE_CLIPPING
592  cph storing here is needed only for one GMREDI_OPTIONS:  cph storing here is needed only for one GMREDI_OPTIONS:
# Line 577  C--     Calculate iso-neutral slopes for Line 606  C--     Calculate iso-neutral slopes for
606       &     CALL DEBUG_CALL('GMREDI_CALC_TENSOR',myThid)       &     CALL DEBUG_CALL('GMREDI_CALC_TENSOR',myThid)
607  #endif  #endif
608            CALL GMREDI_CALC_TENSOR(            CALL GMREDI_CALC_TENSOR(
 c    I             bi, bj, iMin, iMax, jMin, jMax,  
 c    I             sigmaX, sigmaY, sigmaR,  
 c    I             myThid )  
609       I             iMin, iMax, jMin, jMax,       I             iMin, iMax, jMin, jMax,
610       I             sigmaX, sigmaY, sigmaR,       I             sigmaX, sigmaY, sigmaR,
611       I             bi, bj, myTime, myIter, myThid )       I             bi, bj, myTime, myIter, myThid )
612  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
613          ELSE          ELSE
614            CALL GMREDI_CALC_TENSOR_DUMMY(            CALL GMREDI_CALC_TENSOR_DUMMY(
 c    I             bi, bj, iMin, iMax, jMin, jMax,  
 c    I             sigmaX, sigmaY, sigmaR,  
 c    I             myThid )  
615       I             iMin, iMax, jMin, jMax,       I             iMin, iMax, jMin, jMax,
616       I             sigmaX, sigmaY, sigmaR,       I             sigmaX, sigmaY, sigmaR,
617       I             bi, bj, myTime, myIter, myThid )       I             bi, bj, myTime, myIter, myThid )
618  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
619          ENDIF          ENDIF
620  #endif  /* ALLOW_GMREDI */  #endif /* ALLOW_GMREDI */
621    
622    #ifdef ALLOW_DOWN_SLOPE
623            IF ( useDOWN_SLOPE ) THEN
624    C--     Calculate Downsloping Flow for Down_Slope parameterization
625             IF ( usingPCoords ) THEN
626              CALL DWNSLP_CALC_FLOW(
627         I                bi, bj, kSurfC, rhoInSitu,
628         I                myTime, myIter, myThid )
629             ELSE
630              CALL DWNSLP_CALC_FLOW(
631         I                bi, bj, kLowC, rhoInSitu,
632         I                myTime, myIter, myThid )
633             ENDIF
634            ENDIF
635    #endif /* ALLOW_DOWN_SLOPE */
636    
637  #ifndef ALLOW_AUTODIFF_TAMC  #if ( !defined (ALLOW_AUTODIFF_TAMC) || !defined (ALLOW_KPP) )
638  C---  if fluid Is Water: end  C---  if fluid Is Water: end
639          ENDIF          ENDIF
640  #endif  #endif
# Line 626  C--   end bi,bj loops. Line 664  C--   end bi,bj loops.
664    
665  #ifdef ALLOW_DIAGNOSTICS  #ifdef ALLOW_DIAGNOSTICS
666        IF ( fluidIsWater .AND. useDiagnostics ) THEN        IF ( fluidIsWater .AND. useDiagnostics ) THEN
667            CALL DIAGS_RHO_G(
668         I                    rhoInSitu, uVel, vVel,
669         I                    myTime, myIter, myThid )
670          CALL DIAGS_OCEANIC_SURF_FLUX( myTime, myIter, myThid )          CALL DIAGS_OCEANIC_SURF_FLUX( myTime, myIter, myThid )
671        ENDIF        ENDIF
672        IF ( ivdc_kappa.NE.0 .AND. useDiagnostics ) THEN        IF ( ivdc_kappa.NE.0 .AND. useDiagnostics ) THEN
673          CALL DIAGNOSTICS_FILL( IVDConvCount,'CONVADJ ',          CALL DIAGNOSTICS_FILL( IVDConvCount, 'CONVADJ ',
674       &                         0, Nr, 0, 1, 1, myThid )       &                               0, Nr, 0, 1, 1, myThid )
675        ENDIF        ENDIF
676  #endif  #endif
677    

Legend:
Removed from v.1.64  
changed lines
  Added in v.1.73

  ViewVC Help
Powered by ViewVC 1.1.22