- Timestamp:
- 2013-06-26T09:54:16+02:00 (11 years ago)
- Location:
- branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r3294 r3938 27 27 USE in_out_manager ! I/O manager 28 28 USE lib_mpp ! MPP library 29 USE timing ! Timing 29 30 #if defined key_iomput 30 31 USE sbc_oce, ONLY : nn_fsbc ! ocean space and time domain … … 376 377 377 378 378 FUNCTION iom_varid ( kiomid, cdvar, kdimsz, ldstop )379 FUNCTION iom_varid ( kiomid, cdvar, kdimsz, kndims, ldstop ) 379 380 !!----------------------------------------------------------------------- 380 381 !! *** FUNCTION iom_varid *** … … 385 386 CHARACTER(len=*) , INTENT(in ) :: cdvar ! name of the variable 386 387 INTEGER, DIMENSION(:), INTENT( out), OPTIONAL :: kdimsz ! size of the dimensions 388 INTEGER, INTENT( out), OPTIONAL :: kndims ! size of the dimensions 387 389 LOGICAL , INTENT(in ), OPTIONAL :: ldstop ! stop if looking for non-existing variable (default = .TRUE.) 388 390 ! … … 416 418 SELECT CASE (iom_file(kiomid)%iolib) 417 419 CASE (jpioipsl ) ; iom_varid = iom_ioipsl_varid( kiomid, cdvar, iiv, kdimsz ) 418 CASE (jpnf90 ) ; iom_varid = iom_nf90_varid ( kiomid, cdvar, iiv, kdimsz )420 CASE (jpnf90 ) ; iom_varid = iom_nf90_varid ( kiomid, cdvar, iiv, kdimsz, kndims ) 419 421 CASE (jprstdimg) ; iom_varid = -1 ! all variables are listed in iom_file 420 422 CASE DEFAULT … … 437 439 ENDIF 438 440 ENDIF 441 IF( PRESENT(kndims) ) kndims = iom_file(kiomid)%ndims(iiv) 439 442 ENDIF 440 443 ENDIF … … 959 962 CHARACTER(LEN=*), INTENT(in) :: cdname 960 963 REAL(wp) , INTENT(in) :: pfield0d 964 IF( nn_timing == 1 ) CALL timing_start('iom_put0') 961 965 #if defined key_iomput 962 966 CALL event__write_field2D( cdname, RESHAPE( (/pfield0d/), (/1,1/) ) ) … … 964 968 IF( .FALSE. ) WRITE(numout,*) cdname, pfield0d ! useless test to avoid compilation warnings 965 969 #endif 970 IF( nn_timing == 1 ) CALL timing_stop('iom_put0') 966 971 END SUBROUTINE iom_p0d 967 972 … … 970 975 REAL(wp), DIMENSION(:), INTENT(in) :: pfield1d 971 976 INTEGER :: jpz 977 IF( nn_timing == 1 ) CALL timing_start('iom_put1') 972 978 #if defined key_iomput 973 979 jpz=SIZE(pfield1d) … … 976 982 IF( .FALSE. ) WRITE(numout,*) cdname, pfield1d ! useless test to avoid compilation warnings 977 983 #endif 984 IF( nn_timing == 1 ) CALL timing_stop('iom_put1') 978 985 END SUBROUTINE iom_p1d 979 986 … … 981 988 CHARACTER(LEN=*) , INTENT(in) :: cdname 982 989 REAL(wp), DIMENSION(:,:), INTENT(in) :: pfield2d 990 IF( nn_timing == 1 ) CALL timing_start('iom_put2') 983 991 #if defined key_iomput 984 992 CALL event__write_field2D( cdname, pfield2d(nldi:nlei, nldj:nlej) ) … … 986 994 IF( .FALSE. ) WRITE(numout,*) cdname, pfield2d ! useless test to avoid compilation warnings 987 995 #endif 996 IF( nn_timing == 1 ) CALL timing_stop('iom_put2') 988 997 END SUBROUTINE iom_p2d 989 998 … … 991 1000 CHARACTER(LEN=*) , INTENT(in) :: cdname 992 1001 REAL(wp), DIMENSION(:,:,:), INTENT(in) :: pfield3d 1002 IF( nn_timing == 1 ) CALL timing_start('iom_put3') 993 1003 #if defined key_iomput 994 1004 CALL event__write_field3D( cdname, pfield3d(nldi:nlei, nldj:nlej, :) ) … … 996 1006 IF( .FALSE. ) WRITE(numout,*) cdname, pfield3d ! useless test to avoid compilation warnings 997 1007 #endif 1008 IF( nn_timing == 1 ) CALL timing_stop('iom_put3') 998 1009 END SUBROUTINE iom_p3d 999 1010 !!---------------------------------------------------------------------- … … 1070 1081 CALL event__set_attribut( 'field_definition', attr( field__freq_op, idt ) ) ! model time-step 1071 1082 CALL event__set_attribut( 'SBC' , attr( field__freq_op, idt * nn_fsbc ) ) ! SBC time-step 1083 !SF 1084 CALL event__set_attribut( 'scalar_SBC' , attr( field__freq_op, idt * nn_fsbc ) ) ! SBC time-step 1072 1085 1073 1086 ! output file names (attribut: name) -
branches/2013/dev_r3406_CNRS_LIM3/NEMOGCM/NEMO/OPA_SRC/IOM/iom_nf90.F90
r2715 r3938 181 181 182 182 183 FUNCTION iom_nf90_varid ( kiomid, cdvar, kiv, kdimsz )183 FUNCTION iom_nf90_varid ( kiomid, cdvar, kiv, kdimsz, kndims ) 184 184 !!----------------------------------------------------------------------- 185 185 !! *** FUNCTION iom_varid *** … … 191 191 INTEGER , INTENT(in ) :: kiv ! 192 192 INTEGER, DIMENSION(:), INTENT( out), OPTIONAL :: kdimsz ! size of the dimensions 193 INTEGER, INTENT( out), OPTIONAL :: kndims ! size of the dimensions 193 194 ! 194 195 INTEGER :: iom_nf90_varid ! iom variable Id … … 242 243 ENDIF 243 244 ENDIF 245 IF( PRESENT(kndims) ) kndims = iom_file(kiomid)%ndims(kiv) 244 246 ELSE 245 247 iom_nf90_varid = -1 ! variable not found, return error code: -1
Note: See TracChangeset
for help on using the changeset viewer.