- Timestamp:
- 2018-10-29T15:20:26+01:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_AMM15_package/NEMOGCM/TOOLS/SIREN/src/iom_mpp.f90
r10248 r10251 87 87 !> J.Paul 88 88 ! REVISION HISTORY: 89 !> @date Nov ember, 2013 - Initial Version89 !> @date Nov, 2013 - Initial Version 90 90 !> 91 91 !> @note Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) … … 137 137 !> 138 138 !> @author J.Paul 139 !> @date November, 2013- Initial Version139 !> - November, 2013- Initial Version 140 140 ! 141 141 !> @param[inout] td_mpp mpp structure … … 161 161 162 162 ELSE 163 !164 td_mpp%i_id=1165 166 163 ! if no processor file selected 167 164 ! force to open all files … … 224 221 !> 225 222 !> @author J.Paul 226 !> @date November, 2013- Initial Version223 !> - November, 2013- Initial Version 227 224 ! 228 225 !> @param[inout] td_mpp mpp structure … … 251 248 !> 252 249 !> @author J.Paul 253 !> @date November, 2013- Initial Version250 !> - November, 2013- Initial Version 254 251 ! 255 252 !> @param[in] td_mpp mpp structure … … 270 267 271 268 ELSE 272 !273 td_mpp%i_id=0274 275 269 DO ji=1,td_mpp%i_nproc 276 270 IF( td_mpp%t_proc(ji)%i_id /= 0 )THEN … … 291 285 !> 292 286 !> @author J.Paul 293 !> @date November, 2013- Initial Version287 !> - November, 2013- Initial Version 294 288 !> @date October, 2014 295 289 !> - use start and count array instead of domain structure. … … 320 314 & " in mpp strcuture "//TRIM(td_mpp%c_name)) 321 315 322 ELSEIF( td_mpp%i_id == 0 )THEN323 324 CALL logger_error( " IOM MPP READ VAR: mpp structure not opened. "//&325 & " can not read variable in "//TRIM(td_mpp%c_name))326 327 316 ELSE 328 329 317 330 318 IF( ANY(td_mpp%t_proc(:)%i_id /= 0) )THEN … … 367 355 ! 368 356 !> @author J.Paul 369 !> @date November, 2013- Initial Version357 !> - November, 2013- Initial Version 370 358 !> @date October, 2014 371 359 !> - use start and count array instead of domain structure. … … 396 384 & " in mpp strcuture "//TRIM(td_mpp%c_name)) 397 385 398 ELSEIF( td_mpp%i_id == 0 )THEN399 400 CALL logger_error( " IOM MPP READ VAR: mpp structure not opened. "//&401 & " can not read variable in "//TRIM(td_mpp%c_name))402 403 386 ELSE 404 387 … … 417 400 CALL logger_error( & 418 401 & " IOM MPP READ VAR: there is no variable with "//& 419 & "name or standard name 402 & "name or standard name"//TRIM(cd_name)//& 420 403 & " in processor/file "//TRIM(td_mpp%t_proc(1)%c_name)) 421 404 ENDIF … … 433 416 ! 434 417 !> @author J.Paul 435 !> @date November, 2013- Initial Version418 !> - November, 2013- Initial Version 436 419 !> @date October, 2014 437 420 !> - use start and count array instead of domain structure. … … 484 467 IF( PRESENT(id_count) ) il_count(:)=id_count(:) 485 468 486 CALL logger_debug("IOM MPP READ VAR VALUE: start "//&487 & TRIM(fct_str(il_start(jp_I)))//","//&488 & TRIM(fct_str(il_start(jp_J)))//","//&489 & TRIM(fct_str(il_start(jp_K)))//","//&490 & TRIM(fct_str(il_start(jp_L))) )491 CALL logger_debug("IOM MPP READ VAR VALUE: count "//&492 & TRIM(fct_str(il_count(jp_I)))//","//&493 & TRIM(fct_str(il_count(jp_J)))//","//&494 & TRIM(fct_str(il_count(jp_K)))//","//&495 & TRIM(fct_str(il_count(jp_L))) )496 497 469 DO jk=1,ip_maxdim 498 470 IF( .NOT. td_var%t_dim(jk)%l_use )THEN … … 504 476 ENDDO 505 477 478 506 479 IF( ANY(il_end(:) > td_mpp%t_dim(:)%i_len) )THEN 507 CALL logger_debug("IOM MPP READ VAR VALUE: start + count "//&508 & TRIM(fct_str(il_end(jp_I)))//","//&509 & TRIM(fct_str(il_end(jp_J)))//","//&510 & TRIM(fct_str(il_end(jp_K)))//","//&511 & TRIM(fct_str(il_end(jp_L))) )512 CALL logger_debug("IOM MPP READ VAR VALUE: dimension "//&513 & TRIM(fct_str(td_mpp%t_dim(jp_I)%i_len))//","//&514 & TRIM(fct_str(td_mpp%t_dim(jp_J)%i_len))//","//&515 & TRIM(fct_str(td_mpp%t_dim(jp_K)%i_len))//","//&516 & TRIM(fct_str(td_mpp%t_dim(jp_L)%i_len)) )517 480 CALL logger_fatal("IOM MPP READ VAR VALUE: start + count "//& 518 481 & "exceed dimension bound.") … … 620 583 ! 621 584 !> @details 622 !> optionally, you could specify the dimension order (default 'xyzt')623 585 ! 624 586 !> @author J.Paul 625 !> @date November, 2013 - Initial Version 626 !> @date July, 2015 - add dimension order option 587 !> - November, 2013- Initial Version 627 588 ! 628 589 !> @param[inout] td_mpp mpp structure 629 !> @param[In] cd_dimorder dimension order 630 !------------------------------------------------------------------- 631 SUBROUTINE iom_mpp_write_file(td_mpp, cd_dimorder) 590 !------------------------------------------------------------------- 591 SUBROUTINE iom_mpp_write_file(td_mpp) 632 592 IMPLICIT NONE 633 593 ! Argument 634 TYPE(TMPP) , INTENT(INOUT) :: td_mpp 635 CHARACTER(LEN=*), INTENT(IN ), OPTIONAL :: cd_dimorder 594 TYPE(TMPP), INTENT(INOUT) :: td_mpp 636 595 637 596 ! local variable … … 651 610 !CALL file_del_att(td_mpp%t_proc(ji), 'ew_overlap') 652 611 653 CALL iom_write_file(td_mpp%t_proc(ji) , cd_dimorder)612 CALL iom_write_file(td_mpp%t_proc(ji)) 654 613 ELSE 655 614 CALL logger_debug( " MPP WRITE: no id associated to file "//&
Note: See TracChangeset
for help on using the changeset viewer.