Changeset 745
- Timestamp:
- 2007-12-06T18:02:32+01:00 (16 years ago)
- Location:
- trunk/NEMO/OPA_SRC/IOM
- Files:
-
- 3 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 ) -
trunk/NEMO/OPA_SRC/IOM/iom_ioipsl.F90
r719 r745 195 195 & 'increase the parameter jpmax_vars') 196 196 ENDIF 197 !!$ ELSE 198 !!$ CALL ctl_warn( trim(clinfo), 'Variable '//trim(cdvar)// & 199 !!$ & ' is not found in the file '//trim(iom_file(kiomid)%name) ) 197 ELSE 198 iom_ioipsl_varid = -1 ! variable not found, return error code: -1 200 199 ENDIF 201 200 ! -
trunk/NEMO/OPA_SRC/IOM/iom_nf90.F90
r719 r745 206 206 ENDIF 207 207 ENDIF 208 !!$ ELSE 209 !!$ CALL ctl_warn( trim(clinfo), 'Variable '//trim(cdvar)// & 210 !!$ & ' is not found in the file '//trim(iom_file(kiomid)%name) ) 208 ELSE 209 iom_nf90_varid = -1 ! variable not found, return error code: -1 211 210 ENDIF 212 211 !
Note: See TracChangeset
for help on using the changeset viewer.