[11395] | 1 | MODULE isfutils |
---|
| 2 | |
---|
| 3 | USE oce |
---|
| 4 | USE in_out_manager |
---|
| 5 | USE iom |
---|
| 6 | USE lib_fortran |
---|
| 7 | USE lib_mpp |
---|
| 8 | |
---|
| 9 | IMPLICIT NONE |
---|
| 10 | |
---|
| 11 | PRIVATE |
---|
| 12 | |
---|
| 13 | INTERFACE isf_debug |
---|
| 14 | MODULE PROCEDURE isf_debug2d, isf_debug3d |
---|
| 15 | END INTERFACE isf_debug |
---|
| 16 | |
---|
| 17 | PUBLIC read_2dcstdta, isf_debug |
---|
| 18 | |
---|
| 19 | CONTAINS |
---|
| 20 | |
---|
| 21 | SUBROUTINE read_2dcstdta(cdfile, cdvar, pvar) |
---|
| 22 | !!--------------------------------------------------------------------- |
---|
| 23 | !! *** ROUTINE read_2dcstdta *** |
---|
| 24 | !! |
---|
| 25 | !! ** Purpose : read input file |
---|
| 26 | !! |
---|
| 27 | !!---------------------------------------------------------------------- |
---|
| 28 | !!-------------------------- OUT ------------------------------------- |
---|
| 29 | REAL(wp), DIMENSION(jpi,jpj), INTENT(inout) :: pvar |
---|
| 30 | !!-------------------------- IN ------------------------------------- |
---|
| 31 | CHARACTER(len=256), INTENT(in) :: cdfile, cdvar |
---|
| 32 | !!-------------------------------------------------------------------- |
---|
| 33 | INTEGER :: inum |
---|
| 34 | |
---|
| 35 | CALL iom_open( cdfile, inum ) |
---|
| 36 | CALL iom_get( inum, jpdom_data, cdvar, pvar, 1) |
---|
| 37 | CALL iom_close(inum) |
---|
| 38 | |
---|
| 39 | END SUBROUTINE read_2dcstdta |
---|
| 40 | |
---|
| 41 | SUBROUTINE isf_debug2d(cdtxt,pvar) |
---|
| 42 | CHARACTER(LEN=256), INTENT(in) :: cdtxt |
---|
| 43 | REAL(wp), DIMENSION(jpi,jpj), INTENT(in ) :: pvar |
---|
| 44 | REAL(wp) :: zmin, zmax, zsum |
---|
| 45 | zsum = glob_sum( 'isf_debug', pvar(:,:) ) |
---|
| 46 | zmin = MINVAL( pvar(:,:) ) ; CALL mpp_min( 'isf_debug', zmin ) ! min over the global domain |
---|
| 47 | zmax = MAXVAL( pvar(:,:) ) ; CALL mpp_max( 'isf_debug', zmax ) ! max over the global domain |
---|
| 48 | WRITE(numout,*) TRIM(cdtxt),' (min, max, sum) : ',zmin, zmax, zsum |
---|
| 49 | FLUSH(numout) |
---|
| 50 | END SUBROUTINE isf_debug2d |
---|
| 51 | |
---|
| 52 | SUBROUTINE isf_debug3d(cdtxt,pvar) |
---|
| 53 | CHARACTER(LEN=256), INTENT(in) :: cdtxt |
---|
| 54 | REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(in ) :: pvar |
---|
| 55 | REAL(wp) :: zmin, zmax, zsum |
---|
| 56 | zsum = glob_sum( 'isf_debug', pvar(:,:) ) |
---|
| 57 | zmin = MINVAL( pvar(:,:) ) ; CALL mpp_min( 'isf_debug', zmin ) ! min over the global domain |
---|
| 58 | zmax = MAXVAL( pvar(:,:) ) ; CALL mpp_max( 'isf_debug', zmax ) ! max over the global domain |
---|
| 59 | WRITE(numout,*) TRIM(cdtxt),' (min, max, sum) : ',zmin, zmax, zsum |
---|
| 60 | FLUSH(numout) |
---|
| 61 | END SUBROUTINE isf_debug3d |
---|
| 62 | |
---|
| 63 | END MODULE isfutils |
---|
| 64 | |
---|