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

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

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


Revision 1.1.6.1 - (hide annotations) (download)
Thu Feb 13 19:28:37 2003 UTC (21 years, 4 months ago) by dimitri
Branch: ecco-branch
CVS Tags: ecco_c50_e32, ecco_c50_e33, ecco_c50_e30, ecco_c50_e31, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, icebear5, icebear4, icebear3, icebear2, ecco_c50_e29, ecco_c50_e28, ecco_c50_e33a, ecco_c51_e34, ecco_c44_e26, ecco_c44_e27
Branch point for: icebear
Changes since 1.1: +223 -14 lines
File MIME type: text/plain
o Merging pkg/exf and pkg/seaice from cvs tag ecco_ice2

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

  ViewVC Help
Powered by ViewVC 1.1.22