/[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.2 - (hide 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 dimitri 1.2 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