Changeset 911 for trunk/NEMO/OPA_SRC/IOM/iom.F90
- Timestamp:
- 2008-04-28T11:31:32+02:00 (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/IOM/iom.F90
r752 r911 6 6 !! History : 9.0 ! 05 12 (J. Belier) Original code 7 7 !! 9.0 ! 06 02 (S. Masson) Adaptation to NEMO 8 !! " ! 07 07 (D. Storkey) Changes to iom_gettime 8 9 !!-------------------------------------------------------------------- 9 10 !!gm caution add !DIR nec: improved performance to be checked as well as no result changes … … 646 647 647 648 648 SUBROUTINE iom_gettime( kiomid, cdvar, ptime)649 SUBROUTINE iom_gettime( kiomid, ptime, cdvar, kntime, cdunits, cdcalendar ) 649 650 !!-------------------------------------------------------------------- 650 651 !! *** SUBROUTINE iom_gettime *** … … 652 653 !! ** Purpose : read the time axis cdvar in the file 653 654 !!-------------------------------------------------------------------- 654 INTEGER , INTENT(in ) :: kiomid ! file Identifier 655 CHARACTER(len=*) , INTENT(in ) :: cdvar ! time axis name 656 REAL(wp), DIMENSION(:), INTENT( out) :: ptime ! the time axis 657 ! 655 INTEGER , INTENT(in ) :: kiomid ! file Identifier 656 REAL(wp), DIMENSION(:) , INTENT( out) :: ptime ! the time axis 657 CHARACTER(len=*), OPTIONAL , INTENT(in ) :: cdvar ! time axis name 658 INTEGER , OPTIONAL , INTENT( out) :: kntime ! number of times in file 659 CHARACTER(len=*), OPTIONAL , INTENT( out) :: cdunits ! units attribute of time coordinate 660 CHARACTER(len=*), OPTIONAL , INTENT( out) :: cdcalendar ! calendar attribute of 661 ! 662 INTEGER, DIMENSION(1) :: kdimsz 658 663 INTEGER :: idvar ! id of the variable 664 CHARACTER(LEN=32) :: tname ! local name of time coordinate 659 665 CHARACTER(LEN=100) :: clinfo ! info character 660 666 !--------------------------------------------------------------------- 661 667 ! 662 IF( kiomid > 0 ) THEN 663 clinfo = 'iom_gettime, file: '//trim(iom_file(kiomid)%name)//', var: '//trim(cdvar) 664 idvar = iom_varid( kiomid, cdvar ) 668 IF ( PRESENT(cdvar) ) THEN 669 tname = cdvar 670 ELSE 671 tname = iom_file(kiomid)%uldname 672 ENDIF 673 IF( kiomid > 0 ) THEN 674 clinfo = 'iom_gettime, file: '//trim(iom_file(kiomid)%name)//', var: '//trim(tname) 675 IF ( PRESENT(kntime) ) THEN 676 idvar = iom_varid( kiomid, tname, kdimsz = kdimsz ) 677 kntime = kdimsz(1) 678 ELSE 679 idvar = iom_varid( kiomid, tname ) 680 ENDIF 665 681 ! 666 682 ptime(:) = 0. ! default definition … … 670 686 IF( iom_file(kiomid)%dimsz(1,idvar) == size(ptime) ) THEN 671 687 SELECT CASE (iom_file(kiomid)%iolib) 672 CASE (jpioipsl ) ; CALL iom_ioipsl_gettime( kiomid, idvar, ptime )673 CASE (jpnf90 ) ; CALL iom_nf90_gettime( kiomid, idvar, ptime )688 CASE (jpioipsl ) ; CALL iom_ioipsl_gettime( kiomid, idvar, ptime, cdunits, cdcalendar ) 689 CASE (jpnf90 ) ; CALL iom_nf90_gettime( kiomid, idvar, ptime, cdunits, cdcalendar ) 674 690 CASE (jprstdimg) ; CALL ctl_stop( TRIM(clinfo)//' case IO library == jprstdimg not coded...' ) 675 691 CASE DEFAULT
Note: See TracChangeset
for help on using the changeset viewer.