/[MITgcm]/MITgcm/pkg/exf/TODO.txt
ViewVC logotype

Contents of /MITgcm/pkg/exf/TODO.txt

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


Revision 1.5 - (show annotations) (download)
Thu Aug 7 02:31:29 2003 UTC (20 years, 9 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint51f_pre
Changes since 1.4: +0 -7 lines
File MIME type: text/plain
o Added on-the-fly spatial interpolation capability
    "USE_EXF_INTERPOLATION" to pkg/exf.
  - This is a temporary Cartesian-grid hack until
    the super-duper ESMF coupler becomes available.
  - See verification/global_with_exf/README for usage example.
  - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid
    flags and modified pkg/seaice accordingly.
o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F,
    and pkg/kpp/kpp_transport_ptr.F for dealing with tracer
    non-local transport term.

1 c To Do:
2 c ------
3 c
4 c Selection of forcing fields
5 c
6 c 1. Cyclic forcing should be available for each field type
7 c (surface forcing and relaxation to climatology).
8 c
9 c Cleaning package
10 c
11 c Many assumptions that are made in the current version should, and
12 c can, be relaxed in later versions:
13 c
14 c - equidistancy in time --> general data set (non-equidistant in
15 c time)
16 c
17 c - climatologies --> arbitrary subinterval of a year, not
18 c just monthly values.
19 c
20 c - relaxation --> relaxation could be done to a given
21 c data set over the model's integration
22 c time. This would generalise the clima-
23 c tology block. One could have 'cyclic'
24 c and 'non-cyclic' fields. In the first
25 c case, the cycle length has to be spe-
26 c cified ('monthly','yearly','period') as
27 c well as the start of the cycle ( irec=1
28 c corresponds to a certain calendar date).
29 c The second case can be treated analog-
30 c ously.
31 c
32 c
33 c Notes regarding more complete implementation of relaxation
34 c ==========================================================
35 c
36 c Modifications in subroutine
37 c INITIALISE_FIXED (from c27 on):
38 c -------------------------------
39 c .
40 c .
41 c .
42 c C-- Set coriolis operators
43 c CALL INI_CORI( myThid )
44 c
45 c#ifdef INCLUDE_LAT_CIRC_FFT_FILTER_CODE
46 cC-- Latitude circle filter initialisation
47 c CALL FILTER_LATCIRC_FFT_INIT(myThid)
48 c _BARRIER
49 c#endif
50 c
51 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
52 c
53 c call exf_Init( mythid )
54 c
55 c #ifdef ALLOW_CLIMTEMP_RELAXATION
56 c c-- Set the relaxation coefficient to the temperature climatology.
57 c call exf_GetTempClimLambda(
58 c I mythid
59 c & )
60 c _BARRIER
61 c #endif
62 c #ifdef ALLOW_CLIMSALT_RELAXATION
63 c c-- Set the relaxation coefficient to the salinity climatology.
64 c call exf_GetSaltClimLambda(
65 c I mythid
66 c & )
67 c _BARRIER
68 c #endif
69 c #ifdef ALLOW_CLIMSST_RELAXATION
70 c c-- Set the relaxation coefficient to the sst climatology.
71 c call exf_GetSSTClimLambda(
72 c I mythid
73 c & )
74 c _BARRIER
75 c #endif
76 c #ifdef ALLOW_CLIMSSS_RELAXATION
77 c c-- Set the relaxation coefficient to the sss climatology.
78 c call exf_GetSSSClimLambda(
79 c I mythid
80 c & )
81 c _BARRIER
82 c #endif
83 c #endif
84 c
85 c c-- Finally, summarise the model cofiguration.
86 c CALL CONFIG_SUMMARY( myThid )
87 c .
88 c .
89 c .
90 c
91 c
92 c external_forcing.F - Add relaxation to climatological fields.
93 c
94 c
95 c Modifications in subroutine
96 c EXTERNAL_FORCING_T (taken from c25):
97 c ------------------------------------
98 c .
99 c .
100 c .
101 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
102 c #include "exf_clim.h"
103 c #endif
104 c .
105 c .
106 c .
107 c C-- Forcing term
108 c C Add heat in top-layer
109 c IF ( kLev .EQ. 1 ) THEN
110 c DO j=jMin,jMax
111 c DO i=iMin,iMax
112 c gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
113 c & +maskC(i,j)*(
114 c & -lambdaThetaClimRelax*(theta(i,j,kLev,bi,bj)-SST(i,j,bi,bj))
115 c & -Qnet(i,j,bi,bj)*recip_Cp*recip_rhoNil*recip_dRf(kLev) )
116 c
117 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
118 c #ifdef ALLOW_CLIMSST_RELAXATION
119 c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
120 c & maskc(i,j)*lambda_climsst(i,j,bi,bj)*
121 c & ( theta(i,j,klev,bi,bj) -
122 c & climsst(i,j,bi,bj) )
123 c #endif
124 c #endif
125 c
126 c ENDDO
127 c ENDDO
128 c ENDIF
129 c
130 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
131 c #ifdef ALLOW_CLIMTEMP_RELAXATION
132 c do j=jmin,jmax
133 c do i=imin,imax
134 c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
135 c & maskc(i,j)*lambda_climtemp(i,j,klev,bi,bj)*
136 c & ( theta(i,j,klev,bi,bj) -
137 c & climtemp(i,j,klev,bi,bj) )
138 c enddo
139 c enddo
140 c #endif
141 c #endif
142 c .
143 c .
144 c .
145 c
146 c
147 c Modifications in subroutine
148 c EXTERNAL_FORCING_S (taken from c25):
149 c ------------------------------------
150 c .
151 c .
152 c .
153 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
154 c #include "exf_clim.h"
155 c #endif
156 c .
157 c .
158 c .
159 c C-- Forcing term
160 c C Add fresh-water in top-layer
161 c IF ( kLev .EQ. 1 ) THEN
162 c DO j=jMin,jMax
163 c DO i=iMin,iMax
164 c gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
165 c & +maskC(i,j)*(
166 c & -lambdaSaltClimRelax*(salt(i,j,kLev,bi,bj)-SSS(i,j,bi,bj))
167 c #ifdef ALLOW_NATURAL_BCS
168 c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*salt(i,j,kLev,bi,bj)
169 c #else
170 c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*35.
171 c #endif
172 c & )
173 c
174 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
175 c #ifdef ALLOW_CLIMSSS_RELAXATION
176 c gs(i,j,kLev,bi,bj) = gs(i,j,kLev,bi,bj) -
177 c & maskc(i,j)*lambda_climsss(i,j,bi,bj)*
178 c & ( salt(i,j,kLev,bi,bj) -
179 c & climsss(i,j,bi,bj) )
180 c #endif
181 c #endif
182 c
183 c ENDDO
184 c ENDDO
185 c ENDIF
186 c
187 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
188 c #ifdef ALLOW_CLIMSALT_RELAXATION
189 c do j=jmin,jmax
190 c do i=imin,imax
191 c gs(i,j,klev,bi,bj) = gs(i,j,klev,bi,bj) -
192 c & maskc(i,j)*lambda_climsalt(i,j,klev,bi,bj)*
193 c & ( salt(i,j,klev,bi,bj) -
194 c & climsalt(i,j,klev,bi,bj) )
195 c enddo
196 c enddo
197 c #endif
198 c #endif
199 c .
200 c .
201 c .

  ViewVC Help
Powered by ViewVC 1.1.22