/[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.4 - (show annotations) (download)
Tue Feb 18 05:33:54 2003 UTC (21 years, 4 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint50c_post, checkpoint50g_post, checkpoint48i_post, checkpoint50d_pre, checkpoint51, checkpoint50d_post, checkpoint50b_pre, checkpoint51d_post, checkpoint48f_post, checkpoint48h_post, checkpoint51b_pre, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, branchpoint-genmake2, checkpoint51b_post, checkpoint50c_pre, checkpoint51c_post, checkpoint50h_post, checkpoint50e_pre, checkpoint50i_post, checkpoint50e_post, checkpoint51e_post, checkpoint49, checkpoint50, checkpoint51f_pre, checkpoint50b_post, checkpoint51a_post, checkpoint48g_post
Branch point for: branch-genmake2
Changes since 1.3: +3 -2 lines
Merging from release1_p12:
o Modifications for using pkg/exf with pkg/seaice
  - improved description of the various forcing configurations
  - added basic radiation bulk formulae to pkg/exf
  - units/sign fix for evap computation in exf_getffields.F
  - updated verification/global_with_exf/results/output.txt
o Added pkg/sbo for computing IERS Special Bureau for the Oceans
  (SBO) core products, including oceanic mass, center-of-mass,
  angular, and bottom pressure (see pkg/sbo/README.sbo).
o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F
  to avoid negative values in shallow regions.
  - updated verification/natl_box/results/output.txt
  - updated verification/lab_sea/results/output.txt
o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F
o Added useSingleCpuIO option (see PARAMS.h).
o Updated useSingleCpuIO option in mdsio_writefield.F to
  work with multi-field files, e.g., for single-file pickup.
o pkg/seaice:
  - bug fix in growth.F: QNET for no shortwave case
  - added HeffFile for specifying initial sea-ice thickness
  - changed SEAICE_EXTERNAL_FLUXES wind stress implementation
o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf,
  kpp_transport_t.F, forward_step.F, and the_main_loop.F
o pkg/seaice:
  - adjoint-friendly modifications
  - added a SEAICE_WRITE_PICKUP at end of the_model_main.F

1 c $Header: /u/gcmpack/MITgcm/pkg/exf/exf_filter_rs.F,v 1.1.4.3 2003/01/12 08:20:10 dimitri 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 mods for pkg/seaice: 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 c END IF ( .NOT. useSEAICE )
112
113 end

  ViewVC Help
Powered by ViewVC 1.1.22