Changeset 4245 for branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
- Timestamp:
- 2013-11-19T12:19:21+01:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_LOCEAN_CMCC_INGV_MERC_UKMO_2013/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r4205 r4245 479 479 !! INTERFACE iom_get 480 480 !!---------------------------------------------------------------------- 481 SUBROUTINE iom_g0d( kiomid, cdvar, pvar )481 SUBROUTINE iom_g0d( kiomid, cdvar, pvar, ktime ) 482 482 INTEGER , INTENT(in ) :: kiomid ! Identifier of the file 483 483 CHARACTER(len=*), INTENT(in ) :: cdvar ! Name of the variable 484 484 REAL(wp) , INTENT( out) :: pvar ! read field 485 ! 486 INTEGER :: idvar ! variable id 485 INTEGER , INTENT(in ), OPTIONAL :: ktime ! record number 486 ! 487 INTEGER :: idvar ! variable id 488 INTEGER :: idmspc ! number of spatial dimensions 489 INTEGER , DIMENSION(1) :: itime ! record number 490 CHARACTER(LEN=100) :: clinfo ! info character 491 CHARACTER(LEN=100) :: clname ! file name 492 CHARACTER(LEN=1) :: cldmspc ! 493 ! 494 itime = 1 495 IF( PRESENT(ktime) ) itime = ktime 496 ! 497 clname = iom_file(kiomid)%name 498 clinfo = ' iom_g0d, file: '//trim(clname)//', var: '//trim(cdvar) 487 499 ! 488 500 IF( kiomid > 0 ) THEN 489 501 idvar = iom_varid( kiomid, cdvar ) 490 502 IF( iom_file(kiomid)%nfid > 0 .AND. idvar > 0 ) THEN 503 idmspc = iom_file ( kiomid )%ndims( idvar ) 504 IF( iom_file(kiomid)%luld(idvar) ) idmspc = idmspc - 1 505 WRITE(cldmspc , fmt='(i1)') idmspc 506 IF( idmspc > 0 ) CALL ctl_stop( TRIM(clinfo), 'When reading to a 0D array, we do not accept data', & 507 & 'with 1 or more spatial dimensions: '//cldmspc//' were found.' , & 508 & 'Use ncwa -a to suppress the unnecessary dimensions' ) 491 509 SELECT CASE (iom_file(kiomid)%iolib) 492 CASE (jpioipsl ) ; CALL iom_ioipsl_get( kiomid, idvar, pvar )493 CASE (jpnf90 ) ; CALL iom_nf90_get( kiomid, idvar, pvar )510 CASE (jpioipsl ) ; CALL iom_ioipsl_get( kiomid, idvar, pvar, itime ) 511 CASE (jpnf90 ) ; CALL iom_nf90_get( kiomid, idvar, pvar, itime ) 494 512 CASE (jprstdimg) ; CALL iom_rstdimg_get( kiomid, idvar, pvar ) 495 513 CASE DEFAULT … … 656 674 ELSE 657 675 CALL ctl_stop( TRIM(clinfo), 'To keep iom lisibility, when reading a '//clrankpv//'D array,' , & 658 & 'we do not accept data with more than '//cldmspc//' spatial dimension', &676 & 'we do not accept data with '//cldmspc//' spatial dimensions', & 659 677 & 'Use ncwa -a to suppress the unnecessary dimensions' ) 660 678 ENDIF … … 768 786 769 787 IF( istop == nstop ) THEN ! no additional errors until this point... 770 IF(lwp) WRITE(numout,"(10x,' read ',a,' (rec: ',i 4,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name)788 IF(lwp) WRITE(numout,"(10x,' read ',a,' (rec: ',i6,') in ',a,' ok')") TRIM(cdvar), itime, TRIM(iom_file(kiomid)%name) 771 789 772 790 !--- overlap areas and extra hallows (mpp)
Note: See TracChangeset
for help on using the changeset viewer.