New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
isfutils.F90 in NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF – NEMO

source: NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfutils.F90 @ 11395

Last change on this file since 11395 was 11395, checked in by mathiot, 5 years ago

ENHANCE-02_ISF_nemo : Initial commit isf simplification (add ISF directory, moved isf routine in and split isf cavity and isf parametrisation, ...) (ticket #2142)

File size: 2.1 KB
Line 
1MODULE isfutils
2
3USE oce
4USE in_out_manager
5USE iom
6USE lib_fortran
7USE lib_mpp
8
9IMPLICIT NONE
10
11PRIVATE
12
13INTERFACE isf_debug
14   MODULE PROCEDURE isf_debug2d, isf_debug3d
15END INTERFACE isf_debug
16
17PUBLIC read_2dcstdta, isf_debug
18
19CONTAINS
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
63END MODULE isfutils
64
Note: See TracBrowser for help on using the repository browser.