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

Diff of /MITgcm/pkg/exf/exf_set_gen.F

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

revision 1.2 by heimbach, Fri May 23 18:37:31 2003 UTC revision 1.4 by dimitri, Thu Aug 7 02:31:29 2003 UTC
# Line 2  Line 2 
2    
3        subroutine exf_set_gen(        subroutine exf_set_gen(
4       &     genfile, genstartdate, genperiod, exf_inscal_gen,       &     genfile, genstartdate, genperiod, exf_inscal_gen,
5       &     genfld, gen0, gen1, genmask,       &     genfld, gen0, gen1, genmask,
6    #ifdef USE_EXF_INTERPOLATION
7         &     gen_lon0, gen_lon_inc, gen_lat0, gen_lat_inc,
8         &     gen_nlon, gen_nlat, gen_xout, gen_yout,
9    #endif
10       &     mycurrenttime, mycurrentiter, mythid )       &     mycurrenttime, mycurrentiter, mythid )
11    
12  c     ==================================================================  c     ==================================================================
# Line 13  c     o set external forcing gen Line 17  c     o set external forcing gen
17  c  c
18  c     started: Ralf.Giering@FastOpt.de 25-Mai-2000  c     started: Ralf.Giering@FastOpt.de 25-Mai-2000
19  c     changed: heimbach@mit.edu 10-Jan-2002  c     changed: heimbach@mit.edu 10-Jan-2002
20  c              mods for pkg/seaice: menemenlis@jpl.nasa.gov 20-Dec-2002  c              20-Dec-2002: mods for pkg/seaice, menemenlis@jpl.nasa.gov
21  c              heimbach@mit.edu: totally re-organized exf_set_...  c              heimbach@mit.edu: totally re-organized exf_set_...
22  c              replaced all routines by one generic routine  c              replaced all routines by one generic routine
23    c              5-Aug-2003: added USE_EXF_INTERPOLATION for arbitrary
24    c                          input grid capability
25    
26  c     ==================================================================  c     ==================================================================
27  c     SUBROUTINE exf_set_gen  c     SUBROUTINE exf_set_gen
# Line 45  c     == routine arguments == Line 51  c     == routine arguments ==
51        _RL     mycurrenttime        _RL     mycurrenttime
52        integer mycurrentiter        integer mycurrentiter
53        integer mythid        integer mythid
54    #ifdef USE_EXF_INTERPOLATION
55    c     gen_lon_0 ,gen_lat_0 :: longitude and latitude of SouthWest
56    c                             corner of global input grid
57    c     gen_nlon, gen_nlat   :: input x-grid and y-grid size
58    c     gen_lon_inc          :: scalar x-grid increment
59    c     gen_lat_inc          :: vector y-grid increments
60    c     gen_xout, gen_yout   :: coordinates for output grid
61          _RL gen_lon0, gen_lon_inc
62          _RL gen_lat0, gen_lat_inc(MAX_LAT_INC)
63          INTEGER gen_nlon, gen_nlat
64          _RS gen_xout  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
65          _RS gen_yout  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
66    #endif
67    
68  c     == local variables ==  c     == local variables ==
69    
# Line 68  c     get record numbers and interpolati Line 87  c     get record numbers and interpolati
87       &        )       &        )
88    
89           if ( first ) then           if ( first ) then
90    #ifdef USE_EXF_INTERPOLATION
91                call exf_interp( genfile, exf_iprec
92         &           , gen1, count0, gen_xout, gen_yout
93         &           , gen_lon0,gen_lon_inc
94         &           , gen_lat0,gen_lat_inc
95         &           , gen_nlon,gen_nlat,mythid
96         &           )
97    #else
98              call mdsreadfield( genfile, exf_iprec, exf_yftype, 1              call mdsreadfield( genfile, exf_iprec, exf_yftype, 1
99       &           , gen1, count0, mythid       &           , gen1, count0, mythid
100       &           )       &           )
101    #endif
102    
103              if (exf_yftype .eq. 'RL') then              if (exf_yftype .eq. 'RL') then
104                 call exf_filter_rl( gen1, genmask, mythid )                 call exf_filter_rl( gen1, genmask, mythid )
# Line 82  c     get record numbers and interpolati Line 110  c     get record numbers and interpolati
110           if (( first ) .or. ( changed )) then           if (( first ) .or. ( changed )) then
111              call exf_SwapFFields( gen0, gen1, mythid )              call exf_SwapFFields( gen0, gen1, mythid )
112                            
113    #ifdef USE_EXF_INTERPOLATION
114                call exf_interp( genfile, exf_iprec
115         &           , gen1, count1, gen_xout, gen_yout
116         &           , gen_lon0,gen_lon_inc
117         &           , gen_lat0,gen_lat_inc
118         &           , gen_nlon,gen_nlat,mythid
119         &           )
120    #else
121              call mdsreadfield( genfile, exf_iprec, exf_yftype, 1              call mdsreadfield( genfile, exf_iprec, exf_yftype, 1
122       &           , gen1, count1, mythid       &           , gen1, count1, mythid
123       &           )       &           )
124    #endif
125    
126              if (exf_yftype .eq. 'RL') then              if (exf_yftype .eq. 'RL') then
127                 call exf_filter_rl( gen1, genmask, mythid )                 call exf_filter_rl( gen1, genmask, mythid )

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22