/[MITgcm]/MITgcm/pkg/kpp/kpp_routines.F
ViewVC logotype

Diff of /MITgcm/pkg/kpp/kpp_routines.F

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

revision 1.30 by mlosch, Tue May 1 04:09:25 2007 UTC revision 1.31 by jmc, Thu May 3 21:36:26 2007 UTC
# Line 26  c*************************************** Line 26  c***************************************
26       O     , diffus       O     , diffus
27       U     , ghat       U     , ghat
28       O     , hbl       O     , hbl
29       I     , mytime, mythid )       I     , myTime, myIter, myThid )
30    
31  c-----------------------------------------------------------------------  c-----------------------------------------------------------------------
32  c  c
# Line 50  c--------------------------------------- Line 50  c---------------------------------------
50  #include "KPP_PARAMS.h"  #include "KPP_PARAMS.h"
51    
52  c input  c input
53  c     myTime           - current time in simulation  c   myTime :: Current time in simulation
54  c     myThid           - thread number for this instance of the routine  c   myIter :: Current iteration number in simulation
55    c   myThid :: My Thread Id. number
56  c     kmtj   (imt)     - number of vertical layers on this row  c     kmtj   (imt)     - number of vertical layers on this row
57  c     msk    (imt)     - surface mask (=1 if water, =0 otherwise)  c     msk    (imt)     - surface mask (=1 if water, =0 otherwise)
58  c     shsq   (imt,Nr)  - (local velocity shear)^2                     ((m/s)^2)  c     shsq   (imt,Nr)  - (local velocity shear)^2                     ((m/s)^2)
# Line 71  c     note: there is a conversion from 2 Line 72  c     note: there is a conversion from 2
72  c           e.g., hbl(sNx,sNy) -> hbl(imt),  c           e.g., hbl(sNx,sNy) -> hbl(imt),
73  c           where hbl(i,j) -> hbl((j-1)*sNx+i)  c           where hbl(i,j) -> hbl((j-1)*sNx+i)
74    
75        _RL     mytime        _RL     myTime
76        integer mythid        integer myIter
77          integer myThid
78        integer kmtj (imt   )        integer kmtj (imt   )
79        _RL shsq     (imt,Nr)        _RL shsq     (imt,Nr)
80        _RL dvsq     (imt,Nr)        _RL dvsq     (imt,Nr)
# Line 173  c--------------------------------------- Line 175  c---------------------------------------
175       I     , dvsq, dbloc, Ritop, ustar, bo, bosol, coriol       I     , dvsq, dbloc, Ritop, ustar, bo, bosol, coriol
176       I     , ikppkey       I     , ikppkey
177       O     , hbl, bfsfc, stable, casea, kbl, Rib, sigma       O     , hbl, bfsfc, stable, casea, kbl, Rib, sigma
178       I     , mytime, mythid )       I     , myTime, myIter, myThid )
179    
180  CADJ STORE hbl,bfsfc,stable,casea,kbl = comlev1_kpp, key = ikppkey  CADJ STORE hbl,bfsfc,stable,casea,kbl = comlev1_kpp, key = ikppkey
181    
# Line 184  c--------------------------------------- Line 186  c---------------------------------------
186        call blmix (        call blmix (
187       I       ustar, bfsfc, hbl, stable, casea, diffus, kbl       I       ustar, bfsfc, hbl, stable, casea, diffus, kbl
188       O     , dkm1, blmc, ghat, sigma, ikppkey       O     , dkm1, blmc, ghat, sigma, ikppkey
189       I     , mythid )       I     , myThid )
190  cph(  cph(
191  CADJ STORE dkm1,blmc,ghat = comlev1_kpp, key = ikppkey  CADJ STORE dkm1,blmc,ghat = comlev1_kpp, key = ikppkey
192  CADJ STORE hbl, kbl, diffus, casea = comlev1_kpp, key = ikppkey  CADJ STORE hbl, kbl, diffus, casea = comlev1_kpp, key = ikppkey
# Line 198  c--------------------------------------- Line 200  c---------------------------------------
200       I       dkm1, hbl, kbl, diffus, casea       I       dkm1, hbl, kbl, diffus, casea
201       U     , ghat       U     , ghat
202       O     , blmc       O     , blmc
203       I     , mythid )       I     , myThid )
204    
205  cph(  cph(
206  cph avoids recomp. of enhance  cph avoids recomp. of enhance
# Line 245  c*************************************** Line 247  c***************************************
247       I     , dvsq, dbloc, Ritop, ustar, bo, bosol, coriol       I     , dvsq, dbloc, Ritop, ustar, bo, bosol, coriol
248       I     , ikppkey       I     , ikppkey
249       O     , hbl, bfsfc, stable, casea, kbl, Rib, sigma       O     , hbl, bfsfc, stable, casea, kbl, Rib, sigma
250       I     , mytime, mythid )       I     , myTime, myIter, myThid )
251    
252  c     the oceanic planetary boundary layer depth, hbl, is determined as  c     the oceanic planetary boundary layer depth, hbl, is determined as
253  c     the shallowest depth where the bulk Richardson number is  c     the shallowest depth where the bulk Richardson number is
# Line 275  c Line 277  c
277    
278  c input  c input
279  c------  c------
280  c myTime    : current time in simulation  c   myTime :: Current time in simulation
281  c myThid    : thread number for this instance of the routine  c   myIter :: Current iteration number in simulation
282    c   myThid :: My Thread Id. number
283  c kmtj      : number of vertical layers  c kmtj      : number of vertical layers
284  c dvsq      : (velocity shear re sfc)^2             ((m/s)^2)  c dvsq      : (velocity shear re sfc)^2             ((m/s)^2)
285  c dbloc     : local delta buoyancy across interfaces  (m/s^2)  c dbloc     : local delta buoyancy across interfaces  (m/s^2)
# Line 287  c ustar     : surface friction velocity Line 290  c ustar     : surface friction velocity
290  c bo        : surface turbulent buoyancy forcing    (m^2/s^3)  c bo        : surface turbulent buoyancy forcing    (m^2/s^3)
291  c bosol     : radiative buoyancy forcing            (m^2/s^3)  c bosol     : radiative buoyancy forcing            (m^2/s^3)
292  c coriol    : Coriolis parameter                        (1/s)  c coriol    : Coriolis parameter                        (1/s)
293        _RL     mytime        _RL     myTime
294        integer mythid        integer myIter
295          integer myThid
296        integer kmtj(imt)        integer kmtj(imt)
297        _RL dvsq    (imt,Nr)        _RL dvsq    (imt,Nr)
298        _RL dbloc   (imt,Nr)        _RL dbloc   (imt,Nr)
# Line 362  c     compute bfsfc = sw fraction at hbf Line 366  c     compute bfsfc = sw fraction at hbf
366           end do           end do
367  CADJ store worka = comlev1_kpp_k, key = kkppkey  CADJ store worka = comlev1_kpp_k, key = kkppkey
368           call SWFRAC(           call SWFRAC(
369       I        imt, hbf,       I       imt, hbf,
370       I        mytime, mythid,       U       worka,
371       U        worka )       I       myTime, myIter, myThid )
372  CADJ store worka = comlev1_kpp_k, key = kkppkey  CADJ store worka = comlev1_kpp_k, key = kkppkey
373    
374    
# Line 465  c--------------------------------------- Line 469  c---------------------------------------
469  CADJ store worka = comlev1_kpp  CADJ store worka = comlev1_kpp
470  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)
471        call SWFRAC(        call SWFRAC(
472       I     imt, minusone,       I       imt, minusone,
473       I     mytime, mythid,       U       worka,
474       U     worka )       I       myTime, myIter, myThid )
475  CADJ store worka = comlev1_kpp  CADJ store worka = comlev1_kpp
476  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)
477    
# Line 538  CADJ store worka = comlev1_kpp Line 542  CADJ store worka = comlev1_kpp
542  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)
543        call SWFRAC(        call SWFRAC(
544       I     imt, minusone,       I     imt, minusone,
545       I     mytime, mythid,       U     worka,
546       U     worka )       I     myTime, myIter, myThid )
547  CADJ store worka = comlev1_kpp  CADJ store worka = comlev1_kpp
548  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)  CADJ &   , key = ikppkey, shape = (/ (sNx+2*OLx)*(sNy+2*OLy) /)
549    
# Line 671  c--------------------------------------- Line 675  c---------------------------------------
675  c*************************************************************************  c*************************************************************************
676    
677        subroutine Ri_iwmix (        subroutine Ri_iwmix (
678       I       kmtj, shsq, dbloc, dblocSm       I       kmtj, shsq, dbloc, dblocSm,
679       I     , diffusKzS, diffusKzT       I       diffusKzS, diffusKzT,
680       I     , ikppkey       I       ikppkey,
681       O     , diffus )       O       diffus,
682         I       myThid )
683    
684  c     compute interior viscosity diffusivity coefficients due  c     compute interior viscosity diffusivity coefficients due
685  c     to shear instability (dependent on a local Richardson number),  c     to shear instability (dependent on a local Richardson number),
# Line 695  c     dbloc  (imt,Nr)      local delta b Line 700  c     dbloc  (imt,Nr)      local delta b
700  c     dblocSm(imt,Nr)      horizontally smoothed dbloc              (m/s^2)  c     dblocSm(imt,Nr)      horizontally smoothed dbloc              (m/s^2)
701  c     diffusKzS(imt,Nr)- background vertical diffusivity for scalars    (m^2/s)  c     diffusKzS(imt,Nr)- background vertical diffusivity for scalars    (m^2/s)
702  c     diffusKzT(imt,Nr)- background vertical diffusivity for theta      (m^2/s)  c     diffusKzT(imt,Nr)- background vertical diffusivity for theta      (m^2/s)
703    c     myThid :: My Thread Id. number
704        integer kmtj (imt)        integer kmtj (imt)
705        _RL shsq     (imt,Nr)        _RL shsq     (imt,Nr)
706        _RL dbloc    (imt,Nr)        _RL dbloc    (imt,Nr)
# Line 702  c     diffusKzT(imt,Nr)- background vert Line 708  c     diffusKzT(imt,Nr)- background vert
708        _RL diffusKzS(imt,Nr)        _RL diffusKzS(imt,Nr)
709        _RL diffusKzT(imt,Nr)        _RL diffusKzT(imt,Nr)
710        integer ikppkey        integer ikppkey
711          integer myThid
712    
713  c output  c output
714  c     diffus(imt,0:Nrp1,1)  vertical viscosivity coefficient        (m^2/s)  c     diffus(imt,0:Nrp1,1)  vertical viscosivity coefficient        (m^2/s)
# Line 1010  c*************************************** Line 1017  c***************************************
1017        subroutine blmix (        subroutine blmix (
1018       I       ustar, bfsfc, hbl, stable, casea, diffus, kbl       I       ustar, bfsfc, hbl, stable, casea, diffus, kbl
1019       O     , dkm1, blmc, ghat, sigma, ikppkey       O     , dkm1, blmc, ghat, sigma, ikppkey
1020       I     , mythid )       I     , myThid )
1021    
1022  c     mixing coefficients within boundary layer depend on surface  c     mixing coefficients within boundary layer depend on surface
1023  c     forcing and the magnitude and gradient of interior mixing below  c     forcing and the magnitude and gradient of interior mixing below

Legend:
Removed from v.1.30  
changed lines
  Added in v.1.31

  ViewVC Help
Powered by ViewVC 1.1.22