- Timestamp:
- 2015-02-17T10:06:39+01:00 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2014/dev_r4650_UKMO3_masked_damping/NEMOGCM/NEMO/OPA_SRC/IOM/iom.F90
r4650 r5086 32 32 USE trc_oce, ONLY : nn_dttrc ! !: frequency of step on passive tracers 33 33 USE icb_oce, ONLY : nclasses, class_num ! !: iceberg classes 34 #if defined key_lim3 35 USE par_ice 36 #elif defined key_lim2 37 USE par_ice_2 38 #endif 34 39 USE domngb ! ocean space and time domain 35 40 USE phycst ! physical constants … … 49 54 #endif 50 55 PUBLIC iom_init, iom_swap, iom_open, iom_close, iom_setkt, iom_varid, iom_get, iom_gettime, iom_rstput, iom_put 51 PUBLIC iom_getatt, iom_ context_finalize56 PUBLIC iom_getatt, iom_use, iom_context_finalize 52 57 53 58 PRIVATE iom_rp0d, iom_rp1d, iom_rp2d, iom_rp3d … … 143 148 CALL iom_set_axis_attr( "nfloat", (/ (REAL(ji,wp), ji=1,nfloat) /) ) 144 149 # endif 150 #if defined key_lim3 || defined key_lim2 151 CALL iom_set_axis_attr( "ncatice", (/ (REAL(ji,wp), ji=1,jpl) /) ) 152 #endif 145 153 CALL iom_set_axis_attr( "icbcla", class_num ) 146 154 … … 1015 1023 CHARACTER(LEN=*), INTENT(in) :: cdname 1016 1024 REAL(wp) , INTENT(in) :: pfield0d 1025 REAL(wp) , DIMENSION(jpi,jpj) :: zz ! masson 1017 1026 #if defined key_iomput 1018 CALL xios_send_field(cdname, (/pfield0d/)) 1027 zz(:,:)=pfield0d 1028 CALL xios_send_field(cdname, zz) 1029 !CALL xios_send_field(cdname, (/pfield0d/)) 1019 1030 #else 1020 1031 IF( .FALSE. ) WRITE(numout,*) cdname, pfield0d ! useless test to avoid compilation warnings … … 1155 1166 SUBROUTINE iom_context_finalize( cdname ) 1156 1167 CHARACTER(LEN=*), INTENT(in) :: cdname 1157 ! 1158 CALL iom_swap( cdname ) ! swap to cdname context 1159 CALL xios_context_finalize() ! finalize the context 1160 IF( cdname /= "nemo" ) CALL iom_swap( "nemo" ) ! return back to nemo context 1168 ! 1169 IF( xios_is_valid_context(cdname) ) THEN 1170 CALL iom_swap( cdname ) ! swap to cdname context 1171 CALL xios_context_finalize() ! finalize the context 1172 IF( cdname /= "nemo" ) CALL iom_swap( "nemo" ) ! return back to nemo context 1173 ENDIF 1161 1174 ! 1162 1175 END SUBROUTINE iom_context_finalize … … 1189 1202 CASE('T') ; zmask(:,:,:) = tmask(:,:,:) 1190 1203 CASE('U') ; zmask(2:jpim1,:,:) = tmask(2:jpim1,:,:) + tmask(3:jpi,:,:) ; CALL lbc_lnk( zmask, 'U', 1. ) 1191 CASE('V') ; zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jp i,:) ; CALL lbc_lnk( zmask, 'V', 1. )1204 CASE('V') ; zmask(:,2:jpjm1,:) = tmask(:,2:jpjm1,:) + tmask(:,3:jpj,:) ; CALL lbc_lnk( zmask, 'V', 1. ) 1192 1205 CASE('W') ; zmask(:,:,2:jpk ) = tmask(:,:,1:jpkm1) + tmask(:,:,2:jpk) ; zmask(:,:,1) = tmask(:,:,1) 1193 1206 END SELECT … … 1207 1220 !! 1208 1221 !!---------------------------------------------------------------------- 1209 REAL(wp), DIMENSION(1 ,1) :: zz = 1.1222 REAL(wp), DIMENSION(1) :: zz = 1. 1210 1223 !!---------------------------------------------------------------------- 1211 1224 CALL iom_set_domain_attr('scalarpoint', ni_glo=jpnij, nj_glo=1, ibegin=narea, jbegin=1, ni=1, nj=1) 1212 CALL iom_set_domain_attr('scalarpoint', data_dim=1) 1213 CALL iom_set_domain_attr('scalarpoint', lonvalue=(/ zz /), latvalue=(/ zz /)) 1225 CALL iom_set_domain_attr('scalarpoint', data_dim=2, data_ibegin = 1, data_ni = 1, data_jbegin = 1, data_nj = 1) 1226 zz=REAL(narea,wp) 1227 CALL iom_set_domain_attr('scalarpoint', lonvalue=zz, latvalue=zz) 1214 1228 1215 1229 END SUBROUTINE set_scalar … … 1226 1240 CHARACTER(len=256) :: clsuff ! suffix name 1227 1241 CHARACTER(len=1) :: cl1 ! 1 character 1228 CHARACTER(len=2) :: cl2 ! 1 character 1242 CHARACTER(len=2) :: cl2 ! 2 characters 1243 CHARACTER(len=3) :: cl3 ! 3 characters 1229 1244 INTEGER :: ji, jg ! loop counters 1230 1245 INTEGER :: ix, iy ! i-,j- index … … 1252 1267 WRITE(cl2,'(i2.2)') ji 1253 1268 CALL iom_update_file_name('file'//cl2) 1269 END DO 1270 DO ji = 1, 999 1271 WRITE(cl3,'(i3.3)') ji 1272 CALL iom_update_file_name('file'//cl3) 1254 1273 END DO 1255 1274 … … 1499 1518 1500 1519 #endif 1520 1521 LOGICAL FUNCTION iom_use( cdname ) 1522 CHARACTER(LEN=*), INTENT(in) :: cdname 1523 #if defined key_iomput 1524 iom_use = xios_field_is_active( cdname ) 1525 #else 1526 iom_use = .FALSE. 1527 #endif 1528 END FUNCTION iom_use 1501 1529 1502 1530 !!======================================================================
Note: See TracChangeset
for help on using the changeset viewer.