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

Diff of /trunk/dyn3d/startdyn.f

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

revision 20 by guez, Wed Oct 15 16:19:57 2008 UTC revision 23 by guez, Mon Dec 14 15:25:16 2009 UTC
# Line 136  CONTAINS Line 136  CONTAINS
136    
137    !********************************    !********************************
138    
139    function start_inter_3d(varname, lon_in2, lat_in2, pls_in)    subroutine start_inter_3d(varname, lon_in2, lat_in2, pls_in, var3d)
140    
141      ! This procedure gets a 3D variable from a file and does the      ! This procedure gets a 3D variable from a file and does the
142      ! interpolations needed.      ! interpolations needed.
# Line 150  CONTAINS Line 150  CONTAINS
150      CHARACTER(len=*), intent(in):: varname      CHARACTER(len=*), intent(in):: varname
151      REAL, intent(in):: lon_in2(:), lat_in2(:)      REAL, intent(in):: lon_in2(:), lat_in2(:)
152      REAL, intent(in):: pls_in(:, :, :)      REAL, intent(in):: pls_in(:, :, :)
153        REAL, intent(out):: var3d(:, :, :)
     REAL start_inter_3d(size(lon_in2), size(pls_in, 2), size(pls_in, 3))  
154    
155      ! LOCAL:      ! LOCAL:
156      INTEGER iml, jml, lml      INTEGER iml, jml, lml
# Line 167  CONTAINS Line 166  CONTAINS
166    
167      print *, "Call sequence information: start_inter_3d"      print *, "Call sequence information: start_inter_3d"
168    
169      iml = assert_eq(size(pls_in, 1), size(lon_in2), "start_inter_3d iml")      iml = assert_eq(size(pls_in, 1), size(lon_in2), size(var3d, 1), &
170      jml = size(pls_in, 2)           "start_inter_3d iml")
171      lml = size(pls_in, 3)      jml = assert_eq(size(pls_in, 2), size(var3d, 2), "start_inter_3d jml")
172        lml = assert_eq(size(pls_in, 3), size(var3d, 3), "start_inter_3d lml")
173    
174      print *, "iml = ", iml, ", jml = ", jml      print *, "iml = ", iml, ", jml = ", jml
175      print *, "fid_dyn = ", fid_dyn, ", varname = ", varname      print *, "varname = ", varname
176      print *, "iml_dyn = ", iml_dyn, ", jml_dyn = ", jml_dyn, &      print *, "iml_dyn = ", iml_dyn, ", jml_dyn = ", jml_dyn, &
177           ", llm_dyn = ", llm_dyn, ", ttm_dyn = ", ttm_dyn           ", llm_dyn = ", llm_dyn, ", ttm_dyn = ", ttm_dyn
178      print *, 'Going into flinget to extract the 3D field.'      print *, 'Going into flinget to extract the 3D field.'
# Line 196  CONTAINS Line 196  CONTAINS
196            ay(:) = var_tmp3d(ii, ij, llm_dyn:1:-1)            ay(:) = var_tmp3d(ii, ij, llm_dyn:1:-1)
197            yder(:) = SPLINE(ax, ay)            yder(:) = SPLINE(ax, ay)
198            do il=1, lml            do il=1, lml
199               start_inter_3d(ii, ij, il) &               var3d(ii, ij, il) &
200                    = SPLINT(ax, ay, yder, pls_in(ii, ij, il))                    = SPLINT(ax, ay, yder, pls_in(ii, ij, il))
201            END do            END do
202         ENDDO         ENDDO
203      ENDDO      ENDDO
204      start_inter_3d(iml, :, :) = start_inter_3d(1, :, :)      var3d(iml, :, :) = var3d(1, :, :)
205    
206    END function start_inter_3d    END subroutine start_inter_3d
207    
208  END MODULE startdyn  END MODULE startdyn

Legend:
Removed from v.20  
changed lines
  Added in v.23

  ViewVC Help
Powered by ViewVC 1.1.21