/[lmdze]/trunk/dyn3d/calfis.f
ViewVC logotype

Diff of /trunk/dyn3d/calfis.f

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

revision 154 by guez, Tue Jul 7 17:49:23 2015 UTC revision 162 by guez, Fri Jul 24 16:54:30 2015 UTC
# Line 4  module calfis_m Line 4  module calfis_m
4    
5  contains  contains
6    
7    SUBROUTINE calfis(ucov, vcov, teta, q, pk, phis, phi, w, dufi, dvfi, &    SUBROUTINE calfis(ucov, vcov, teta, q, p3d, pk, phis, phi, w, dufi, dvfi, &
8         dtetafi, dqfi, dayvrai, time, lafin)         dtetafi, dqfi, dayvrai, time, lafin)
9    
10      ! From dyn3d/calfis.F, version 1.3, 2005/05/25 13:10:09      ! From dyn3d/calfis.F, version 1.3, 2005/05/25 13:10:09
# Line 39  contains Line 39  contains
39      use grid_change, only: dyn_phy, gr_fi_dyn      use grid_change, only: dyn_phy, gr_fi_dyn
40      use nr_util, only: pi      use nr_util, only: pi
41      use physiq_m, only: physiq      use physiq_m, only: physiq
     use pressure_var, only: p3d, pls  
42    
43      REAL, intent(in):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm)      REAL, intent(in):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm)
44      ! covariant zonal velocity      ! covariant zonal velocity
# Line 53  contains Line 52  contains
52      REAL, intent(in):: q(:, :, :, :) ! (iim + 1, jjm + 1, llm, nqmx)      REAL, intent(in):: q(:, :, :, :) ! (iim + 1, jjm + 1, llm, nqmx)
53      ! mass fractions of advected fields      ! mass fractions of advected fields
54    
55        REAL, intent(in):: p3d(:, :, :) ! (iim + 1, jjm + 1, llm+1)
56        ! pressure at layer interfaces, in Pa
57        ! ("p3d(i, j, l)" is at longitude "rlonv(i)", latitude "rlatu(j)",
58        ! for interface "l")
59    
60      REAL, intent(in):: pk(:, :, :) ! (iim + 1, jjm + 1, llm)      REAL, intent(in):: pk(:, :, :) ! (iim + 1, jjm + 1, llm)
61      ! Exner = cp * (p / preff)**kappa      ! Exner = cp * (p / preff)**kappa
62    
# Line 104  contains Line 108  contains
108      ! 43. Température et pression milieu couche      ! 43. Température et pression milieu couche
109      DO l = 1, llm      DO l = 1, llm
110         pksurcp = pk(:, :, l) / cpp         pksurcp = pk(:, :, l) / cpp
111         pls(:, :, l) = preff * pksurcp**(1./ kappa)         play(:, l) = pack(preff * pksurcp**(1./ kappa), dyn_phy)
        play(:, l) = pack(pls(:, :, l), dyn_phy)  
112         t(:, l) = pack(teta(:, :, l) * pksurcp, dyn_phy)         t(:, l) = pack(teta(:, :, l) * pksurcp, dyn_phy)
113      ENDDO      ENDDO
114    

Legend:
Removed from v.154  
changed lines
  Added in v.162

  ViewVC Help
Powered by ViewVC 1.1.21