/[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.76 by dfer, Thu Oct 23 18:14:59 2008 UTC revision 1.77 by heimbach, Fri Feb 13 21:56:48 2009 UTC
# Line 135  C--   dummy statement to end declaration Line 135  C--   dummy statement to end declaration
135        IF ( useSEAICE ) THEN        IF ( useSEAICE ) THEN
136  # ifdef ALLOW_AUTODIFF_TAMC  # ifdef ALLOW_AUTODIFF_TAMC
137  cph-adj-test(  cph-adj-test(
138  CADJ STORE area,empmr,qsw,theta   = comlev1, key = ikey_dynamics  CADJ STORE area,empmr,qsw,theta   = comlev1, key = ikey_dynamics,
139    CADJ &     kind = isbyte
140  cph-adj-test)  cph-adj-test)
141  CADJ STORE atemp,aqh,precip    = comlev1, key = ikey_dynamics  CADJ STORE atemp,aqh,precip    = comlev1, key = ikey_dynamics,
142  CADJ STORE swdown,lwdown       = comlev1, key = ikey_dynamics  CADJ &     kind = isbyte
143    CADJ STORE swdown,lwdown       = comlev1, key = ikey_dynamics,
144    CADJ &     kind = isbyte
145  cph# ifdef EXF_READ_EVAP  cph# ifdef EXF_READ_EVAP
146  CADJ STORE evap                = comlev1, key = ikey_dynamics  CADJ STORE evap                = comlev1, key = ikey_dynamics,
147    CADJ &     kind = isbyte
148  cph# endif  cph# endif
149  CADJ STORE uvel,vvel           = comlev1, key = ikey_dynamics  CADJ STORE uvel,vvel           = comlev1, key = ikey_dynamics,
150    CADJ &     kind = isbyte
151  #  ifdef SEAICE_ALLOW_DYNAMICS  #  ifdef SEAICE_ALLOW_DYNAMICS
152  CADJ STORE uice                = comlev1, key = ikey_dynamics  CADJ STORE uice                = comlev1, key = ikey_dynamics,
153  CADJ STORE vice                = comlev1, key = ikey_dynamics  CADJ &     kind = isbyte
154    CADJ STORE vice                = comlev1, key = ikey_dynamics,
155    CADJ &     kind = isbyte
156  #   ifdef SEAICE_ALLOW_EVP  #   ifdef SEAICE_ALLOW_EVP
157  CADJ STORE seaice_sigma1       = comlev1, key = ikey_dynamics  CADJ STORE seaice_sigma1       = comlev1, key = ikey_dynamics,
158  CADJ STORE seaice_sigma2       = comlev1, key = ikey_dynamics  CADJ &     kind = isbyte
159  CADJ STORE seaice_sigma12      = comlev1, key = ikey_dynamics  CADJ STORE seaice_sigma2       = comlev1, key = ikey_dynamics,
160    CADJ &     kind = isbyte
161    CADJ STORE seaice_sigma12      = comlev1, key = ikey_dynamics,
162    CADJ &     kind = isbyte
163  #   endif  #   endif
164  #  endif  #  endif
165  #  ifdef SEAICE_SALINITY  #  ifdef SEAICE_SALINITY
166  CADJ STORE salt                = comlev1, key = ikey_dynamics  CADJ STORE salt                = comlev1, key = ikey_dynamics,
167    CADJ &     kind = isbyte
168  #  endif  #  endif
169  #  ifdef ATMOSPHERIC_LOADING  #  ifdef ATMOSPHERIC_LOADING
170  CADJ STORE pload               = comlev1, key = ikey_dynamics  CADJ STORE pload               = comlev1, key = ikey_dynamics,
171  CADJ STORE siceload            = comlev1, key = ikey_dynamics  CADJ &     kind = isbyte
172    CADJ STORE siceload            = comlev1, key = ikey_dynamics,
173    CADJ &     kind = isbyte
174  #  endif  #  endif
175  #  ifdef NONLIN_FRSURF  #  ifdef NONLIN_FRSURF
176  CADJ STORE recip_hfacc         = comlev1, key = ikey_dynamics  CADJ STORE recip_hfacc         = comlev1, key = ikey_dynamics,
177    CADJ &     kind = isbyte
178  #  endif  #  endif
179  # endif  # endif
180  # ifdef ALLOW_DEBUG  # ifdef ALLOW_DEBUG
# Line 177  CADJ STORE recip_hfacc         = comlev1 Line 191  CADJ STORE recip_hfacc         = comlev1
191  #endif /* ALLOW_SEAICE */  #endif /* ALLOW_SEAICE */
192    
193  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
194  CADJ STORE sst, sss           = comlev1, key = ikey_dynamics  CADJ STORE sst, sss           = comlev1, key = ikey_dynamics,
195  CADJ STORE qsw                = comlev1, key = ikey_dynamics  CADJ &     kind = isbyte
196    CADJ STORE qsw                = comlev1, key = ikey_dynamics,
197    CADJ &     kind = isbyte
198  # ifdef ALLOW_SEAICE  # ifdef ALLOW_SEAICE
199  CADJ STORE area               = comlev1, key = ikey_dynamics  CADJ STORE area               = comlev1, key = ikey_dynamics,
200    CADJ &     kind = isbyte
201  # endif  # endif
202  #endif  #endif
203    
# Line 216  C     shelf-ice ocean interface Line 233  C     shelf-ice ocean interface
233    
234  C--   Freeze water at the surface  C--   Freeze water at the surface
235  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
236  CADJ STORE theta = comlev1, key = ikey_dynamics  CADJ STORE theta = comlev1, key = ikey_dynamics,
237    CADJ &     kind = isbyte
238  #endif  #endif
239        IF ( allowFreezing ) THEN        IF ( allowFreezing ) THEN
240          CALL FREEZE_SURFACE(  myTime, myIter, myThid )          CALL FREEZE_SURFACE(  myTime, myIter, myThid )
# Line 340  c          rhoInSitu(i,j,k,bi,bj) = 0. Line 358  c          rhoInSitu(i,j,k,bi,bj) = 0.
358          jMax = sNy+OLy          jMax = sNy+OLy
359    
360  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
361  CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE theta(:,:,:,bi,bj) = comlev1_bibj, key=itdkey,
362  CADJ STORE salt (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     kind = isbyte
363    CADJ STORE salt (:,:,:,bi,bj) = comlev1_bibj, key=itdkey,
364    CADJ &     kind = isbyte
365  CADJ STORE totphihyd(:,:,:,bi,bj)  CADJ STORE totphihyd(:,:,:,bi,bj)
366  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
367    CADJ &     kind = isbyte
368  # ifdef ALLOW_KPP  # ifdef ALLOW_KPP
369  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE uvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey,
370  CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     kind = isbyte
371    CADJ STORE vvel (:,:,:,bi,bj) = comlev1_bibj, key=itdkey,
372    CADJ &     kind = isbyte
373  # endif  # endif
374  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
375    
# Line 374  C     needed here, will be used anyway i Line 397  C     needed here, will be used anyway i
397  #endif  #endif
398  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
399            IF ( fluidIsWater ) THEN            IF ( fluidIsWater ) THEN
400  CADJ STORE theta(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ STORE theta(:,:,k,bi,bj) = comlev1_bibj_k, key=kkey,
401  CADJ STORE salt(:,:,k,bi,bj)  = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     kind = isbyte
402    CADJ STORE salt(:,:,k,bi,bj)  = comlev1_bibj_k, key=kkey,
403    CADJ &     kind = isbyte
404  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
405  #ifdef ALLOW_DOWN_SLOPE  #ifdef ALLOW_DOWN_SLOPE
406            IF ( useDOWN_SLOPE ) THEN            IF ( useDOWN_SLOPE ) THEN
# Line 411  C         slope terms (e.g. GM/Redi tens Line 436  C         slope terms (e.g. GM/Redi tens
436       &         .OR. useSALT_PLUME .OR. doDiagsRho.GE.1 ) THEN       &         .OR. useSALT_PLUME .OR. doDiagsRho.GE.1 ) THEN
437              IF (k.GT.1) THEN              IF (k.GT.1) THEN
438  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
439  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,
440  CADJ STORE salt (:,:,k-1,bi,bj) = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ &     kind = isbyte
441  CADJ STORE rhokm1 (bi,bj)       = comlev1_bibj_k, key=kkey, byte=isbyte  CADJ STORE salt (:,:,k-1,bi,bj) = comlev1_bibj_k, key=kkey,
442    CADJ &     kind = isbyte
443    CADJ STORE rhokm1 (bi,bj)       = comlev1_bibj_k, key=kkey,
444    CADJ &     kind = isbyte
445  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
446               CALL FIND_RHO_2D(               CALL FIND_RHO_2D(
447       I                 iMin, iMax, jMin, jMax, k,       I                 iMin, iMax, jMin, jMax, k,
# Line 475  C--     end of diagnostic k loop (Nr:1) Line 503  C--     end of diagnostic k loop (Nr:1)
503    
504  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
505  CADJ STORE IVDConvCount(:,:,:,bi,bj)  CADJ STORE IVDConvCount(:,:,:,bi,bj)
506  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
507    CADJ &     kind = isbyte
508  #endif  #endif
509    
510  C--     Diagnose Mixed Layer Depth:  C--     Diagnose Mixed Layer Depth:
# Line 508  C       relaxation terms, etc. Line 537  C       relaxation terms, etc.
537  #endif  #endif
538  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
539  CADJ STORE EmPmR(:,:,bi,bj)  CADJ STORE EmPmR(:,:,bi,bj)
540  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
541    CADJ &     kind = isbyte
542  # ifdef EXACT_CONSERV  # ifdef EXACT_CONSERV
543  CADJ STORE PmEpR(:,:,bi,bj)  CADJ STORE PmEpR(:,:,bi,bj)
544  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
545    CADJ &     kind = isbyte
546  # endif  # endif
547  # ifdef NONLIN_FRSURF  # ifdef NONLIN_FRSURF
548  CADJ STORE hFac_surfC(:,:,bi,bj)  CADJ STORE hFac_surfC(:,:,bi,bj)
549  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
550    CADJ &     kind = isbyte
551  CADJ STORE recip_hFacC(:,:,:,bi,bj)  CADJ STORE recip_hFacC(:,:,:,bi,bj)
552  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
553    CADJ &     kind = isbyte
554  # endif  # endif
555  #endif  #endif
556          CALL EXTERNAL_FORCING_SURF(          CALL EXTERNAL_FORCING_SURF(
# Line 527  CADJ &     = comlev1_bibj, key=itdkey, b Line 560  CADJ &     = comlev1_bibj, key=itdkey, b
560  # ifdef EXACT_CONSERV  # ifdef EXACT_CONSERV
561  cph-test  cph-test
562  cphCADJ STORE PmEpR(:,:,bi,bj)  cphCADJ STORE PmEpR(:,:,bi,bj)
563  cphCADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  cphCADJ &     = comlev1_bibj, key=itdkey,
564    cphCADJ &     kind = isbyte
565  # endif  # endif
566  #endif  #endif
567    
568  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
569  cph needed for KPP  cph needed for KPP
570  CADJ STORE surfaceForcingU(:,:,bi,bj)  CADJ STORE surfaceForcingU(:,:,bi,bj)
571  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
572    CADJ &     kind = isbyte
573  CADJ STORE surfaceForcingV(:,:,bi,bj)  CADJ STORE surfaceForcingV(:,:,bi,bj)
574  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
575    CADJ &     kind = isbyte
576  CADJ STORE surfaceForcingS(:,:,bi,bj)  CADJ STORE surfaceForcingS(:,:,bi,bj)
577  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
578    CADJ &     kind = isbyte
579  CADJ STORE surfaceForcingT(:,:,bi,bj)  CADJ STORE surfaceForcingT(:,:,bi,bj)
580  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
581    CADJ &     kind = isbyte
582  CADJ STORE surfaceForcingTice(:,:,bi,bj)  CADJ STORE surfaceForcingTice(:,:,bi,bj)
583  CADJ &     = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     = comlev1_bibj, key=itdkey,
584    CADJ &     kind = isbyte
585  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
586    
587  #ifdef  ALLOW_KPP  #ifdef  ALLOW_KPP
# Line 620  cph storing here is needed only for one Line 659  cph storing here is needed only for one
659  cph define GM_BOLUS_ADVEC  cph define GM_BOLUS_ADVEC
660  cph keep it although TAF says you dont need to.  cph keep it although TAF says you dont need to.
661  cph but I've avoided the #ifdef for now, in case more things change  cph but I've avoided the #ifdef for now, in case more things change
662  CADJ STORE sigmaX(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE sigmaX(:,:,:)        = comlev1_bibj, key=itdkey,
663  CADJ STORE sigmaY(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte  CADJ &     kind = isbyte
664  CADJ STORE sigmaR(:,:,:)        = comlev1_bibj, key=itdkey, byte=isbyte  CADJ STORE sigmaY(:,:,:)        = comlev1_bibj, key=itdkey,
665    CADJ &     kind = isbyte
666    CADJ STORE sigmaR(:,:,:)        = comlev1_bibj, key=itdkey,
667    CADJ &     kind = isbyte
668  # endif  # endif
669  #endif /* ALLOW_AUTODIFF_TAMC */  #endif /* ALLOW_AUTODIFF_TAMC */
670    

Legend:
Removed from v.1.76  
changed lines
  Added in v.1.77

  ViewVC Help
Powered by ViewVC 1.1.22