/[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.4 - (hide 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 dimitri 1.4 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 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.4 c mods for pkg/seaice: 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 dimitri 1.4 c END IF ( .NOT. useSEAICE )
112 heimbach 1.1
113     end

  ViewVC Help
Powered by ViewVC 1.1.22