/[lmdze]/trunk/libf/dyn3d/startdyn.f90
ViewVC logotype

Diff of /trunk/libf/dyn3d/startdyn.f90

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

revision 13 by guez, Fri Jul 25 19:59:34 2008 UTC revision 24 by guez, Wed Mar 3 13:23:49 2010 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 *, 'Going into flinget to extract the 3D field.'      print *, "varname = ", varname
     print *, "fid_dyn = ", fid_dyn, ", 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.'
179      CALL flinget(fid_dyn, varname, iml_dyn, jml_dyn, llm_dyn, ttm_dyn, 1, 1, &      CALL flinget(fid_dyn, varname, iml_dyn, jml_dyn, llm_dyn, ttm_dyn, 1, 1, &
180           var_ana3d)           var_ana3d)
181    
# 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) = SPLINT(ax, ay, yder, pls_in(ii, ij, il))
                   = SPLINT(ax, ay, yder, pls_in(ii, ij, il))  
200            END do            END do
201         ENDDO         ENDDO
202      ENDDO      ENDDO
203      start_inter_3d(iml, :, :) = start_inter_3d(1, :, :)      var3d(iml, :, :) = var3d(1, :, :)
204    
205    END function start_inter_3d    END subroutine start_inter_3d
206    
207  END MODULE startdyn  END MODULE startdyn

Legend:
Removed from v.13  
changed lines
  Added in v.24

  ViewVC Help
Powered by ViewVC 1.1.21