Ignore:
Timestamp:
Mar 12, 2010, 5:19:12 PM (15 years ago)
Author:
Laurent Fairhead
Message:

Changes made in r1293 are integrated into the trunk
Start files are identical between r1293 and this version


Les modifications de la r1293 sont intégrées à la trunk
Les fichiers start et startphy sont identiques entre la version 1293 et celle-ci

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/dyn3d/startvar.F90

    r1319 r1323  
    2020!
    2121!  - A 1D variable on the physical grid :
    22 !    CALL startget(varname, iml, jml,  lon_in,  lat_in,  nbindex,              &
     22!    CALL startget_phys1d((varname, iml, jml,  lon_in,  lat_in,  nbindex,              &
    2323!           champ, val_exp,      jml2, lon_in2, lat_in2, ibar )
    2424!
    2525!  - A 2D variable on the dynamical grid :
    26 !    CALL startget(varname, iml, jml,  lon_in,  lat_in,                        &
     26!    CALL startget_phys2d(varname, iml, jml,  lon_in,  lat_in,                        &
    2727!           champ, val_exp,      jml2, lon_in2, lat_in2, ibar )             
    2828!
    2929!  - A 3D variable on the dynamical grid :
    30 !    CALL startget(varname, iml, jml,  lon_in,  lat_in,  lml, pls, workvar,    &
     30!    CALL startget_dyn((varname, iml, jml,  lon_in,  lat_in,  lml, pls, workvar,    &
    3131!           champ, val_exp,      jml2, lon_in2, lat_in2, ibar )
    3232!
     
    5454
    5555  PRIVATE
    56   PUBLIC startget
    57   INTERFACE startget
    58     MODULE PROCEDURE startget_phys1d, startget_phys2d, startget_dyn
    59   END INTERFACE
     56  PUBLIC startget_phys2d, startget_phys1d, startget_dyn
     57!  INTERFACE startget
     58!    MODULE PROCEDURE startget_phys1d, startget_phys2d, startget_dyn
     59!  END INTERFACE
    6060
    6161  REAL,    SAVE :: deg2rad,  pi
     
    254254!-------------------------------------------------------------------------------
    255255!
    256 SUBROUTINE startget_dyn(varname, iml, jml,  lon_in,  lat_in,  lml, pls,workvar,&
    257                      champ, val_exp,  jml2, lon_in2, lat_in2, ibar)
     256SUBROUTINE startget_dyn(varname,  lon_in,  lat_in, pls,workvar,&
     257                     champ, val_exp, lon_in2, lat_in2, ibar)
     258
     259      use assert_eq_m, only: assert_eq
     260
     261
    258262!-------------------------------------------------------------------------------
    259263! Comment:
     
    261265!-------------------------------------------------------------------------------
    262266! Arguments:
    263   CHARACTER(LEN=*),             INTENT(IN)    :: varname
    264   INTEGER,                      INTENT(IN)    :: iml, jml
    265   REAL, DIMENSION(iml),         INTENT(IN)    :: lon_in
    266   REAL, DIMENSION(jml),         INTENT(IN)    :: lat_in
    267   INTEGER,                      INTENT(IN)    :: lml
    268   REAL, DIMENSION(iml,jml,lml), INTENT(IN)    :: pls, workvar
    269   REAL, DIMENSION(iml,jml,lml), INTENT(INOUT) :: champ
    270   REAL,                         INTENT(IN)    :: val_exp
    271   INTEGER,                      INTENT(IN)    :: jml2
    272   REAL, DIMENSION(iml),         INTENT(IN)    :: lon_in2
    273   REAL, DIMENSION(jml2),        INTENT(IN)    :: lat_in2
     267  CHARACTER(LEN=*), INTENT(IN)    :: varname
     268  REAL, INTENT(IN)    :: lon_in(:) ! dim(iml)
     269  REAL, INTENT(IN)    :: lat_in(:) ! dim(jml)
     270  REAL, INTENT(IN)    :: pls(:, :, :) ! dim(iml, jml, lml)
     271  REAL, INTENT(IN)    :: workvar(:, :, :) ! dim(iml, jml, lml)
     272  REAL, INTENT(INOUT) :: champ(:, :, :) ! dim(iml, jml, lml)
     273  REAL, INTENT(IN)    :: val_exp
     274  REAL, INTENT(IN)    :: lon_in2(:) ! dim(iml)
     275  REAL, INTENT(IN)    :: lat_in2(:) ! dim(jml2)
    274276  LOGICAL,                      INTENT(IN)    :: ibar
    275277!-------------------------------------------------------------------------------
     
    280282#include "paramet.h"
    281283#include "comgeom2.h"
     284  INTEGER    :: iml, jml
     285  INTEGER    :: lml
     286  INTEGER    :: jml2
    282287  REAL, DIMENSION(:,:,:), POINTER :: v3d=>NULL()
    283288  CHARACTER(LEN=10) :: vname
     
    287292  NULLIFY(v3d)
    288293  IF(MINVAL(champ)==MAXVAL(champ).AND.MINVAL(champ)==val_exp) THEN
     294
     295      iml = assert_eq((/size(lon_in), size(pls, 1), size(workvar, 1), &
     296     &     size(champ, 1), size(lon_in2)/), "startget_dyn iml")
     297      jml = assert_eq(size(lat_in), size(pls, 2), size(workvar, 2),   &
     298     &     size(champ, 2), "startget_dyn jml")
     299      lml = assert_eq(size(pls, 3), size(workvar, 3), size(champ, 3), &
     300     &     "startget_dyn lml")
     301      jml2 = size(lat_in2)
    289302
    290303!--- READING UNALLOCATED FILES
     
    723736!
    724737!-------------------------------------------------------------------------------
     738
     739  USE inter_barxy_m, only: inter_barxy
     740
    725741! Arguments:
    726742  CHARACTER(LEN=*),       INTENT(IN)  :: vname
     
    750766               '---------------------------------------------------------------'
    751767    END IF
    752     CALL inter_barxy(ii, jj-1, lon, lat, vari, i1-1, j2, lon2, lat2, j1, vtmp)
     768    CALL inter_barxy(lon, lat(:jj-1), vari, lon2(:i1-1), lat2(:j2), vtmp)
    753769  ELSE
    754770    CALL grille_m   (ii, jj,   lon, lat, vari, i1-1, j1, lon1, lat1,     vtmp)
Note: See TracChangeset for help on using the changeset viewer.