/[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.2 - (show annotations) (download)
Sat Dec 28 10:11:11 2002 UTC (21 years, 5 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint48e_post, checkpoint48b_post, checkpoint48c_pre, checkpoint48d_pre, checkpoint47i_post, checkpoint48d_post, checkpoint47g_post, checkpoint48a_post, checkpoint47j_post, checkpoint48c_post, checkpoint47f_post, checkpoint48, checkpoint47h_post
Changes since 1.1: +220 -14 lines
File MIME type: text/plain
checkpoint47f_post
Merging from release1_p10:
o modifications for using pkg/exf with pkg/seaice
  - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING
    and SEAICE_EXTERNAL_FLUXES
  - pkg/exf CPP options EXF_READ_EVAP and
    EXF_NO_BULK_COMPUTATIONS
  - usage examples are Experiments 8 and 9 in
    verification/lab_sea/README
  - verification/lab_sea default experiment now uses
    pkg/gmredi, pkg/kpp, pkg/seaice, and 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 c
8 c 2. Enable inclusion of atmospheric fields as part of the
9 c control vector.
10 c
11 c Selection of forcing fields
12 c
13 c 1. 'No forcing' should be possible for each field type,
14 c e.g., by leaving file name blank.
15 c
16 c 2. Cyclic forcing should be available for each field type
17 c (surface forcing and relaxation to climatology).
18 c
19 c Cleaning package (reduce number of subroutines)
20 c
21 c
22 c Many assumptions that are made in the current version should, and
23 c can, be relaxed in later versions:
24 c
25 c - There is an inconsistency in the formulation of forcing variables
26 c defined on southern and western points on the C-grid, since the
27 c the atmospheric stability is calculated on center points of the
28 c C-grid.
29 c
30 c - gridded data sets --> general data set (other grids, inter-
31 c polation in space)
32 c
33 c - equidistancy in time --> general data set (non-equidistant in
34 c time)
35 c
36 c - climatologies --> arbitrary subinterval of a year, not
37 c just monthly values.
38 c
39 c - relaxation --> relaxation could be done to a given
40 c data set over the model's integration
41 c time. This would generalise the clima-
42 c tology block. One could have 'cyclic'
43 c and 'non-cyclic' fields. In the first
44 c case, the cycle length has to be spe-
45 c cified ('monthly','yearly','period') as
46 c well as the start of the cycle ( irec=1
47 c corresponds to a certain calendar date).
48 c The second case can be treated analog-
49 c ously.
50 c
51 c
52 c Notes regarding more complete implementation of relaxation
53 c ==========================================================
54 c
55 c Modifications in subroutine
56 c INITIALISE_FIXED (from c27 on):
57 c -------------------------------
58 c .
59 c .
60 c .
61 c C-- Set coriolis operators
62 c CALL INI_CORI( myThid )
63 c
64 c#ifdef INCLUDE_LAT_CIRC_FFT_FILTER_CODE
65 cC-- Latitude circle filter initialisation
66 c CALL FILTER_LATCIRC_FFT_INIT(myThid)
67 c _BARRIER
68 c#endif
69 c
70 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
71 c
72 c call exf_Init( mythid )
73 c
74 c #ifdef ALLOW_CLIMTEMP_RELAXATION
75 c c-- Set the relaxation coefficient to the temperature climatology.
76 c call exf_GetTempClimLambda(
77 c I mythid
78 c & )
79 c _BARRIER
80 c #endif
81 c #ifdef ALLOW_CLIMSALT_RELAXATION
82 c c-- Set the relaxation coefficient to the salinity climatology.
83 c call exf_GetSaltClimLambda(
84 c I mythid
85 c & )
86 c _BARRIER
87 c #endif
88 c #ifdef ALLOW_CLIMSST_RELAXATION
89 c c-- Set the relaxation coefficient to the sst climatology.
90 c call exf_GetSSTClimLambda(
91 c I mythid
92 c & )
93 c _BARRIER
94 c #endif
95 c #ifdef ALLOW_CLIMSSS_RELAXATION
96 c c-- Set the relaxation coefficient to the sss climatology.
97 c call exf_GetSSSClimLambda(
98 c I mythid
99 c & )
100 c _BARRIER
101 c #endif
102 c #endif
103 c
104 c c-- Finally, summarise the model cofiguration.
105 c CALL CONFIG_SUMMARY( myThid )
106 c .
107 c .
108 c .
109 c
110 c
111 c external_forcing.F - Add relaxation to climatological fields.
112 c
113 c
114 c Modifications in subroutine
115 c EXTERNAL_FORCING_T (taken from c25):
116 c ------------------------------------
117 c .
118 c .
119 c .
120 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
121 c #include "exf_clim.h"
122 c #endif
123 c .
124 c .
125 c .
126 c C-- Forcing term
127 c C Add heat in top-layer
128 c IF ( kLev .EQ. 1 ) THEN
129 c DO j=jMin,jMax
130 c DO i=iMin,iMax
131 c gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
132 c & +maskC(i,j)*(
133 c & -lambdaThetaClimRelax*(theta(i,j,kLev,bi,bj)-SST(i,j,bi,bj))
134 c & -Qnet(i,j,bi,bj)*recip_Cp*recip_rhoNil*recip_dRf(kLev) )
135 c
136 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
137 c #ifdef ALLOW_CLIMSST_RELAXATION
138 c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
139 c & maskc(i,j)*lambda_climsst(i,j,bi,bj)*
140 c & ( theta(i,j,klev,bi,bj) -
141 c & climsst(i,j,bi,bj) )
142 c #endif
143 c #endif
144 c
145 c ENDDO
146 c ENDDO
147 c ENDIF
148 c
149 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
150 c #ifdef ALLOW_CLIMTEMP_RELAXATION
151 c do j=jmin,jmax
152 c do i=imin,imax
153 c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
154 c & maskc(i,j)*lambda_climtemp(i,j,klev,bi,bj)*
155 c & ( theta(i,j,klev,bi,bj) -
156 c & climtemp(i,j,klev,bi,bj) )
157 c enddo
158 c enddo
159 c #endif
160 c #endif
161 c .
162 c .
163 c .
164 c
165 c
166 c Modifications in subroutine
167 c EXTERNAL_FORCING_S (taken from c25):
168 c ------------------------------------
169 c .
170 c .
171 c .
172 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
173 c #include "exf_clim.h"
174 c #endif
175 c .
176 c .
177 c .
178 c C-- Forcing term
179 c C Add fresh-water in top-layer
180 c IF ( kLev .EQ. 1 ) THEN
181 c DO j=jMin,jMax
182 c DO i=iMin,iMax
183 c gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
184 c & +maskC(i,j)*(
185 c & -lambdaSaltClimRelax*(salt(i,j,kLev,bi,bj)-SSS(i,j,bi,bj))
186 c #ifdef ALLOW_NATURAL_BCS
187 c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*salt(i,j,kLev,bi,bj)
188 c #else
189 c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*35.
190 c #endif
191 c & )
192 c
193 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
194 c #ifdef ALLOW_CLIMSSS_RELAXATION
195 c gs(i,j,kLev,bi,bj) = gs(i,j,kLev,bi,bj) -
196 c & maskc(i,j)*lambda_climsss(i,j,bi,bj)*
197 c & ( salt(i,j,kLev,bi,bj) -
198 c & climsss(i,j,bi,bj) )
199 c #endif
200 c #endif
201 c
202 c ENDDO
203 c ENDDO
204 c ENDIF
205 c
206 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
207 c #ifdef ALLOW_CLIMSALT_RELAXATION
208 c do j=jmin,jmax
209 c do i=imin,imax
210 c gs(i,j,klev,bi,bj) = gs(i,j,klev,bi,bj) -
211 c & maskc(i,j)*lambda_climsalt(i,j,klev,bi,bj)*
212 c & ( salt(i,j,klev,bi,bj) -
213 c & climsalt(i,j,klev,bi,bj) )
214 c enddo
215 c enddo
216 c #endif
217 c #endif
218 c .
219 c .
220 c .

  ViewVC Help
Powered by ViewVC 1.1.22