Changeset 1323 for LMDZ4/trunk/libf/dyn3d/startvar.F90
- Timestamp:
- Mar 12, 2010, 5:19:12 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/dyn3d/startvar.F90
r1319 r1323 20 20 ! 21 21 ! - 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, & 23 23 ! champ, val_exp, jml2, lon_in2, lat_in2, ibar ) 24 24 ! 25 25 ! - 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, & 27 27 ! champ, val_exp, jml2, lon_in2, lat_in2, ibar ) 28 28 ! 29 29 ! - 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, & 31 31 ! champ, val_exp, jml2, lon_in2, lat_in2, ibar ) 32 32 ! … … 54 54 55 55 PRIVATE 56 PUBLIC startget 57 INTERFACE startget58 MODULE PROCEDURE startget_phys1d, startget_phys2d, startget_dyn59 END INTERFACE56 PUBLIC startget_phys2d, startget_phys1d, startget_dyn 57 ! INTERFACE startget 58 ! MODULE PROCEDURE startget_phys1d, startget_phys2d, startget_dyn 59 ! END INTERFACE 60 60 61 61 REAL, SAVE :: deg2rad, pi … … 254 254 !------------------------------------------------------------------------------- 255 255 ! 256 SUBROUTINE startget_dyn(varname, iml, jml, lon_in, lat_in, lml, pls,workvar,& 257 champ, val_exp, jml2, lon_in2, lat_in2, ibar) 256 SUBROUTINE 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 258 262 !------------------------------------------------------------------------------- 259 263 ! Comment: … … 261 265 !------------------------------------------------------------------------------- 262 266 ! 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) 274 276 LOGICAL, INTENT(IN) :: ibar 275 277 !------------------------------------------------------------------------------- … … 280 282 #include "paramet.h" 281 283 #include "comgeom2.h" 284 INTEGER :: iml, jml 285 INTEGER :: lml 286 INTEGER :: jml2 282 287 REAL, DIMENSION(:,:,:), POINTER :: v3d=>NULL() 283 288 CHARACTER(LEN=10) :: vname … … 287 292 NULLIFY(v3d) 288 293 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) 289 302 290 303 !--- READING UNALLOCATED FILES … … 723 736 ! 724 737 !------------------------------------------------------------------------------- 738 739 USE inter_barxy_m, only: inter_barxy 740 725 741 ! Arguments: 726 742 CHARACTER(LEN=*), INTENT(IN) :: vname … … 750 766 '---------------------------------------------------------------' 751 767 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) 753 769 ELSE 754 770 CALL grille_m (ii, jj, lon, lat, vari, i1-1, j1, lon1, lat1, vtmp)
Note: See TracChangeset
for help on using the changeset viewer.