3 |
Notes on tags used in MITgcmUV |
Notes on tags used in MITgcmUV |
4 |
============================== |
============================== |
5 |
|
|
6 |
|
ecco_c50_e33a |
7 |
|
o first step in c51 merge |
8 |
|
- redundant update in model/src/ |
9 |
|
- merge back's in autodiff, ctrl, kpp, seaice |
10 |
|
|
11 |
|
ecco_c50_e33 |
12 |
|
o minor changes to pkg/seaice pkg/cost/cost_ice.F |
13 |
|
and verification/natl_box_adjoint/README |
14 |
|
o Modif's to enable tangent linear run in ECCO environment |
15 |
|
including time-dependent forcing |
16 |
|
* main problem is missing call mdsreadfield out of exf_set_gen |
17 |
|
(i.e. computation of trajectory in TLM mode) |
18 |
|
* incorrect g_active_write_... |
19 |
|
* (re-) init of bar files and g_bar files |
20 |
|
o Reverted back to 3-dim. tbar, sbar for SST, SSS bar files. |
21 |
|
o MERGES: |
22 |
|
* obcs/ ctrl/ G. Gebbie code |
23 |
|
(major changes in ctrl handling, volume flux balancing etc.) |
24 |
|
* cost/ ctrl/ A. Koehl code |
25 |
|
- new cost contributions (new data types) |
26 |
|
- efficient pack/unpack for time-dependent 2-d fields |
27 |
|
o replaced mutiple ctrl_get... by single generic ctrl_get_gen.F |
28 |
|
(except obcs) |
29 |
|
o somewhat cleaned package initialisation sequence for |
30 |
|
ctrl/ cost/ ecco/ |
31 |
|
o extended grdchk to enable obcs gradient checks |
32 |
|
o some generalizations for easier TLM <-> ADM switches |
33 |
|
o added configuration example for parallel divided adjoint |
34 |
|
(see verification/natl_box_adjoint/code_diva_mpi/README ) |
35 |
|
o started verification exp. for obcs control |
36 |
|
(still needs checking) |
37 |
|
|
38 |
|
ecco_c50_e32 |
39 |
|
o Patrick's adjoint-model storage directives for pkg/seaice |
40 |
|
o merged with checkpoint50g_post (pkg/seaice and verification/lab_sea) |
41 |
|
- added SEAICE_MULTILEVEL for 8-category sea-ice thermodynamics |
42 |
|
- LSR sea-ice dynamic solver moved to SouthWest B-grid location and |
43 |
|
made the default because of faster convergence than ADI |
44 |
|
o Modifications for adjoint of SEAICE_ALLOW_DYNAMICS |
45 |
|
- extended state in checkpoint_lev... |
46 |
|
- in lsr.F, replaced GO TO by fixed loop index (also avoid DO WHILE) |
47 |
|
- YEAH: in lsr.F, (first) successful use of CADJ LOOP = ITERATION |
48 |
|
- avoid stoing in S/R budget for now |
49 |
|
- in dynsolver.F, avoid NPSEUDO loop for adjoint |
50 |
|
- new comlev1_lsr in the_main_loop |
51 |
|
o Small modif's in lsopt/, optim/ to ease compilation |
52 |
|
New script to run optim (lsopt) |
53 |
|
|
54 |
|
ecco_c50_e31 |
55 |
|
o exf totally restructured |
56 |
|
- replaced all exf_set_ routines by one generic exf_set_gen.F |
57 |
|
and made sure it's still differentiable |
58 |
|
- split exf_getffields.F into new exf_bulkformulae.F |
59 |
|
- exf_inscal_/exf_outscal_ suffixes consistent with field names |
60 |
|
o New cost function: Tini-Tfin to do model spinup optimization. |
61 |
|
o Started new verification exp for Tini-Tfin optimization. |
62 |
|
|
63 |
|
ecco_c50_e30 |
64 |
|
o corrected CPP option mismatch in exf_Bulk... functions for case |
65 |
|
#define ALLOW_ATM_WIND && #undef ALLOW_ATM_TEMP |
66 |
|
o Merging from release1_p13 and from icebear5 |
67 |
|
- bug fix for pkg/seaice dynamic solver |
68 |
|
- Added SEAICE_initialHEFF to pkg/seaice |
69 |
|
- Additional options for pkg/cost/cost_ice.F |
70 |
|
- Updates to verification/natl_box_adjoint |
71 |
|
- pkg/ctrl/ctrl_init.F |
72 |
|
Fix for determination of startrec and endrec. |
73 |
|
- pkg/cal/cal_toseconds.F |
74 |
|
Fix for negative intervals shorter than 1 day. |
75 |
|
|
76 |
|
ecco_c50_e29 |
77 |
|
Bug fix for merging between c50 and KPP. |
78 |
|
ikey was passed from thermodynamics to kpp_calc via |
79 |
|
common block rather than being recomputed in kpp_calc, |
80 |
|
in contradiction with new key itdkey. |
81 |
|
New key ikppkey created, and tamc.h headers updated. |
82 |
|
|
83 |
|
ecco_c50_e28 |
84 |
|
o major merge: |
85 |
|
ecco-branch merged with checkpoint50 |
86 |
|
gmredi now available, grdchk, DIVA up-to-date for MPI |
87 |
|
However, two outstanding problems: |
88 |
|
- kpp adjoint is broken, needs fixing! |
89 |
|
- a few minor modif's in handling of CPP option |
90 |
|
ALLOW_TANGENTLINEAR_RUN in conjunction with |
91 |
|
ALLOW_ECCO_OPTIMIZATION are necessary to enable |
92 |
|
TLM runs with ECCO setup |
93 |
|
|
94 |
|
ecco_c44_e27 |
95 |
|
o exf: |
96 |
|
- Enable initialisation of forcing fields to constant |
97 |
|
(runtime) values. |
98 |
|
- in exf_getffields.F |
99 |
|
Reduce i-/j-loop to interior domain, discarding overlaps. |
100 |
|
That also fixes wrong TAF-key computations for key_1, key_2 |
101 |
|
with bulf formulae. |
102 |
|
- exf_init.F modify #ifdef for exf_init_evap |
103 |
|
- exf_getffieldrec.F, ctrl_getrec.F |
104 |
|
The following INT-usages are not safe: |
105 |
|
fldsecs = int(fldsecs/fldperiod)*fldperiod |
106 |
|
fldcount = int(fldsecs/fldperiod) + 1 |
107 |
|
and were modified. |
108 |
|
- added repeatPeriod (from MAIN branch) |
109 |
|
o grdchk: updated and merged |
110 |
|
- has both ADM and TLM checks |
111 |
|
- works for single- and multi-proc. |
112 |
|
- output cleaned |
113 |
|
- worked successfully for parallel DIVA |
114 |
|
Needed one update in EEPARAMS.h and updates in ctrl package |
115 |
|
More modif's may be necessary for ECCO code to support TLM. |
116 |
|
o autodiff: checkpoint_lev... |
117 |
|
- updated storing for bulk formulae (some arrays were missing) |
118 |
|
- added state for seaice package |
119 |
|
- synchronized with main branch |
120 |
|
o DIVA: |
121 |
|
Modif.s in |
122 |
|
- cost_init.F |
123 |
|
- cost_averagesfields.F |
124 |
|
- ecco_the_main_loop.F |
125 |
|
- ecco_the_model_main.F |
126 |
|
and added cost_final_restore.F cost_final_store.F |
127 |
|
o With these changes, it is possible to fully separate |
128 |
|
the first forward run to compute the cost function (mdthe_main_loop) |
129 |
|
and adjoint runs over individual DIVA intervals (adthe_main_loop) |
130 |
|
into separate model executions. |
131 |
|
This enables better tuning of DIVA to given queue sizes. |
132 |
|
o Loss of cost function value in consecutive DIVA runs is |
133 |
|
fixed by storing to 'costfinal' file. |
134 |
|
o Appropriate call of ctrl_unpack/_pack,grdchk_main at |
135 |
|
beginning/end of adjoint integration is accounted for. |
136 |
|
The current changes apply to TAF-1.4.26. |
137 |
|
TAF has one remaining bug, requiring one manual change |
138 |
|
(see MITgcm manual). |
139 |
|
o bug fix plus modif for ubar, vbar in cost_averagesfields |
140 |
|
o cal: synchronized between MAIN and ecco-branch |
141 |
|
|
142 |
|
icebear4 |
143 |
|
o Added cost_ice for sea-ice volume sensitivity experiment. |
144 |
|
o ecco_the_model_main.F: SEAICE_WRITE_PICKUP must precede WRITE_CHECKPOINT |
145 |
|
o Reduced derivative singularities in pkg/seaice. |
146 |
|
o Updated verification/natl_box_adjoint |
147 |
|
|
148 |
|
icebear3 |
149 |
|
o Removed spurious iikey and idkey |
150 |
|
o pkg/exf |
151 |
|
- bug fix in treatment of downward radiation |
152 |
|
o pkg/seaice |
153 |
|
- added initial sea-ice thickness parameter SEAICE_initialHEFF |
154 |
|
o updated verification/natl_box_adjoint |
155 |
|
|
156 |
|
icebear2 |
157 |
|
o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf, |
158 |
|
kpp_transport_t.F,and ecco_the_main_loop.F |
159 |
|
o adjoint-friendly modifications to pkg/seaice |
160 |
|
o added verification/lab_sea as per release1_p12_pre |
161 |
|
|
162 |
|
ecco_c44_e26 |
163 |
|
o Merging pkg/exf and pkg/seaice from cvs tag ecco_ice2 |
164 |
|
o exf: Modifications to correctly handle evap field for adjoint |
165 |
|
o grdchk: |
166 |
|
Added code to perform gradient checks for bulk formulae/atmos. state |
167 |
|
(atemp, aqh, uwind, vwind). |
168 |
|
NOTE: |
169 |
|
This package is out of synch with c48 package. |
170 |
|
The latter also has the tangent linear gradient checks. |
171 |
|
Need to be merged. |
172 |
|
o verification/natl_box_adjoint: |
173 |
|
* added new setup: code_bulk/, input_bulk, results_bulk |
174 |
|
(Experiment 2, described in README) |
175 |
|
uses bulk formulae and atmos. state as control instead of |
176 |
|
air-sea fluxes. |
177 |
|
Performs gradient checks for first 4 elements of atemp control. |
178 |
|
* changed standard verification to perform |
179 |
|
gradient checks on first 4 elements on hflux control. |
180 |
|
* gmredi switched off (will come after merge with c48). |
181 |
|
|
182 |
|
ecco_c44_e25 |
183 |
|
o Merging some GM changes from main trunk (c47) to ecco-branch. |
184 |
|
o Updating verif. natl_box_adjoint with GMRedi. |
185 |
|
o Adding setup with explicit differentiaton of pressure solver. |
186 |
|
o Bug fix: missing OBCS_OPTIONS.h for sponge layer code. |
187 |
|
o (Re-?) Commiting old bug fixes in kpp to ecco-branch |
188 |
|
(kpp_calc.F, kpp_routines.F) |
189 |
|
o exf: |
190 |
|
updated external forcing package |
191 |
|
- cleaned old exfa stuff |
192 |
|
- bug fixes |
193 |
|
(missing OBCS_OPTIONS.h in two routines) |
194 |
|
- enable easy to use "no forcing". |
195 |
|
- added exf I/O for atmospheric loading |
196 |
|
- added exf I/O for runoff data |
197 |
|
- transfered scaling between exf <-> MITgcm to exf namelist |
198 |
|
|
199 |
|
ecco_c44_e24 |
200 |
|
o modifications to gradient check package (Martin Losch) |
201 |
|
- enable centered differences |
202 |
|
- modified format of standard output |
203 |
|
o bug fix for nwettile contents |
204 |
|
so far assumed global sum in first entry (1,1,k), |
205 |
|
needed for global control vector |
206 |
|
-> introduced new variable nwet[c/w/s]global(nr) |
207 |
|
o shifts of calls to cal/exf package to be accessible |
208 |
|
in MITgcm stand-alone |
209 |
|
o shifted packages_init_variables before convective_adjustment_ini |
210 |
|
(corresponding update of TAF tape initialisation). |
211 |
|
o removed auxiliary field in impldiff |
212 |
|
(caused numerical differences for GMRedi cases) |
213 |
|
o updated obcs control part (G. Gebbie) |
214 |
|
o removed some f90 comments ("!") |
215 |
|
o Bug fixes and updates in cost package |
216 |
|
* cost_final: correct multiplier mult_tauv, mult_sflux |
217 |
|
* cost_hyd: added call cost_ssh |
218 |
|
* cost_init_barfiles.F: replaced arrays by tmpfld's |
219 |
|
* cost_readtopexmean.F: ersmask -> tpmeanmask |
220 |
|
* cost_weights.F: corrected wtheta[2], wsalt[2] |
221 |
|
o cleaned exchanges in cg2d.F |
222 |
|
|
223 |
|
ecco_c44_e23 |
224 |
|
merged patches between release1_p1 and release1_p2: |
225 |
|
o fixed array boundary problem for adjoint |
226 |
|
(related to partial recomputation within subroutine |
227 |
|
related to dynamics -> calc_viscosity -> mom_... |
228 |
|
o fixed recomputation in thermodynamics |
229 |
|
o prepare (but not complete) recomputation problem in impldiff |
230 |
|
o fixed problem for adjoint of global_max |
231 |
|
o switched off sponge layer code in external_forcing |
232 |
|
Bug fix in ctrl_mask_set_yz (spotted by G. Gebbie) |
233 |
|
|
234 |
|
ecco_c44_e22 |
235 |
|
o Finally, the merges with the Scripps cost function terms: |
236 |
|
Various additions, modifications, quality checks. |
237 |
|
o Plus: Included switch ALLOW_AUTODIFF_MONITOR to handle |
238 |
|
monitoring of adjoint state. |
239 |
|
o Plus: removed comm_stats, ini_communication_patterns from diff. list |
240 |
|
(no more need to "keep" MPI headers for adjoint generation) |
241 |
|
o Plus: exf changes: |
242 |
|
o added run-off routine |
243 |
|
o additional storing needed for ustress,vstess |
244 |
|
because of state-dependent quality check |
245 |
|
o added missing initialisations |
246 |
|
o Plus: genmake with MAKEDEPEND variable was still missing in ecco-branch |
247 |
|
NB: - verification/natl_box_adjoint/ 240 steps run |
248 |
|
* looks ok under Linux (twain.lcs.mit.edu) |
249 |
|
* looks ok on MIT SUN's (fjord.mit.edu) |
250 |
|
* NaN in reverse mode on Scripps SUN's at iter=214 |
251 |
|
* NaN in reverse mode on IBM SP3 (BlueHorizon) at iter=204 |
252 |
|
- 1 year forward int. global 2x2 deg. produces similar cost functions |
253 |
|
* all cost terms of new code are slightly smaller (0.5 to 3%). |
254 |
|
|
255 |
|
ecco_c44_e21 |
256 |
|
o reversed order of ctrl/cost initialisation |
257 |
|
o gmredi_slope_psi.F: Inconsistent types in MIN/MAX expressions |
258 |
|
o modified to enable ctrl field swapping |
259 |
|
o bug fix for global sum of ncvarlength in ctrl_init |
260 |
|
o no more call to ctrl_unpack from ctrl_init |
261 |
|
o no more write of ctrl vector in ctrl_pack |
262 |
|
however, init. of control vector from ctrl_unpack |
263 |
|
o various bug fixes & consistent nobcs handling in |
264 |
|
ctrl_pack/unpack routines (by G. Gebbie) |
265 |
|
o optim package: Added obcs control part for lsopt I/O |
266 |
|
(by G. Gebbie) |
267 |
|
o missing call to obcs_diags |
268 |
|
o moved calls in packages_init_fixed to packages_readparms |
269 |
|
because some quantities are needed earlier. |
270 |
|
|
271 |
|
ecco_c44_e20 |
272 |
|
o before major merges from the Scripps setup |
273 |
|
here are two small updates: |
274 |
|
- field swapping for surface flux controls enabled |
275 |
|
(remains t.b.d. for atmos. state plus obcs) |
276 |
|
- bug fix in active_file.F for xz-/yz- routines |
277 |
|
- added missing xz-/yz- routines to active_file_ad.F |
278 |
|
|
279 |
|
ecco_c44_e19 |
280 |
|
o merged necessary patches: |
281 |
|
- AD-related changes for GMRedi |
282 |
|
- fixes i KPP (delZ -> drF) |
283 |
|
- hook to OBCS songe layer code in external_forcing |
284 |
|
- errorMessageUnit non-zero in eeboot.F |
285 |
|
- included GMREDI, EXACT_CONSERV to natl_box_adjoint verif. |
286 |
|
|
287 |
|
ecco_c44_e18 |
288 |
|
o sponge layer code for obcs was missing |
289 |
|
- added hook in external_forcing.F |
290 |
|
- added storing for TAF |
291 |
|
o new routine cost_init_barfiles to initialise |
292 |
|
adjoint fields adtbar, adsbar, adpsbar |
293 |
|
(needed in conjunction with corrected ladinit for active I/O) |
294 |
|
o cleaned up and corrected order in packages_readparms, ecco_readparms |
295 |
|
o corrected and simplified weights for obcs controls |
296 |
|
- weight fields simplified |
297 |
|
- bug fix in ctrl_pack |
298 |
|
- no more write of control vector in ctrl_pack |
299 |
|
o i/j index bug fixes in cost_ssh_mean |
300 |
|
|
301 |
|
ecco_c44_e17 |
302 |
|
o bug fixes in cost package |
303 |
|
* wrong identifier for active I/O of monthly mean psbar |
304 |
|
(cost_averagesfields, cost_ssh) xx_psbar_dummy |
305 |
|
* cleaned all identifier for active I/O of monthly fields |
306 |
|
* wrong ladinit in various cost routines |
307 |
|
o merge with interval (chkpt44c_post - chkpt44d_post) |
308 |
|
* added missing EXCLUDE_MONITOR flags |
309 |
|
* changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi |
310 |
|
(incompatible typ in MIN/MAX expressions caused problems |
311 |
|
on IBM SP3) |
312 |
|
* in genmake added variable MAKEDEPEND |
313 |
|
plus resetting for case SunOS |
314 |
|
added timer_stats.c routine for IBM SP3 |
315 |
|
* removed variables in dynamics |
316 |
|
|
317 |
|
ecco_c44_e16 |
318 |
|
o new ECCO checkpoint, the first since ecco_c43_e15 |
319 |
|
which is branched from MITgcm. |
320 |
|
All changes were merged in between (see ecco-branch-mod? tags). |
321 |
|
o last changes: |
322 |
|
* assuming path for TAF and TAMC are known (e.g. in $path) |
323 |
|
* genmake: |
324 |
|
- added tools/xmakedepend to circumvene shortcoming of |
325 |
|
SUN's makedepend (size too small) |
326 |
|
- invoking ../tools/xmakedepend instead of makedepend |
327 |
|
- changed compiler flags for case SunOS |
328 |
|
|
329 |
|
ecco-branch-mod5 |
330 |
|
o mod's to reproduce open boundary run |
331 |
|
o enable field swapping for OB's and climatology |
332 |
|
o update store directives for OB control |
333 |
|
o added option ALLOW_OBCS_PRESCRIBE |
334 |
|
o call of getobcs now out of obcs_calc (param. list modified) |
335 |
|
|
336 |
|
ecco-branch-mod4 |
337 |
|
o this is the second part of changes necessary to reconcile |
338 |
|
the natl_box_adjoint verification (with and without grdchk). |
339 |
|
>>>!!! CHANGES BETWEEN THE TAGS ecco-branch-mod3 !!!<<< |
340 |
|
>>>!!! AND ecco-branch-mod4 !!!<<< |
341 |
|
>>>!!! SHOULD BE MERGED INTO THE MAIN TRUNK !!!<<< |
342 |
|
- genmake: removed $S64 overwrite for case SunOS |
343 |
|
- pkg/exf: update and corrections for field swapping and obcs |
344 |
|
- pkg/ecco: parameter lists for the_model_main, the_main_loop |
345 |
|
harmonized between ECCO and MITgcm |
346 |
|
- pkg/autodiff: added flow directives for obcs, mdsio_gl_slice |
347 |
|
updated checkpointing_lev... lists for obcs |
348 |
|
- model/src: minor changes in forward_step, plot_field |
349 |
|
- pkg/mdsio: added mdsio_gl_slice |
350 |
|
|
351 |
|
ecco-branch-mod3 |
352 |
|
o this is the first part of changes necessary to reconcile |
353 |
|
natl_box_adjoint verification (with and without grdchk). |
354 |
|
This set of changes is relevant for ECCO only. |
355 |
|
The next set/tag of changes (ecco-branch-mod4) |
356 |
|
should be merged into the main trunk. |
357 |
|
- update some options |
358 |
|
- parameter lists of ecco_the_model_main and ecco_the_main_loop |
359 |
|
differed from those of the MITgcm counterparts. |
360 |
|
|
361 |
|
ecco-branch-mod2 |
362 |
|
o update ecco-branch-mod1 to checkpoint44 |
363 |
|
o exclude from updates: |
364 |
|
- verification/ |
365 |
|
- adjoint/ |
366 |
|
- pkg/cost |
367 |
|
- pkg/ctrl |
368 |
|
- pkg/ecco |
369 |
|
- pkg/obcs |
370 |
|
- model/src/the_model_main.F |
371 |
|
- model/src/the_main_loop.F |
372 |
|
|
373 |
|
checkpoint44 |
374 |
|
o apply Shapiro filter on T&S before calc_PhiHyd (stagger time stepping) |
375 |
|
o fix bug in mom_vi_del2uv |
376 |
|
o added some stuff for AD |
377 |
|
|
378 |
|
ecco-branch-mod1 |
379 |
|
o based on c43 |
380 |
|
o replaced packages cost, ctrl, ecco, obcs |
381 |
|
o removed MITgcm verif.'s, added ECCO verif.'s |
382 |
|
o added lsopt, optim for line search optimization. |
383 |
|
|
384 |
|
checkpoint43 |
385 |
|
o added two new advection tests |
386 |
|
o added global 4x4 degree ocean test |
387 |
|
o added test of H&S94 with free surface on cube |
388 |
|
o some final mods for gradient check, adjoint,... |
389 |
|
|
390 |
|
checkpoint42 |
391 |
|
Fixed AD-related problems: |
392 |
|
o Store directives up-to-date with re-arranged Adams-Bashforth |
393 |
|
(mainly thermodynamics.F) |
394 |
|
o New store directives for multi-dim. advection schemes |
395 |
|
* new CPP flag ALLOW_MULTI_DIM_ADVECTION |
396 |
|
* new common block and key passkey |
397 |
|
(mainly gad_advection.F) |
398 |
|
o Modified store directives for split of dynamics/thermodynamics |
399 |
|
for the case ALLOW_KPP |
400 |
|
o Cleaned argument list for timestep_tracer.F |
401 |
|
|
402 |
|
checkpoint41 |
403 |
|
o re-formatted/added comments in prologues of key subroutines |
404 |
|
to work with protex |
405 |
|
|
406 |
checkpoint40 |
checkpoint40 |
407 |
o moved calc_gs, calc_gt and calc_tr1 back to model/src |
o moved calc_gs, calc_gt and calc_tr1 back to model/src |
408 |
o added FLT (floats) package from Arne along with demo. experiment |
o added FLT (floats) package from Arne along with demo. experiment |