source: CPL/oasis3/trunk/src/mod/oasis3/src/masq.f @ 1677

Last change on this file since 1677 was 1677, checked in by aclsce, 12 years ago

Imported oasis3 (tag ipslcm5a) from cvs server to svn server (igcmg project).

File size: 3.0 KB
Line 
1      SUBROUTINE masq (pfild, ksize, pmask, kmask)
2C****
3C               *****************************
4C               * OASIS ROUTINE  -  LEVEL 3 *
5C               * -------------     ------- *
6C               *****************************
7C
8C**** *masq* - Mask routine
9C
10C     Purpose:
11C     -------
12C     Mask field with chosen value
13C
14C**   Interface:
15C     ---------
16C       *CALL*  *masq (pfild, ksize, pmask, kmask)*
17C
18C     Input:
19C     -----
20C                pfild : field to be masked (real 1D)
21C                ksize : array size
22C                pmask : mask value given from input
23C                kmask : mask array : 0 ---> ocean , 1 ---> land (integer 1D)
24C
25C     Output:
26C     ------
27C                pfild : field masked (real 1D)
28C
29C     Workspace:
30C     ---------
31C     None
32C
33C     Externals:
34C     ---------
35C     cvmgp
36C
37C     Reference:
38C     ---------
39C     See OASIS manual (1995)
40C
41C     History:
42C     -------
43C       Version   Programmer     Date      Description
44C       -------   ----------     ----      ----------- 
45C       1.0       L. Terray      94/01/01  created
46C       2.0beta   L. Terray      95/10/01  modified: new structure
47C       2.0       L. Terray      96/02/01  modified: suppression of file
48C                                                    doctor.h
49C       2.3       S. Valcke      99/04/30  added: printing levels
50C       2.5       S. Valcke      2K/09/04  Remove cmach and cvmgp
51C
52C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
53C
54C* ---------------------------- Include files ---------------------------
55C
56      USE mod_kinds_oasis
57      USE mod_unit
58      USE mod_hardware
59      USE mod_printing
60C
61C* ---------------------------- Argument declarations -------------------
62C
63      REAL (kind=ip_realwp_p) pfild(ksize)
64      INTEGER (kind=ip_intwp_p) kmask(ksize)
65C
66C* ---------------------------- Poema verses ----------------------------
67C
68C %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
69C
70C*    1. Initialization
71C        --------------
72C
73      IF (nlogprt .GE. 2) THEN
74          WRITE (UNIT = nulou,FMT = *) ' '
75          WRITE (UNIT = nulou,FMT = *) ' '
76          WRITE (UNIT = nulou,FMT = *) 
77     $    '           ROUTINE masq  -  Level 3'
78          WRITE (UNIT = nulou,FMT = *) 
79     $    '           ************     *******'
80          WRITE (UNIT = nulou,FMT = *) ' '
81          WRITE (UNIT = nulou,FMT = *) ' Mask field with input value'
82          WRITE (UNIT = nulou,FMT = *) ' '
83          WRITE (UNIT = nulou,FMT = *) ' '
84      ENDIF
85C
86C
87C*    2. Mask field with value
88C        ---------------------
89C
90      DO 220 jk = 1, ksize
91        ztest = float(1 - kmask(jk)) -.5
92        IF (ztest .LT. 0.) pfild(jk) = pmask
93 220  CONTINUE
94C
95C
96C*    3. End of routine
97C        --------------
98C
99      IF (nlogprt .GE. 2) THEN
100          WRITE (UNIT = nulou,FMT = *) ' '
101          WRITE (UNIT = nulou,FMT = *) 
102     $    '          --------- End of routine masq ---------'
103          CALL FLUSH (nulou)
104      ENDIF
105      RETURN
106      END
Note: See TracBrowser for help on using the repository browser.