Changeset 745 for trunk/NEMO/OPA_SRC/IOM/iom.F90
- Timestamp:
- 2007-12-06T18:02:32+01:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/IOM/iom.F90
r742 r745 247 247 248 248 249 FUNCTION iom_varid ( kiomid, cdvar, kdimsz )249 FUNCTION iom_varid ( kiomid, cdvar, kdimsz, ldstop ) 250 250 !!----------------------------------------------------------------------- 251 251 !! *** FUNCTION iom_varid *** … … 256 256 CHARACTER(len=*) , INTENT(in ) :: cdvar ! name of the variable 257 257 INTEGER, DIMENSION(:), INTENT( out), OPTIONAL :: kdimsz ! size of the dimensions 258 LOGICAL , INTENT(in ), OPTIONAL :: ldstop ! stop if looking for non-existing variable (default = .TRUE.) 258 259 ! 259 260 INTEGER :: iom_varid, iiv, i_nvd 260 261 LOGICAL :: ll_fnd 261 262 CHARACTER(LEN=100) :: clinfo ! info character 263 LOGICAL :: llstop ! local definition of ldstop 262 264 !!----------------------------------------------------------------------- 263 265 iom_varid = 0 ! default definition 266 ! do we call ctl_stop if we look for non-existing variable? 267 IF( PRESENT(ldstop) ) THEN ; llstop = ldstop 268 ELSE ; llstop = .TRUE. 269 ENDIF 264 270 ! 265 271 IF( kiomid > 0 ) THEN … … 281 287 SELECT CASE (iom_file(kiomid)%iolib) 282 288 CASE (jpioipsl ) ; iom_varid = iom_ioipsl_varid( kiomid, cdvar, iiv, kdimsz ) 283 CASE (jpnf90 ) ; iom_varid = iom_nf90_varid (kiomid, cdvar, iiv, kdimsz )284 CASE (jprstdimg) ; iom_varid = 0! all variables are listed in iom_file289 CASE (jpnf90 ) ; iom_varid = iom_nf90_varid ( kiomid, cdvar, iiv, kdimsz ) 290 CASE (jprstdimg) ; iom_varid = -1 ! all variables are listed in iom_file 285 291 CASE DEFAULT 286 292 CALL ctl_stop( TRIM(clinfo)//' accepted IO library are only jpioipsl, jpnf90 and jprstdimg' ) … … 290 296 & 'increase the parameter jpmax_vars') 291 297 ENDIF 298 IF( llstop .AND. iom_varid == -1 ) CALL ctl_stop( TRIM(clinfo)//' not found' ) 292 299 ELSE 293 300 iom_varid = iiv … … 697 704 IF( kiomid > 0 ) THEN 698 705 IF( iom_file(kiomid)%nfid > 0 ) THEN 699 ivid = iom_varid( kiomid, cdvar)706 ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 700 707 SELECT CASE (iom_file(kiomid)%iolib) 701 708 CASE (jpioipsl ) ; CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r0d = pvar ) … … 719 726 IF( kiomid > 0 ) THEN 720 727 IF( iom_file(kiomid)%nfid > 0 ) THEN 721 ivid = iom_varid( kiomid, cdvar)728 ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 722 729 SELECT CASE (iom_file(kiomid)%iolib) 723 730 CASE (jpioipsl ) ; CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r1d = pvar ) … … 741 748 IF( kiomid > 0 ) THEN 742 749 IF( iom_file(kiomid)%nfid > 0 ) THEN 743 ivid = iom_varid( kiomid, cdvar)750 ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 744 751 SELECT CASE (iom_file(kiomid)%iolib) 745 752 CASE (jpioipsl ) ; CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r2d = pvar ) … … 763 770 IF( kiomid > 0 ) THEN 764 771 IF( iom_file(kiomid)%nfid > 0 ) THEN 765 ivid = iom_varid( kiomid, cdvar)772 ivid = iom_varid( kiomid, cdvar, ldstop = .FALSE. ) 766 773 SELECT CASE (iom_file(kiomid)%iolib) 767 774 CASE (jpioipsl ) ; CALL iom_ioipsl_rstput( kt, kwrite, kiomid, cdvar, ivid, ktype, pv_r3d = pvar )
Note: See TracChangeset
for help on using the changeset viewer.