/[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.3 - (show annotations) (download)
Tue Feb 18 05:33:54 2003 UTC (21 years, 3 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint50c_post, checkpoint50c_pre, checkpoint48i_post, checkpoint51, checkpoint50, checkpoint50d_post, checkpoint50b_pre, checkpoint51d_post, checkpoint48f_post, checkpoint48h_post, checkpoint51b_pre, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint51b_post, checkpoint51c_post, checkpoint50g_post, checkpoint50h_post, checkpoint50e_pre, checkpoint50i_post, checkpoint50e_post, checkpoint50d_pre, checkpoint51e_post, checkpoint49, checkpoint48g_post, checkpoint50b_post, checkpoint51a_post
Changes since 1.2: +16 -13 lines
File MIME type: text/plain
Merging from release1_p12:
o Modifications for using pkg/exf with pkg/seaice
  - improved description of the various forcing configurations
  - added basic radiation bulk formulae to pkg/exf
  - units/sign fix for evap computation in exf_getffields.F
  - updated verification/global_with_exf/results/output.txt
o Added pkg/sbo for computing IERS Special Bureau for the Oceans
  (SBO) core products, including oceanic mass, center-of-mass,
  angular, and bottom pressure (see pkg/sbo/README.sbo).
o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F
  to avoid negative values in shallow regions.
  - updated verification/natl_box/results/output.txt
  - updated verification/lab_sea/results/output.txt
o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F
o Added useSingleCpuIO option (see PARAMS.h).
o Updated useSingleCpuIO option in mdsio_writefield.F to
  work with multi-field files, e.g., for single-file pickup.
o pkg/seaice:
  - bug fix in growth.F: QNET for no shortwave case
  - added HeffFile for specifying initial sea-ice thickness
  - changed SEAICE_EXTERNAL_FLUXES wind stress implementation
o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf,
  kpp_transport_t.F, forward_step.F, and the_main_loop.F
o pkg/seaice:
  - adjoint-friendly modifications
  - added a SEAICE_WRITE_PICKUP at end of the_model_main.F

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