Changeset 3967 for LMDZ6/trunk/libf/dyn3dmem
- Timestamp:
- Jul 26, 2021, 11:24:59 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3dmem/dynetat0_loc.F90
r3043 r3967 225 225 END SUBROUTINE get_var1 226 226 227 228 227 SUBROUTINE get_var2(var,v) 229 228 CHARACTER(LEN=*), INTENT(IN) :: var 230 229 REAL, INTENT(OUT) :: v(:,:) 231 REAL, ALLOCATABLE :: w4(:,:,:,:) 230 REAL, ALLOCATABLE :: w4(:,:,:,:), w3(:,:,:) 232 231 INTEGER :: nn(4), dids(4), k, nd 232 233 233 234 CALL err(NF90_INQ_VARID(fID,var,vID),"inq",var) 234 ierr=NF90_INQUIRE_VARIABLE(fID,vID,dimids=dids,ndims=nd) 235 ierr=NF90_INQUIRE_VARIABLE(fID,vID,ndims=nd) 236 237 IF(nd==1) THEN 238 CALL err(NF90_GET_VAR(fID,vID,v),"get",var); RETURN 239 END IF 240 ierr=NF90_INQUIRE_VARIABLE(fID,vID,dimids=dids) 241 235 242 DO k=1,nd; ierr=NF90_INQUIRE_DIMENSION(fID,dids(k),len=nn(k)); END DO 236 ALLOCATE(w4(nn(1),nn(2),nn(3),nn(4))) 237 CALL err(NF90_GET_VAR(fID,vID,w4),"get",var) 238 v=RESHAPE(w4,[nn(1)*nn(2),nn(3)]); DEALLOCATE(w4) 243 244 SELECT CASE(nd) 245 CASE(3); ALLOCATE(w3(nn(1),nn(2),nn(3))) 246 CALL err(NF90_GET_VAR(fID,vID,w3),"get",var) 247 v=RESHAPE(w3,[nn(1)*nn(2),nn(3)]); DEALLOCATE(w3) 248 CASE(4); ALLOCATE(w4(nn(1),nn(2),nn(3),nn(4))) 249 CALL err(NF90_GET_VAR(fID,vID,w4),"get",var) 250 v=RESHAPE(w4,[nn(1)*nn(2),nn(3)]); DEALLOCATE(w4) 251 END SELECT 239 252 END SUBROUTINE get_var2 240 253
Note: See TracChangeset
for help on using the changeset viewer.