/[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.4 - (show annotations) (download)
Mon Aug 4 22:53:41 2003 UTC (20 years, 10 months ago) by dimitri
Branch: MAIN
Changes since 1.3: +0 -15 lines
File MIME type: text/plain
checkpoint51f_post
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.
    Usage example is in verification/global_with_exf.
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 - There is an inconsistency in the formulation of forcing variables
15 c defined on southern and western points on the C-grid, since the
16 c the atmospheric stability is calculated on center points of the
17 c C-grid. Also need to make sure that with options EXFwindOnBgrid
18 c and/or SEAICEwindOnCgrid set, wind and wind stress is interpolated
19 c to correct grid location.
20 c
21 c - equidistancy in time --> general data set (non-equidistant in
22 c time)
23 c
24 c - climatologies --> arbitrary subinterval of a year, not
25 c just monthly values.
26 c
27 c - relaxation --> relaxation could be done to a given
28 c data set over the model's integration
29 c time. This would generalise the clima-
30 c tology block. One could have 'cyclic'
31 c and 'non-cyclic' fields. In the first
32 c case, the cycle length has to be spe-
33 c cified ('monthly','yearly','period') as
34 c well as the start of the cycle ( irec=1
35 c corresponds to a certain calendar date).
36 c The second case can be treated analog-
37 c ously.
38 c
39 c
40 c Notes regarding more complete implementation of relaxation
41 c ==========================================================
42 c
43 c Modifications in subroutine
44 c INITIALISE_FIXED (from c27 on):
45 c -------------------------------
46 c .
47 c .
48 c .
49 c C-- Set coriolis operators
50 c CALL INI_CORI( myThid )
51 c
52 c#ifdef INCLUDE_LAT_CIRC_FFT_FILTER_CODE
53 cC-- Latitude circle filter initialisation
54 c CALL FILTER_LATCIRC_FFT_INIT(myThid)
55 c _BARRIER
56 c#endif
57 c
58 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
59 c
60 c call exf_Init( mythid )
61 c
62 c #ifdef ALLOW_CLIMTEMP_RELAXATION
63 c c-- Set the relaxation coefficient to the temperature climatology.
64 c call exf_GetTempClimLambda(
65 c I mythid
66 c & )
67 c _BARRIER
68 c #endif
69 c #ifdef ALLOW_CLIMSALT_RELAXATION
70 c c-- Set the relaxation coefficient to the salinity climatology.
71 c call exf_GetSaltClimLambda(
72 c I mythid
73 c & )
74 c _BARRIER
75 c #endif
76 c #ifdef ALLOW_CLIMSST_RELAXATION
77 c c-- Set the relaxation coefficient to the sst climatology.
78 c call exf_GetSSTClimLambda(
79 c I mythid
80 c & )
81 c _BARRIER
82 c #endif
83 c #ifdef ALLOW_CLIMSSS_RELAXATION
84 c c-- Set the relaxation coefficient to the sss climatology.
85 c call exf_GetSSSClimLambda(
86 c I mythid
87 c & )
88 c _BARRIER
89 c #endif
90 c #endif
91 c
92 c c-- Finally, summarise the model cofiguration.
93 c CALL CONFIG_SUMMARY( myThid )
94 c .
95 c .
96 c .
97 c
98 c
99 c external_forcing.F - Add relaxation to climatological fields.
100 c
101 c
102 c Modifications in subroutine
103 c EXTERNAL_FORCING_T (taken from c25):
104 c ------------------------------------
105 c .
106 c .
107 c .
108 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
109 c #include "exf_clim.h"
110 c #endif
111 c .
112 c .
113 c .
114 c C-- Forcing term
115 c C Add heat in top-layer
116 c IF ( kLev .EQ. 1 ) THEN
117 c DO j=jMin,jMax
118 c DO i=iMin,iMax
119 c gT(i,j,kLev,bi,bj)=gT(i,j,kLev,bi,bj)
120 c & +maskC(i,j)*(
121 c & -lambdaThetaClimRelax*(theta(i,j,kLev,bi,bj)-SST(i,j,bi,bj))
122 c & -Qnet(i,j,bi,bj)*recip_Cp*recip_rhoNil*recip_dRf(kLev) )
123 c
124 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
125 c #ifdef ALLOW_CLIMSST_RELAXATION
126 c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
127 c & maskc(i,j)*lambda_climsst(i,j,bi,bj)*
128 c & ( theta(i,j,klev,bi,bj) -
129 c & climsst(i,j,bi,bj) )
130 c #endif
131 c #endif
132 c
133 c ENDDO
134 c ENDDO
135 c ENDIF
136 c
137 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
138 c #ifdef ALLOW_CLIMTEMP_RELAXATION
139 c do j=jmin,jmax
140 c do i=imin,imax
141 c gt(i,j,klev,bi,bj) = gt(i,j,klev,bi,bj) -
142 c & maskc(i,j)*lambda_climtemp(i,j,klev,bi,bj)*
143 c & ( theta(i,j,klev,bi,bj) -
144 c & climtemp(i,j,klev,bi,bj) )
145 c enddo
146 c enddo
147 c #endif
148 c #endif
149 c .
150 c .
151 c .
152 c
153 c
154 c Modifications in subroutine
155 c EXTERNAL_FORCING_S (taken from c25):
156 c ------------------------------------
157 c .
158 c .
159 c .
160 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
161 c #include "exf_clim.h"
162 c #endif
163 c .
164 c .
165 c .
166 c C-- Forcing term
167 c C Add fresh-water in top-layer
168 c IF ( kLev .EQ. 1 ) THEN
169 c DO j=jMin,jMax
170 c DO i=iMin,iMax
171 c gS(i,j,kLev,bi,bj)=gS(i,j,kLev,bi,bj)
172 c & +maskC(i,j)*(
173 c & -lambdaSaltClimRelax*(salt(i,j,kLev,bi,bj)-SSS(i,j,bi,bj))
174 c #ifdef ALLOW_NATURAL_BCS
175 c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*salt(i,j,kLev,bi,bj)
176 c #else
177 c & +EmPmR(i,j,bi,bj)*recip_dRf(1)*35.
178 c #endif
179 c & )
180 c
181 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
182 c #ifdef ALLOW_CLIMSSS_RELAXATION
183 c gs(i,j,kLev,bi,bj) = gs(i,j,kLev,bi,bj) -
184 c & maskc(i,j)*lambda_climsss(i,j,bi,bj)*
185 c & ( salt(i,j,kLev,bi,bj) -
186 c & climsss(i,j,bi,bj) )
187 c #endif
188 c #endif
189 c
190 c ENDDO
191 c ENDDO
192 c ENDIF
193 c
194 c #ifdef INCLUDE_EXTERNAL_FORCING_PACKAGE
195 c #ifdef ALLOW_CLIMSALT_RELAXATION
196 c do j=jmin,jmax
197 c do i=imin,imax
198 c gs(i,j,klev,bi,bj) = gs(i,j,klev,bi,bj) -
199 c & maskc(i,j)*lambda_climsalt(i,j,klev,bi,bj)*
200 c & ( salt(i,j,klev,bi,bj) -
201 c & climsalt(i,j,klev,bi,bj) )
202 c enddo
203 c enddo
204 c #endif
205 c #endif
206 c .
207 c .
208 c .

  ViewVC Help
Powered by ViewVC 1.1.22