/[MITgcm]/MITgcm/pkg/exf/exf_filter_rs.F
ViewVC logotype

Contents of /MITgcm/pkg/exf/exf_filter_rs.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download)
Sat Dec 28 10:11:11 2002 UTC (21 years, 6 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint48e_post, checkpoint48c_post, checkpoint48b_post, checkpoint48c_pre, checkpoint48d_pre, checkpoint47i_post, checkpoint48d_post, checkpoint47g_post, checkpoint48a_post, checkpoint47j_post, checkpoint47f_post, checkpoint48, checkpoint47h_post
Changes since 1.2: +8 -1 lines
checkpoint47f_post
Merging from release1_p10:
o modifications for using pkg/exf with pkg/seaice
  - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING
    and SEAICE_EXTERNAL_FLUXES
  - pkg/exf CPP options EXF_READ_EVAP and
    EXF_NO_BULK_COMPUTATIONS
  - usage examples are Experiments 8 and 9 in
    verification/lab_sea/README
  - verification/lab_sea default experiment now uses
    pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf

1 c $Header: /u/gcmpack/MITgcm/pkg/exf/exf_filter_rs.F,v 1.2 2002/11/12 20:34:41 heimbach Exp $
2
3 #include "EXF_CPPOPTIONS.h"
4
5 subroutine exf_filter_rs(
6 I arr,
7 I ckind,
8 I mythid
9 & )
10
11 c ==================================================================
12 c SUBROUTINE exf_filter_rs
13 c ==================================================================
14 c
15 c o Read a flux record for external forcing.
16 c
17 c started: Ralf.Giering@FastOpt.de 24-Mai-2000
18 c changed: menemenlis@jpl.nasa.gov 20-Dec-2002
19 c
20 c ==================================================================
21 c SUBROUTINE exf_filter_rs
22 c ==================================================================
23
24 implicit none
25
26 c == global variables ==
27
28 #include "EEPARAMS.h"
29 #include "SIZE.h"
30 #include "GRID.h"
31 #include "PARAMS.h"
32 #include "exf_constants.h"
33 #include "exf.h"
34 #include "exf_param.h"
35
36 c == routine arguments ==
37
38 _RS arr(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
39 character*1 ckind
40 integer mythid
41
42 c == local variables ==
43
44 integer bi,bj
45 integer i,j
46 integer itlo,ithi
47 integer jtlo,jthi
48
49 c == end of interface ==
50
51 jtlo = mybylo(mythid)
52 jthi = mybyhi(mythid)
53 itlo = mybxlo(mythid)
54 ithi = mybxhi(mythid)
55
56 c Don't filter with pkg/seaice because of B/C-grid interpolation
57 IF ( .NOT. useSEAICE ) THEN
58
59 c filter forcing field array
60 do bj = jtlo,jthi
61 do bi = itlo,ithi
62
63 c Set undefined values to zero.
64 crg not necessary and
65 crg would require additional intermediate results in adjoint
66 crg do j = 1,sny
67 crg do i = 1,snx
68 crg if (arr(i,j,bi,bj) .le. exf_undef) then
69 crg arr(i,j,bi,bj) = 0. _d 0
70 crg endif
71 crg enddo
72 crg enddo
73
74 c Set land points to zero
75 if (ckind .eq. 's') then
76
77 do j = 1,sny
78 do i = 1,snx
79 if ( _hFacC(i,j,1,bi,bj) .eq. 0. ) then
80 arr(i,j,bi,bj) = 0. _d 0
81 endif
82 enddo
83 enddo
84
85 else if (ckind .eq. 'u') then
86
87 do j = 1,sny
88 do i = 1,snx
89 if ( maskw(i,j,1,bi,bj) .eq. 0. ) then
90 arr(i,j,bi,bj) = 0. _d 0
91 endif
92 enddo
93 enddo
94
95 else if (ckind .eq. 'v') then
96
97 do j = 1,sny
98 do i = 1,snx
99 if ( masks(i,j,1,bi,bj) .eq. 0. ) then
100 arr(i,j,bi,bj) = 0. _d 0
101 endif
102 enddo
103 enddo
104
105 end if
106
107 enddo
108 enddo
109
110 ENDIF
111
112 end

  ViewVC Help
Powered by ViewVC 1.1.22