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

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

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


Revision 1.3 - (hide annotations) (download)
Sat Dec 28 10:11:11 2002 UTC (21 years, 5 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 dimitri 1.3 c $Header: /u/gcmpack/MITgcm/pkg/exf/exf_filter_rs.F,v 1.2 2002/11/12 20:34:41 heimbach Exp $
2 heimbach 1.1
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 dimitri 1.3 c changed: menemenlis@jpl.nasa.gov 20-Dec-2002
19 heimbach 1.1 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 dimitri 1.3 #include "PARAMS.h"
32 heimbach 1.1 #include "exf_constants.h"
33 heimbach 1.2 #include "exf.h"
34     #include "exf_param.h"
35 heimbach 1.1
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 dimitri 1.3 c Don't filter with pkg/seaice because of B/C-grid interpolation
57     IF ( .NOT. useSEAICE ) THEN
58    
59 heimbach 1.1 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 dimitri 1.3
110     ENDIF
111 heimbach 1.1
112     end

  ViewVC Help
Powered by ViewVC 1.1.22