/[lmdze]/trunk/dyn3d/grid_change.f90
ViewVC logotype

Diff of /trunk/dyn3d/grid_change.f90

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

revision 82 by guez, Wed Mar 5 14:57:53 2014 UTC revision 265 by guez, Tue Mar 20 09:35:59 2018 UTC
# Line 1  Line 1 
1  module grid_change  module grid_change
2    
3    use dimens_m, only: iim, jjm    use dimensions, only: iim, jjm
4    
5    IMPLICIT NONE    IMPLICIT NONE
6    
# Line 28  contains Line 28  contains
28    function gr_fi_dyn(pfi)    function gr_fi_dyn(pfi)
29    
30      ! From gr_fi_dyn.F, version 1.1.1.1 2004/05/19 12:53:05      ! From gr_fi_dyn.F, version 1.1.1.1 2004/05/19 12:53:05
31      ! Passage d'un champ de la grille physique à la grille dynamique      ! Passage d'un champ de la grille physique \`a la grille dynamique
32    
33      use dimphy, only: klon      use dimphy, only: klon
34    
# Line 42  contains Line 42  contains
42    
43      if (size(pfi) /= klon) stop "gr_fi_dyn"      if (size(pfi) /= klon) stop "gr_fi_dyn"
44    
45      ! Traitement des pôles :      ! Traitement des p\^oles :
46      field(2:, 1) = pfi(1)      field(2:, 1) = pfi(1)
47      field(2:, jjm + 1) = pfi(klon)      field(2:, jjm + 1) = pfi(klon)
48      ! (We leave undefined elements in "field")      ! (We leave undefined elements in "field")
# Line 57  contains Line 57  contains
57    
58    !********************************************    !********************************************
59    
60    function gr_phy_write_2d(pfi)    function gr_dyn_phy(v)
61    
62      ! From phylmd/physiq.F, version 1.22 2006/02/20 09:38:28      ! Passage d'un champ 3D de la grille dynamique \`a la grille physique
     ! Transforme une variable de la grille physique à la grille d'écriture.  
     ! The grid for output files does not duplicate the first longitude  
     ! in the last longitude.  
63    
64      use dimphy, only: klon      use dimphy, only: klon
65    
66      REAL, intent(in):: pfi(:)      REAL, intent(in):: v(:, :, :) ! (iim + 1, jjm + 1, :)
67      real gr_phy_write_2d(iim, jjm + 1)      real gr_dyn_phy(klon, size(v, 3))
68    
69      ! Variable local to the procedure:      ! Local:
70      real field(iim, jjm + 1)      integer k
71    
72      !-----------------------------------------------------------------------      !-----------------------------------------------------------------------
73    
74      if (size(pfi) /= klon) stop "gr_phy_write_2d"      forall (k = 1:size(v, 3)) gr_dyn_phy(:, k) = pack(v(:, :, k), dyn_phy)
   
     ! Traitement des pôles :  
     field(2:, 1) = pfi(1)  
     field(2:, jjm + 1) = pfi(klon)  
   
     gr_phy_write_2d = unpack(pfi, dyn_phy(:iim, :), field)  
75    
76    END function gr_phy_write_2d    END function gr_dyn_phy
77    
78  end module grid_change  end module grid_change

Legend:
Removed from v.82  
changed lines
  Added in v.265

  ViewVC Help
Powered by ViewVC 1.1.21