3 |
Notes on tags used in MITgcmUV |
Notes on tags used in MITgcmUV |
4 |
============================== |
============================== |
5 |
|
|
6 |
|
ecco_c50_e28 |
7 |
|
o major merge: |
8 |
|
ecco-branch merged with checkpoint50 |
9 |
|
gmredi now available, grdchk, DIVA up-to-date for MPI |
10 |
|
However, two outstanding problems: |
11 |
|
- kpp adjoint is broken, needs fixing! |
12 |
|
- a few minor modif's in handling of CPP option |
13 |
|
ALLOW_TANGENTLINEAR_RUN in conjunction with |
14 |
|
ALLOW_ECCO_OPTIMIZATION are necessary to enable |
15 |
|
TLM runs with ECCO setup |
16 |
|
|
17 |
|
ecco_c44_e27 |
18 |
|
o exf: |
19 |
|
- Enable initialisation of forcing fields to constant |
20 |
|
(runtime) values. |
21 |
|
- in exf_getffields.F |
22 |
|
Reduce i-/j-loop to interior domain, discarding overlaps. |
23 |
|
That also fixes wrong TAF-key computations for key_1, key_2 |
24 |
|
with bulf formulae. |
25 |
|
- exf_init.F modify #ifdef for exf_init_evap |
26 |
|
- exf_getffieldrec.F, ctrl_getrec.F |
27 |
|
The following INT-usages are not safe: |
28 |
|
fldsecs = int(fldsecs/fldperiod)*fldperiod |
29 |
|
fldcount = int(fldsecs/fldperiod) + 1 |
30 |
|
and were modified. |
31 |
|
- added repeatPeriod (from MAIN branch) |
32 |
|
o grdchk: updated and merged |
33 |
|
- has both ADM and TLM checks |
34 |
|
- works for single- and multi-proc. |
35 |
|
- output cleaned |
36 |
|
- worked successfully for parallel DIVA |
37 |
|
Needed one update in EEPARAMS.h and updates in ctrl package |
38 |
|
More modif's may be necessary for ECCO code to support TLM. |
39 |
|
o autodiff: checkpoint_lev... |
40 |
|
- updated storing for bulk formulae (some arrays were missing) |
41 |
|
- added state for seaice package |
42 |
|
- synchronized with main branch |
43 |
|
o DIVA: |
44 |
|
Modif.s in |
45 |
|
- cost_init.F |
46 |
|
- cost_averagesfields.F |
47 |
|
- ecco_the_main_loop.F |
48 |
|
- ecco_the_model_main.F |
49 |
|
and added cost_final_restore.F cost_final_store.F |
50 |
|
o With these changes, it is possible to fully separate |
51 |
|
the first forward run to compute the cost function (mdthe_main_loop) |
52 |
|
and adjoint runs over individual DIVA intervals (adthe_main_loop) |
53 |
|
into separate model executions. |
54 |
|
This enables better tuning of DIVA to given queue sizes. |
55 |
|
o Loss of cost function value in consecutive DIVA runs is |
56 |
|
fixed by storing to 'costfinal' file. |
57 |
|
o Appropriate call of ctrl_unpack/_pack,grdchk_main at |
58 |
|
beginning/end of adjoint integration is accounted for. |
59 |
|
The current changes apply to TAF-1.4.26. |
60 |
|
TAF has one remaining bug, requiring one manual change |
61 |
|
(see MITgcm manual). |
62 |
|
o bug fix plus modif for ubar, vbar in cost_averagesfields |
63 |
|
o cal: synchronized between MAIN and ecco-branch |
64 |
|
|
65 |
|
icebear4 |
66 |
|
o Added cost_ice for sea-ice volume sensitivity experiment. |
67 |
|
o ecco_the_model_main.F: SEAICE_WRITE_PICKUP must precede WRITE_CHECKPOINT |
68 |
|
o Reduced derivative singularities in pkg/seaice. |
69 |
|
o Updated verification/natl_box_adjoint |
70 |
|
|
71 |
|
icebear3 |
72 |
|
o Removed spurious iikey and idkey |
73 |
|
o pkg/exf |
74 |
|
- bug fix in treatment of downward radiation |
75 |
|
o pkg/seaice |
76 |
|
- added initial sea-ice thickness parameter SEAICE_initialHEFF |
77 |
|
o updated verification/natl_box_adjoint |
78 |
|
|
79 |
|
icebear2 |
80 |
|
o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf, |
81 |
|
kpp_transport_t.F,and ecco_the_main_loop.F |
82 |
|
o adjoint-friendly modifications to pkg/seaice |
83 |
|
o added verification/lab_sea as per release1_p12_pre |
84 |
|
|
85 |
|
ecco_c44_e26 |
86 |
|
o Merging pkg/exf and pkg/seaice from cvs tag ecco_ice2 |
87 |
|
o exf: Modifications to correctly handle evap field for adjoint |
88 |
|
o grdchk: |
89 |
|
Added code to perform gradient checks for bulk formulae/atmos. state |
90 |
|
(atemp, aqh, uwind, vwind). |
91 |
|
NOTE: |
92 |
|
This package is out of synch with c48 package. |
93 |
|
The latter also has the tangent linear gradient checks. |
94 |
|
Need to be merged. |
95 |
|
o verification/natl_box_adjoint: |
96 |
|
* added new setup: code_bulk/, input_bulk, results_bulk |
97 |
|
(Experiment 2, described in README) |
98 |
|
uses bulk formulae and atmos. state as control instead of |
99 |
|
air-sea fluxes. |
100 |
|
Performs gradient checks for first 4 elements of atemp control. |
101 |
|
* changed standard verification to perform |
102 |
|
gradient checks on first 4 elements on hflux control. |
103 |
|
* gmredi switched off (will come after merge with c48). |
104 |
|
|
105 |
|
ecco_c44_e25 |
106 |
|
o Merging some GM changes from main trunk (c47) to ecco-branch. |
107 |
|
o Updating verif. natl_box_adjoint with GMRedi. |
108 |
|
o Adding setup with explicit differentiaton of pressure solver. |
109 |
|
o Bug fix: missing OBCS_OPTIONS.h for sponge layer code. |
110 |
|
o (Re-?) Commiting old bug fixes in kpp to ecco-branch |
111 |
|
(kpp_calc.F, kpp_routines.F) |
112 |
|
o exf: |
113 |
|
updated external forcing package |
114 |
|
- cleaned old exfa stuff |
115 |
|
- bug fixes |
116 |
|
(missing OBCS_OPTIONS.h in two routines) |
117 |
|
- enable easy to use "no forcing". |
118 |
|
- added exf I/O for atmospheric loading |
119 |
|
- added exf I/O for runoff data |
120 |
|
- transfered scaling between exf <-> MITgcm to exf namelist |
121 |
|
|
122 |
|
ecco_c44_e24 |
123 |
|
o modifications to gradient check package (Martin Losch) |
124 |
|
- enable centered differences |
125 |
|
- modified format of standard output |
126 |
|
o bug fix for nwettile contents |
127 |
|
so far assumed global sum in first entry (1,1,k), |
128 |
|
needed for global control vector |
129 |
|
-> introduced new variable nwet[c/w/s]global(nr) |
130 |
|
o shifts of calls to cal/exf package to be accessible |
131 |
|
in MITgcm stand-alone |
132 |
|
o shifted packages_init_variables before convective_adjustment_ini |
133 |
|
(corresponding update of TAF tape initialisation). |
134 |
|
o removed auxiliary field in impldiff |
135 |
|
(caused numerical differences for GMRedi cases) |
136 |
|
o updated obcs control part (G. Gebbie) |
137 |
|
o removed some f90 comments ("!") |
138 |
|
o Bug fixes and updates in cost package |
139 |
|
* cost_final: correct multiplier mult_tauv, mult_sflux |
140 |
|
* cost_hyd: added call cost_ssh |
141 |
|
* cost_init_barfiles.F: replaced arrays by tmpfld's |
142 |
|
* cost_readtopexmean.F: ersmask -> tpmeanmask |
143 |
|
* cost_weights.F: corrected wtheta[2], wsalt[2] |
144 |
|
o cleaned exchanges in cg2d.F |
145 |
|
|
146 |
|
ecco_c44_e23 |
147 |
|
merged patches between release1_p1 and release1_p2: |
148 |
|
o fixed array boundary problem for adjoint |
149 |
|
(related to partial recomputation within subroutine |
150 |
|
related to dynamics -> calc_viscosity -> mom_... |
151 |
|
o fixed recomputation in thermodynamics |
152 |
|
o prepare (but not complete) recomputation problem in impldiff |
153 |
|
o fixed problem for adjoint of global_max |
154 |
|
o switched off sponge layer code in external_forcing |
155 |
|
Bug fix in ctrl_mask_set_yz (spotted by G. Gebbie) |
156 |
|
|
157 |
|
ecco_c44_e22 |
158 |
|
o Finally, the merges with the Scripps cost function terms: |
159 |
|
Various additions, modifications, quality checks. |
160 |
|
o Plus: Included switch ALLOW_AUTODIFF_MONITOR to handle |
161 |
|
monitoring of adjoint state. |
162 |
|
o Plus: removed comm_stats, ini_communication_patterns from diff. list |
163 |
|
(no more need to "keep" MPI headers for adjoint generation) |
164 |
|
o Plus: exf changes: |
165 |
|
o added run-off routine |
166 |
|
o additional storing needed for ustress,vstess |
167 |
|
because of state-dependent quality check |
168 |
|
o added missing initialisations |
169 |
|
o Plus: genmake with MAKEDEPEND variable was still missing in ecco-branch |
170 |
|
NB: - verification/natl_box_adjoint/ 240 steps run |
171 |
|
* looks ok under Linux (twain.lcs.mit.edu) |
172 |
|
* looks ok on MIT SUN's (fjord.mit.edu) |
173 |
|
* NaN in reverse mode on Scripps SUN's at iter=214 |
174 |
|
* NaN in reverse mode on IBM SP3 (BlueHorizon) at iter=204 |
175 |
|
- 1 year forward int. global 2x2 deg. produces similar cost functions |
176 |
|
* all cost terms of new code are slightly smaller (0.5 to 3%). |
177 |
|
|
178 |
|
ecco_c44_e21 |
179 |
|
o reversed order of ctrl/cost initialisation |
180 |
|
o gmredi_slope_psi.F: Inconsistent types in MIN/MAX expressions |
181 |
|
o modified to enable ctrl field swapping |
182 |
|
o bug fix for global sum of ncvarlength in ctrl_init |
183 |
|
o no more call to ctrl_unpack from ctrl_init |
184 |
|
o no more write of ctrl vector in ctrl_pack |
185 |
|
however, init. of control vector from ctrl_unpack |
186 |
|
o various bug fixes & consistent nobcs handling in |
187 |
|
ctrl_pack/unpack routines (by G. Gebbie) |
188 |
|
o optim package: Added obcs control part for lsopt I/O |
189 |
|
(by G. Gebbie) |
190 |
|
o missing call to obcs_diags |
191 |
|
o moved calls in packages_init_fixed to packages_readparms |
192 |
|
because some quantities are needed earlier. |
193 |
|
|
194 |
ecco_c44_e20 |
ecco_c44_e20 |
195 |
o before major merges from the Scripps setup |
o before major merges from the Scripps setup |
196 |
here are two small updates: |
here are two small updates: |