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 | |
---|