/[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.1.4.2 - (show annotations) (download)
Sun Jan 12 08:20:10 2003 UTC (21 years, 4 months ago) by dimitri
Branch: release1
CVS Tags: release1_p11
Changes since 1.1.4.1: +14 -8 lines
File MIME type: text/plain
  - improved description of the various forcing configurations
  - added basic radiation bulk formulae to pkg/exf

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

  ViewVC Help
Powered by ViewVC 1.1.22