4 |
|
|
5 |
|
|
6 |
subroutine exf_set_climsst( |
subroutine exf_set_climsst( |
7 |
O climsst |
O mycurrenttime |
|
I , mycurrenttime |
|
8 |
I , mycurrentiter |
I , mycurrentiter |
9 |
I , mythid |
I , mythid |
10 |
& ) |
& ) |
14 |
c ================================================================== |
c ================================================================== |
15 |
c |
c |
16 |
c o Get the current climatological sea surface salinity field. |
c o Get the current climatological sea surface salinity field. |
|
c |
|
17 |
c started: Christian Eckert eckert@mit.edu 27-Aug-1999 |
c started: Christian Eckert eckert@mit.edu 27-Aug-1999 |
|
c |
|
18 |
c changed: Christian Eckert eckert@mit.edu 11-Jan-2000 |
c changed: Christian Eckert eckert@mit.edu 11-Jan-2000 |
|
c |
|
19 |
c - Restructured the code in order to create a package |
c - Restructured the code in order to create a package |
20 |
c for the MITgcmUV. |
c for the MITgcmUV. |
|
c |
|
21 |
c Christian Eckert eckert@mit.edu 12-Feb-2000 |
c Christian Eckert eckert@mit.edu 12-Feb-2000 |
|
c |
|
22 |
c - Changed Routine names (package prefix: exf_) |
c - Changed Routine names (package prefix: exf_) |
23 |
|
c changed: heimbach@mit.edu 08-Feb-2002 |
24 |
c |
c |
25 |
c ================================================================== |
c ================================================================== |
26 |
c SUBROUTINE exf_set_climsst |
c SUBROUTINE exf_set_climsst |
35 |
#include "exf_param.h" |
#include "exf_param.h" |
36 |
#include "exf_constants.h" |
#include "exf_constants.h" |
37 |
#include "exf_clim_param.h" |
#include "exf_clim_param.h" |
38 |
|
#include "exf_clim_fields.h" |
39 |
|
|
40 |
c == routine arguments == |
c == routine arguments == |
41 |
|
|
|
_RL climsst(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
|
42 |
_RL mycurrenttime |
_RL mycurrenttime |
43 |
integer mycurrentiter |
integer mycurrentiter |
44 |
integer mythid |
integer mythid |
47 |
|
|
48 |
c == local variables == |
c == local variables == |
49 |
|
|
|
common /exf_csst_r/ climsst0, climsst1 |
|
|
_RL climsst0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
|
|
_RL climsst1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
|
|
|
|
50 |
logical first, changed |
logical first, changed |
51 |
integer count0, count1 |
integer count0, count1 |
52 |
_RL fac |
_RL fac |
74 |
& ) |
& ) |
75 |
#endif |
#endif |
76 |
|
|
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
77 |
if ( first ) then |
if ( first ) then |
78 |
#endif |
if ( climsstfile .NE. ' ' ) |
79 |
call mdsreadfield( climsstfile, exf_clim_iprec |
& call mdsreadfield( climsstfile, exf_clim_iprec |
80 |
& , exf_clim_yftype, 1 |
& , exf_clim_yftype, 1 |
81 |
& , climsst1, count0, mythid |
& , climsst1, count0, mythid |
82 |
& ) |
& ) |
85 |
else |
else |
86 |
call exf_filter_rs( climsst1, climsstmask, mythid ) |
call exf_filter_rs( climsst1, climsstmask, mythid ) |
87 |
end if |
end if |
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
88 |
endif |
endif |
|
#endif |
|
89 |
|
|
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
90 |
if (( first ) .or. ( changed )) then |
if (( first ) .or. ( changed )) then |
|
#endif |
|
91 |
call exf_SwapFFields( climsst0, climsst1, mythid ) |
call exf_SwapFFields( climsst0, climsst1, mythid ) |
92 |
|
|
93 |
call mdsreadfield( climsstfile, exf_clim_iprec |
call mdsreadfield( climsstfile, exf_clim_iprec |
99 |
else |
else |
100 |
call exf_filter_rs( climsst1, climsstmask, mythid ) |
call exf_filter_rs( climsst1, climsstmask, mythid ) |
101 |
end if |
end if |
|
#ifndef ALLOW_AUTODIFF_TAMC |
|
102 |
endif |
endif |
|
#endif |
|
103 |
|
|
104 |
c Loop over tiles. |
c Loop over tiles. |
105 |
do bj = mybylo(mythid),mybyhi(mythid) |
do bj = mybylo(mythid),mybyhi(mythid) |
165 |
|
|
166 |
c == local variables == |
c == local variables == |
167 |
|
|
|
common /exf_csst_r/ climsst0, climsst1 |
|
|
_RL climsst0(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
|
|
_RL climsst1(1-olx:snx+olx,1-oly:sny+oly,nsx,nsy) |
|
|
|
|
168 |
integer bi, bj |
integer bi, bj |
169 |
integer i, j |
integer i, j |
170 |
|
|