/[MITgcm]/MITgcm/doc/tag-index
ViewVC logotype

Contents of /MITgcm/doc/tag-index

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


Revision 1.582 - (show annotations) (download)
Fri Nov 25 06:07:19 2005 UTC (18 years, 5 months ago) by edhill
Branch: MAIN
Changes since 1.581: +4 -1 lines
 o cleanup our namelist syntax in verification:
   - make it more F95 standards compliant (some work still needed)
   - allows the vast majority of our tests to work with gfortran

1 $Header: /u/gcmpack/MITgcm/doc/tag-index,v 1.581 2005/11/24 00:07:29 heimbach Exp $
2 $Name: $
3
4 Notes on tags used in MITgcmUV
5 ==============================
6
7 o cleanup our namelist syntax in verification:
8 - make it more F95 standards compliant (some work still needed)
9 - allows the vast majority of our tests to work with gfortran
10 o Non-Hydrostatic:
11 - put all NH variables (formerly in DYNVARS.h & GW.h) in NH_VARS.h
12 - fix exchange calls for CS-grid using the new EXCH_S3D_RL.
13 o Allow to apply AB on T,S rather than on AB(gT,gS):
14 - implemented within #ifdef ALLOW_ADAMSBASHFORTH_3
15 - use the same arrays (gtNm,gsNm) to hold tracer field at previous
16 time-steps (if AB(T,S)) and tendencies (if AB(gT,gS)).
17 - need a "clever" read_pickup to restart from the other AB formulation
18 o move local commom bloc /GlobalLo/ (used for singleCpuIO) in EESUPPORT.h
19 o remove some unused variables (reduces number of compiler warnings)
20 o adjoint
21 * Disable useVariableViscosity for adjoint for time being
22 (there are a number of extensive recomputations)
23 * Initialize certain variables needed for adjoint
24
25 checkpoint57w_post
26 o pkg/mdsio: use MAX_LEN_FNAM (instead of hard coded 80) for file-names
27 fix the singleCpuIO RS version of MDSWRITEFIELD
28 and add a WARNING if using globalFiles=T with multi-processors.
29 o write grid-file(s) in only one format (MDS or MNC): default=MNC (if
30 using MNC); can force MDS output by setting writegrid_mnc=F in data.mnc
31 o tracer advection scheme:
32 add DST-2 (=Lax-Wendroff) & 1rst order upwind schemes (the way to get
33 those 2 schemes before, changing GAD_FLUX_LIMITER.h + to recompile,
34 was not very convenient).
35 add implicit version for DST-3 & DST3_Flux_Limit vertical advection;
36 (further tests needed for the implicit DST & Flux-Limiter schemes).
37 o PTRACERS: added namelist parameter PTRACERS_ref in analogy to tRef
38 and sRef for convenience, handy, when you want to initialize
39 ptracers in a large domain with a constant non-zero value. Also,
40 untangle ptracers_init.F a little.
41
42 checkpoint57v_post
43 o change dome exp. to use variable viscosity in side-drag terms.
44 o remove all the files from the cfc_offline test since they are now
45 incorporated into tutorial_cfc_offline which has been producing
46 identical results for a few days of testing
47 o add new parameter: sideDragFactor to enable half-slip-side BC
48 and change side-drag S/R to use viscosity from mom_calc_visc
49 (can switch back by setting sideDragFactor=0.); affects results at
50 truncation level; regenerate output for exp.: global_ocean.cs32x10(x3),
51 global_ocean_ebm, global_ocean_pressure, matrix_example & MLAdjust(x5).
52 o vorticity & strain are now computed without masking, to account for
53 no-slip-side BC in variable viscosity calculation ; mask is applied
54 anyway later on, before computing advection/coriolis terms.
55 o modify exp4 to test new obcs support for reading from external files
56 and for passive tracers
57 o fix behavior of ptracers_monitor when monitor output is written to a
58 netcdf-file; still not independent of monitor.F (writes in the same
59 file).
60 o change default value of tRef (put a uniform, meaningful value for ocean
61 & atmos) and initialize sRef (was missing, as Martin mentioned).
62 o Redefine viscC?Leith*. Change the coefficients of Leith viscosity
63 to be proportional to enstrophy dissipation length. Thus,
64 viscC?leith?_new=pi*(viscC?leith?_old)^(1/3)
65 This is now consistent with Smagorinsky and with the manual.
66
67 checkpoint57u_post
68 o OBCS and PTRACERS: add open boundary support for passive tracers
69 - either use homogenous (pseudo) v.Neumann conditions or prescribe
70 OB-values from file; this is not different from the way theta and salinity
71 are treated
72 - however, Orlanski-radiation conditions are not supported, and the model
73 will stop if you use pTracers and Orlanski at the same time.
74 - beefed up the rountine obcs_external_fields_load: now only those open
75 boundary values are overwritten with values from files for which there
76 are really files, otherwise the OB-fields remain untouched. This makes
77 it possible to use different OBs at different ends of the domain (as
78 with EXF)
79 o reduce number of exch calls in shap_filt (s2).
80 o CS-grid: fix divergence contribution to Leith viscosity. Affects (@
81 truncation level) 4/5 MLAdjust test results (11&12 digits match).
82
83 checkpoint57t_post
84 o test biharmonic viscosity + no-slip with exp: global_ocean.cs32x15.viscA4
85 o finish adding brackets (coriolis S/R, vecinv) in multi-terms sum to get
86 same truncation, independent of the face number: affects affects several
87 test. exp.: Update global_ocean.cs32x15 (+.thsice) & MLAdjust (all 5).
88 o fix bug in mom_v_sidedrag (biharmonic viscosity was counted 2 times);
89 note that biharmonic viscosity + no-slip was not tested in any experiment.
90 o fix bug in non-linear free-surf side-drag ; generate new output for
91 global_ocean.cs32x15(+.thsice) & global_ocean_pressure.
92 o make mnc honor the writeBinaryPrec flag for most kinds of output
93 o eesupp: split EEPARAMS into EESIZE/EEPARAMS and add a vector global sum
94 o minor change in averaging W (mom_vi_?_vertshear.F) that affects truncation
95 error; update output from global_ocean.cs32x15(+.thsice) & MLAdjust (all 5).
96 o add brackets in multi-terms sum to get same truncation, independent of
97 the face number (manage to get exactly same value of gU,gV at the cs-edge)
98 affects several test. exp. Update global_ocean.cs32x15 (+.thsice).
99 o Clean, new version of mom_calc_visc. Adds a new feature, viscAhRemax
100 and viscA4Remax, which allow one to limit the minimum viscosity by specifying
101 a maximum grid-scale Reynolds number. Also, changes all length calculations
102 in the case of grid anisotropy to geometric mean of dx**2 and dy**2.
103 Suggested values of viscosity parameters found in mom_calc_visc.
104 Many new viscosity diagnostics available.
105
106 checkpoint57s_post
107 o Add clearing-house for viscosity calculations, mom_calc_visc and
108 correct numerous bugs in LeithD and Smagorinsky discretizations.
109 mom_calc_visc now allows for Smagorinsky, Leith and LeithD to be
110 used simultaneously, and to be used in mom_vecinv and mom_fluxform.
111 Mom_vecinv can be used with standard viscous calculation (mom_vi_hdissip.F)
112 and with Strain-Tension viscous term calculation (mom_hdissip.F).
113 The Strain-Tension form is now called with useStrainTensonVisc=.true.
114 ViscAhStrain and viscAhTension are now retired.
115 o diagnostics "VISCAHD" & "VISCA4D" replace "VISCAH" & "VISCA4".
116 o In response to JMC's bug report, genmake2 now ignores any soft-links
117 that it finds in the *current* directory when searching for files.
118 Soft-links found in any other source directories will still work as
119 they did before.
120 o add HAVE_SETRLSTK define and useSETRLSTK flag (eedata) which calls
121 a C routine to unlimit the stack size
122 o mnc-ify pkg/aim snapshot vars
123 o mnc-ify pkg/land as requested by Daniel
124 o various changes to mnc including:
125 - all files use the new "BASENAME[[.ITER].{t|f}NUM].nc" format
126 - output can now be grouped so that all files within a group
127 change the ITER portion of their names in lock-step together
128 - can now read ("global") PER-FACE (in addition to PER-TILE) files
129 and works with both EXCH1 and EXCH2 (but needs more testing)
130 - writing works for all verification test cases w/ g77 on Linux
131
132 checkpoint57r_post
133 o make MNC variable initialization happen earlier
134 o add diagnostics for (almost) each term of the momentum Eq.
135 o remove SST,SSS,UVEL_k2,VVEL_k2 diagnostics.
136 o move pkg timeave out of pkg-groups "oceanic" & "atmospheric" (pkg/pkg_groups)
137 o remove MINIMAL_TAVE_OUTPUT option ;
138 add "dumpInitAndLast" to replace "nodumps" (and MINIMAL_TAVE_OUTPUT).
139 o move some basic S/R (used elsewhere in the code) from pkg/mdsio to eesupp/src
140 allows to compile without pkg/mdsio (& test successfully hs94.1x64x5)
141 o add MNC output for adjoint of EXF (adexf), SEAICE (adseaice)
142 o add time-dependent SST, SSS control
143 o cost terms in ecco/ modularized (new cost_generic.F)
144 o cost_averages routines are modularized (new cost_averagesgeneric.F)
145 o new infrastructure for seaice model vs. obs misfits in seaice/
146 * driver from the_main_loop.F is seaice_cost_driver.F
147 * first term is AREA vs. SMR observation misfit (ALLOW_SEAICE_COST_SMR_AREA)
148 * gradient check in Exp. 6a of natl_box_adjoint/
149 o natl_box_adjoint input_seaice for Lab. Sea now available online via wget
150 (see README file)
151
152 checkpoint57q_post
153 o fix initialisation Pb in calc_gw (get NANs in exp5 with g77)
154 o fix annoying months-old bug in mnc/mdsio output for seaice pkg
155 - bug was reported by Jean-Michel and Ian Fenty
156 o fix initialization Pb in AIM-Ocean coupled model (aim_sice2aim.F)
157 update exp. cpl_aim+ocn output.
158 o Implement 4-level checkpointing: AUTODIFF_4_LEVEL_CHECKPOINT
159 Needed for high-res. runs with large global files
160 to be able to limit tapelev size
161 o Changed some tests for adjoint:
162 * carbon/ now tests AUTODIFF_2_LEVEL_CHECKPOINT
163 * natl_box_adjoint/code_bulk/ tests AUTODIFF_4_LEVEL_CHECKPOINT
164 * global_ocean.90x40x15/ back to default 3-level checkpointing
165 o Modifications to enable scripted COMMON to MODULE conversion
166 * verification/OpenAD/code/ has necessary scripts and description;
167 * converts, compiles and runs successfully;
168
169 checkpoint57p_post
170 o reading of delXfile & delYfile moved from ini_parms.F to ini_grid.F
171 o move ${PKG}_MNC_INIT from ${PKG}_READ_PARAMS to ${PKG}_INIT_FIXED
172 (already the case for some pkgs, including recent MNC_init, e.g. thsice)
173 o call CALC_GW from DYNAMICS (instead of from FORWARD_STEP)
174 o Dissipation & phiHyd gradient are always added to gU,gV in timestep.F
175 (was already the case for dissipation with mom_vecinv,
176 and also the case for grad.PhiHyd when staggered-timeStep)
177 This will allow to put dissipation out-off the AB time-stepping.
178 Unfortunately, affects truncation error. Update output of exp. that "fails"
179 (cg2d matching number) and leave the others for later: front_relax(10),
180 global_ocean_pressure(10),ideal_2D_oce(10),internal_wave(9),lab_sea(12),
181 matrix_example(7!),natl_box(12),plume_on_slope(11),vermix(12x3,11x2).
182
183 checkpoint57o_post
184 o fix MNC/MDSIO flags in PTRACERS so that (1) it works, and
185 (2) its ready to be documented during the 20050801 DocFest
186 o MNC-ify the gmredi package -- tested and works w/ and w/o mnc
187 for ideal_2D_oce and lab_sea on linux_ia32_g77
188 o set to #undef CTRL_SET_OLD_MAXCVARS_30
189 in global1x1_tot/code_seaice_adj to access indices 32, 33
190 (worth another tag)
191
192 checkpoint57n_post
193 o adding precip control xx_precip 32
194 o adding swflux control xx_swflux 33
195 o Replacing 10 forcing penalty cost routines by 1 generic.
196 o Implementing partitioning in time-mean and variable adjustment
197 for atmos. state.
198 o Time-mean constant error is now read in data.ecco (instead of hard-coded)
199 o in natl_box_adjoint:
200 * updated exp 1 to 10
201 (but does not have time-mean vs. variable split results yet)
202 o updated global1x1/*_seaice_adj/
203 to incorporate latest changes
204 o enable useSingleCpuIO for mdsio vector routines
205 (applies in particular to tapelev I/O)
206 o removed inefficient K-loop in all active_file*control*.F
207
208 checkpoint57m_post
209 o re-arrange exp. adjustment.cs-32x32x1 (adjust_nlfs.cs-32x32x1 merge into)
210 and advect_cs (use EXCH-2 and standard cs-32 grid files).
211 o pkg/exch2: filling of face-corner halo regions is optional
212 (ifdef W2_FILL_NULL_REGIONS) and is turned off by default.
213
214 checkpoint57l_post
215 tag before updating tutorials (pre-release-2)
216 o add cos & sin of grid-direction orientation angle (curvilinear grid only,
217 for output and interpolation of input fields onto model grid)
218 o fix radius in mom_v_metric_cylinder.F (wrong by dy/2).
219 Affects results of exp. rotating_tank ; update output.txt.
220 o pkg/diagnostics: 2 new S/R to fill a diagnostics using a scaling factor
221 and taking the square quantity and/or using a fraction-weight field.
222 o fix aim_diagnostics_init.F mate numbers.
223 o add mnc output capability to diagnostics/diagstat and update
224 our cvsignore files for the ACSII output generated
225
226 checkpoint57k_post
227 o lab_sea now uses diagnostics package and provides a suite of
228 new EXF diagnostics output.
229
230 checkpoint57j_post
231 o exf
232 * bug fix in exf_bulkformulae for psimh (spotted by Eliyahu Biton):
233 Bracket missing in eqn. for psimh (eqn. 7 of Large & Pond, 1982);
234 terms -2*ATAN(x) + pi/2 were added to both stable and unstable case.
235 * extended diagnostics output
236 - now includes all EXF variables
237 - hs, hl moved to common block
238 - separate S/R for diagnostics, called after ctrl vector is added
239 - name changed for EXFsw -> EXFswnet, EXFlw -> EXFlwnet
240 - EXFqnet contains true Qnet (i.e. includes qsw)
241 * updated verif. lab_sea, global_with_exf
242 * Rearranging hflux (exf_mapfields -> exf_getforcing)
243 to ensure that diagnostics sees a true EXFqnet
244 o add matlab scripts for CS-grid vectors (in utils/cs_grid)
245 o diagnostics pkg: change pointers so that 1 diagnostic can be used
246 several times with different frequencies.
247 o mnc-ify the thsice package as requested by Daniel Enderton
248 - the monitor--MNC output needs work
249 - many attributes need to be added (most are currently blank)
250 o mnc-ify theaim_v23 package as requested by Daniel Enderton
251 - many attributes need to be added (most are currently blank)
252 o remove "groundAtK1" & "rkFac" (replaced by usingPCoords & -rkSign)
253 o add Sadourny like discretization to the 4th.O vorticity advection scheme
254 o fix bug in rStar code (calc_r_star.F) when used with topo/bathy.
255 update output.txt from: aim.5l_cs (& .thSI), cpl_aim+ocn,
256 fizhi-gridalt-hs and global_ocean.cs32x15 (& .thsice).
257 o fix few little things to avoid floating error with -ftrapuv (ifort v9)
258 (ini_spherical_polar_grid.F, calc_r_star.F, monitor/mon_surfcor.F)
259
260 checkpoint57i_post
261 o Diagnostics package was changed: diagnostic allocation is now deactivated
262 by setting an empty file name in the namelist (used to be by setting 0 frequency)
263 o momentum advection (VI form) options: activate 4th.O vorticity Coriolis ;
264 add 1rst Order upwind vertical Shear.
265 o add a quick fix for A/B checkpointing in OFFLINE mode
266 o add IGNORE_TIME define and -ignore_time option to genmake2 as an
267 end-run around the C/Fortran linking horror in eesup/src/timers.F
268 o added pkg/runclock: allows user to terminate run based on wall clock
269 o added non-hydrostatic scaling parameter: nh_am2
270 o pkg/my82: futile attempt to make results compiler-independent by adding
271 some "_d 0", etc. no effect.
272 o for mnc output, fill the 'T' coordinate var with myTime and create a
273 separate 'iter' variable for iteration count
274 o pkg/diagnostics:
275 add new capability: output of Global/Regional & per-level statistics ;
276 tested against monitor output (including land & thSIce) on various exp.
277 o make seaice-pkg I/O type flags (MNC/MDS) more standard.
278
279 checkpoint57h_done
280 tag after changing user customized files (DIAGNOSTICS_SIZE.h,
281 data.diagnostics, data.gchem, data.ptracers) is done.
282
283 o pkg/diagnostics: prepare for Global/Regional statistics.
284 add 2nd namelist in data.diagnostics and update DIAGNOSTICS_SIZE.h
285 o remove "baseTime" (no used) from arg. list of DIFF_BASE_MULTIPLE
286 and rename it: DIFFERENT_MULTIPLE
287
288 checkpoint57h_post
289 o move tIter0 from data.gchem to PTRACERS_Iter0 in data.ptracers
290 o pkg/diagnostics: change output frequency, now in seconds (instead
291 of Nb of iterations). This requires to change data.diagnostics.
292 checkpoint57h_pre
293
294 o in mnc, let the user create the output dir if both mnc_outdir_date
295 and mnc_outdir_num are false
296 o add fflags() to pkg/diagnostics which allows one to specify, on a
297 per-file basis, the file precision [default behavior is unchanged]
298 o added diagnostics to pkg/kpp, including computation of mixed layer
299 depth based on a temperature/density criterion
300 o updated verification/natl_box to test the new pkg/kpp diagnostics
301 o bugs fixed (with useAbsVorticity=T & with useJamartMomAdv=T)
302 o test AB-3 code with 4th.Order advection scheme (advect_xy/input.ab3_c4)
303 o fix mnc flags in pkg/seaice so that they are "owned" by seaice,
304 not mnc -- this mistake was found by JMC and is now corrected
305
306 checkpoint57g_post
307 o add Adams-Bashforth 3rd Order time stepping:
308 - default remains AB-2 (#undef ALLOW_ADAMSBASHFORTH_3)
309 - not yet implemented with NH, CD_Scheme, pTracers, MNC_pickup ...
310 checkpoint57g_pre
311
312 o make lambda[Theta,Salt]ClimRelax spatially varying
313 (default remains spatially uniform constant based on tau)
314 o added new control variables
315 * init. uVel, vVel, etanN
316 * lambda[Theta,Salt]ClimRelax
317 o separate masks used for ctrl_pack/unpack 'from write_grid' output
318 (suggested by G. Forget)
319
320 checkpoint57f_post
321 o add parameter "baseTime" = model base time = time at iteration zero
322 new function DIFF_BASE_MULTIPLE (replace DIFFERENT_MULTIPLE) to
323 account for baseTime shift
324 o move Coriolis arrays from PARAMS.h to GRID.h
325 checkpoint57f_pre
326
327 o mnc-ifying the seaice package
328 o introduced an alternative length scale calculation for use in the limiting
329 maximum viscosity (off by default, see mom_vi_hdissip.F for details)
330 o S/R ptracers_calc_diff: argument list bug for CALL KPP_CALC_DIFF_S
331 o added modified Leith scheme with viscosity proportional to grad(Hdiv)
332 as well as grad(vort3). Made it compatible with both approximate form
333 for the cubed sphere and full form of these gradients. Added flag
334 useFullLeith to select between approximate and full form.
335 o add "d0" in getcon.F to reduce differences between compilers/platforms
336 update output.txt of exp. fizhi-gridalt-hs
337 o change port_rand funtion to allow to set the seed.
338 o fix obscure MNC bug involving conversion between reals and integers
339 - it caused no problems with certain (eg. gcc, ifc) compilers but the
340 new version is now more standards-compliant
341 o adjoint-related modifications
342 * gad_dst3_adv_?: to be able to use advscheme=30 in adjoint
343 * gad_calc_rhs: fool adjoint, revert to advscheme=30 in reverse when using 33
344 * mom_vi_hdissip: to be able to use Leith scheme in adjoint
345
346 checkpoint57e_post
347 o Adding eddy stress controls a la Ferreira et al.
348 checkpoint57e_pre (actually was tagged: eckpoint57e_pre)
349
350 o fizhi pkg: fix AtoC and CtoA when called with same input & output array
351 update output.txt of exp. fizhi-gridalt-hs
352 o add more "Z" dimensions and associated coordinate vars to MNC
353 o pkg/exf: added twoDigitYear capability for option useExfYearlyFields
354 o parameter calendarDumps: when set, approximate months (30-31 days) and years
355 (360-372 days) for parameters chkPtFreq, pChkPtFreq, taveFreq, SEAICE_taveFreq,
356 KPP_taveFreq, and freq in pkg/diagnostics are converted to exact calendar
357 months and years. Requires pkg/cal.
358 o diagnostics: add pickup functionality
359 - off by default for backwards compatibility
360 - current version only uses MDSIO -- MNC will be added
361 o allow to use pkg diagnostics for LAND pkg output & Shapiro Tendencies.
362 o pkg/shap_filt: fix for multi-tiles per face (CS-grid with EXCH2)
363
364 checkpoint57d_post
365 o pkg/thsice used in the ocean: fix tile Pb related to sIceLoad forcing
366 o modify verification/ideal_2D_oce so that it tests the creation of mnc
367 output from the diagnostics package
368 o temporary fix in EXCH2_UV: add a 3rd call to fix the 24.tiles CS-grid set-up
369 o make genmake2 more portable by using ".$FS" instead of ".f" for more
370 of the test compilations (eg. IBM xlf on Mac OSX w/HFS filesys)
371 o add coordinate variables to the MNC output from the diagnostics package
372 o change MNC-flags default value: true when useMNC=TRUE
373 o add a "readgrid_mnc" flag to MNC and give model/src/ini_curvilinear_grid.F
374 the ability (off by default) to read the grid information using MNC
375 o lab_sea: use LSR_ERROR=1.E-12 for testing ; update output.txt
376 o diagnostics: fix a bug (sub-set of levels); keep full precision when averaging
377 o do snap-shot diagnostics at the middle of the time-interval (instead of
378 at the end).
379 o update exp. aim.5l_cs (use default LAND_OPTIONS.h file) and add
380 new test for AIM with thSIce + slab-ocean
381 o cpl_aim+ocn test: update output (optfile & default GMREDI_OPTIONS.h)
382 o move state variable diagnostics to the beginning of the time step ;
383 (note: still needs some work specially for snap-shot diagnostics)
384 duplicate & replace UVELVVEL diagnostics with UV_VEL_C & UV_VEL_Z
385
386 checkpoint57c_post
387 o Change testing option (-ieee) to get closer agreement between g77 & ifort
388 o generate new output.txt files on faulks with g77 & the new -ieee option
389 checkpoint57c_pre
390
391 o add "_d 0" in freeze ; change some "FLOAT" to "DFLOAT" and went back (TAF);
392 update output.txt of exp. global_ocean.90x40x15
393 o fix in ini_eos.F (one "_d 0" was missing): now g77 & ifc give much closer
394 results; update global_ocean_pressure & global_ocean.cs32x15 output.txt
395 o add saltFlux(+File) forcing capability with periodicExternalForcing
396 o allow to use pkg diagnostics for GM-Redi & ThSIce output
397 o diagnostics_fill: fill in up to sNx+1 or sNy+1 (if U,V or Z pt) for mnc.
398 o improvements for the MNC output from DIAGNOSTICS:
399 - correct handling of the unlimitied dimension
400 - all dims now have associated coordinate variables
401 - variables located at U, V, and Corner ("Z") points are now written
402 with the correct horzontal dimensions (eg. 'Xp1', 'Yp1') so that
403 *all* data points are output
404 o added seaice_summary.F and removed obsolete ALLOW_SEAICE's from pkg/seaice
405 o added pkg/seaice/seaice_monitor.F
406 o mdsio_readfield.F can now read files visible only to master MPI process.
407 o pkg/seaice: some test code for ice-modified ocean stress
408 o exf_getffields interpolation defaults to bilinear for all scalar forcing
409 fields (remains bicubic for wind velocity and stress). This avoids, e.g.,
410 spurious negative numbers for precipitation and humidity. Will cause
411 some small numerical differences for integrations using pkg/exf/exf_interp.F.
412 o pkg/ctrl/
413 * Add ctrlvec diagnostics in pack/unpack for nondimensional I/O
414 May be enabled via doPackDiag
415 * introduce z-scaling of
416 + gradient (doZscalePack) and
417 + control (doZscaleUnpack)
418 o pkg/mdsio/
419 * enable useSingleCpuIO for state estimation (ctrl_pack/unpack) mdsio_gl.F
420 * N.B.: leave tiled I/O for tapelev (i.e. mds...vector)
421
422 checkpoint57b_post
423 o simplify options in diagnostics_fill arguments (remove weird combinations)
424 o fix MNC coordinate variables so that they now contain per-face index
425 values (instead of xC,xG,yC,yG values) when run with EXCH2 since, in
426 general, EXCH2 grids are only aligned to a "local" coordinate system
427 o test diagnostics pkg in dic_example (no output) and ideal_2D_oce (with ouput)
428 o Implement instantaneous output within pkg diagnostics:
429 setting a negative frequency in data.diagnostics produces
430 "snap-shot" output (as opposed to time-average if freq > 0)
431 o move out off EQUIVALENCE all diagnostics that fizhi does not use ;
432 NOTE: change ptracer diagnostics name: use 2 characters to work with
433 more than 9 tracers. Add also diagnostics of advect & diffus flux.
434 o more CF compliance: convert all MNC 'iter' variables to 'T' so that it
435 becomes the coordinate variable for the 'T' dimension
436 o add CF-style coordinate variables to MNC
437 - just a first cut: numbers are meaningless on the cubesphere and
438 missing along the T axis but otherwise it works!
439 o add surface flux diagnostics: TAUX, TAUY, TFLUX, TRELAX, TICE, SFLUX, SRELAX
440 o pkg/thSIce: read initial state from 6 files ; allow monitor to use MNC.
441 o add diagnostics of advective & diffusive flux for T & S (pTracers coming soon)
442 this is based directly on what the model compute, so that the content of
443 each diagnostics might be affected by switching options (e.g., implicitDiffusion)
444 o small changes for diagnostics (gad_biharm_?.F, arguments of S/R impldiff.F)
445 o clean up build options files for SunOS, in particular
446 - remove -traditional from xmakedepend
447 - change -xarch=v9 to -xarch=native for f77
448 - restore use of make (not gmake)
449 - add CC=gcc if using g77
450 o changes per discussion of AM, JMC, & EH3 today:
451 - move redundant "grid" variables out of "state" -- in preparation of
452 creating proper CF-style coordinate variables and in recognition
453 that any/all grid variables can be easily copied (eg. w/NCO) from
454 the grid files into any of the other NetCDF files
455 - *always* output grid variables with MDSIO (this will eventually be
456 changed)
457 - output MNC grid file if useMNC is true
458 o every instance of _END_MASTER() has been found and replaced with
459 _END_MASTER( myThid ) in order to satisfy certain picky Sun
460 preprocessors
461 o re-arrange diagnostics pkg initialisation:
462 - allow each package to extend the available diagnostics list
463 - add some checking and fix small problems (multi-threaded, ...)
464 - new S/R diagnostics_fill (replace fill_diagnostics):
465 look through the short list of active diag. (instead of the long list)
466 create function DIAGNOSTICS_IS_ON to tell if a diagnostics is active
467
468 checkpoint57a_post
469 o this set of changes restores TAMC compatibility
470 tested for global_ocean.90x40x15 adjoint on trough
471 (what a pain)
472
473 checkpoint57a_pre
474 o some modifs in tools/build_options for sunos
475 o call ctrl_pack for ctrl at end for optimcycle=0
476
477 checkpoint57
478 o add horizontal bi-harmonic viscosity for vertical velocity
479 - new parameter viscA4W (defaults to viscA4)
480 - affects only non-hydrostatic code
481 - to be done: no-slip lateral boundary conditions
482 o switch back to "sflux = sflux - runoff" in exf_getforcing.F
483 o implement Implicit Vertical advection for pTracers
484 o depth convergence accelerator: replace deltaTtracer by dTtracerLev(k)
485 (implemented also for implicit vertical diffusion & advection)
486 o OBCS: extend application of tracer open boundary conditions
487 to a strip beyond the boundary of width Olx/Oly
488 o add call monitor to TAF set of required calls (flow directives)
489 and include in natl_box_adjoint
490 o untangle a few ifdefs related to cost, ctrl, autodiff
491 untangel a few ALLOW_ECCO_OPTIMIZATION
492 o Apply Cooper & Haines representative estimates also at sub-surface (k=Nr)
493 (theta2, salt2 in ecco_cost_weights)
494
495 checkpoint56c_post
496 o OBCS as control variables
497 - update ctrl_ad_diff.list, obcs_ad_diff.list
498 - remove balance of obcs controls from default
499 - fix index bug nobcs in ctrl_init
500 - fix dummy fields filen in ctrl_pack
501 - add dummy weights for obcs
502 o lsopt: comment out fort.94 output
503 o optim:
504 - remove unnecessary header files
505 - adjusted namelists
506 - add xerbla.F to Makefile
507 o exf:
508 - multiple modifications of exf_check_range
509 - unit change in exf_init_runoff from [m/year] to [m/s]
510 o mdsio:
511 - i/o-vector change debugLevel from debLevA to debLevB
512
513 checkpoint56b_post
514 o collect all ptracers output in an new routine (PTRACERS_OUTPUT) that
515 is called from DO_THE_MODEL_IO
516 - rename PTRACERS_STATV_WRITE to PTRACERS_WRITE_TIMEAVE
517 - introduce new parameter PTRACERS_dumpFreq (defaults to dumpFreq)
518 - clean up PTRACERS_WRITE_TIMEAVE a little
519 o add another verification experiment that tests both the cfc-pkg and
520 the gchem-pkg with GCHEM_SEPARATE_FORCING undefined, that is with
521 reactive tendencies treated inline with regular timestepping
522 o testreport previously did a lousy job of comparing small numbers, so
523 we (Ed and Martin) changed the way the cut-off of 1.e-12 is
524 implemented in the little c-progam tmp_cmpnum.c which is embedded in
525 testreport.
526 o ptracers_monitor: bug fix for MPI
527
528 checkpoint56a_post
529 o GCHEM: finish reorganizating the package
530 - forward_step calls GCHEM_CALC_TENDENDY, which computes gchemTendency
531 (introduces another 3D-array for each passive tracer, but only if
532 GCHEM_SEPARATE_FORCING is undefined. For GCHEM_SEPARATE_FORCING
533 gchemTendency is not needed because the timestep is done separately)
534 - gchemTendency is added to gPtr in GCHEM_ADD_TENDENCY
535 - GCHEM is now---more or less cleanly---separate from PTRACERS
536 - to bo done: handling of surfaceForcingPtr that is needed for KPP not
537 so clear to me how that should be done in a general way.
538 o CFC: improve formatting of output in CFC_ATMOS
539 o PTRACERS:
540 - rename GCHEM_MONITOR to PTRACERS_MONITOR and call it from MONITOR, so
541 that ALL experiments with ptracers enable can be checked. This makes
542 GCHEM_MONITOR obsolete.
543 - include a runtime parameter PTRACERS_monitorFreq that defaults to
544 monitorFreq
545 - set default PTRACERS_write_mdsio to false if PTRACERS_write_mnc is true
546 o add PTRACERS (PTR0[1-5]) to testreport output
547 o exf_check_range:
548 * default changed to .TRUE.
549 * will check values for niter0 if debLevA, every timestep if debLevB
550 * STOP in exf_check_range if 'out of range'
551 * range chosen generous to allow for potential extema
552 TBD: a version with stricter range
553 permitted range would be runtime parameters
554 o GMredi:
555 - fix ldd97 slope limit ; extend valid domain of Psi-Bolus ;
556 - change S/R GRAD_SIGMA to be valid in the overlap on CS-grid.
557 - change the default GMREDI_OPTIONS.h: compile everything except Visbeck
558 o GCHEM:
559 - move call to GCHEM_FORCING_SEP, so that it is now called before
560 the blocking exchanges to avoid computing halos in GCHEM_FORCING_SEP
561 - introduced a useGCHEM runtime flag and applied it everywhere.
562 - renamed PTRACERS_SEPARATE_FORCING to GCHEM_SEPARATE_FORCING;
563 this flag is now only visible within GCHEM-pkg routines.
564 - moved gchem_forcing_int temporarily into ptracers_forcing, this will
565 be replaced by a 3D array that is computed before thermodynamics; for
566 this, the tracer ID iTracer had to be included into the parameter list
567 of ptracers_forcing
568 - set up forward_step to call gchem_forcing, that will replace
569 gchem_forcing_int in ptracers_forcing
570 - cleaning up
571 o small cleaning of exch2: remove files that are also in eesupp/src
572
573 checkpoint56
574 o AIM: read land-Fraction earlier (from ini-fixed) and monitor land at nIter0
575 o mnc: cleanup "full" files--fixes out-of-memory problem
576 o ECCO-GODAE
577 * model/, pkg/, code/, input/ now complete w.r.t. ECCO-GODAE production setup
578 * fully merged and updated from SIO code
579 windstress sign change affects
580 - exf_inscal_[u/v]stress
581 - sign of xx_tau[u/v] adjustments
582 - signs in cost_scat
583 * ctrl_get_gen: avoid update of tau[u/v] for first few days
584 * natl_box_adjoint updated and compressed
585 * 2-level checkpoint switch added
586 (tested in EXP. 1 of natl_box_adjoint)
587 * new switch doInitXX to avoid init. of xx_... in optimcycle=0
588 o SVD
589 * first complete, non-hacked version for SVD calculations
590 * all interfaces clean w.r.t to handling of xx_..., adxx_..., g_xx_...
591 performed via direct access files admtlm_vector.it????
592 (via ctrl_[un]pack)
593 * optimcycle is used for ARPACK iteration counter
594 (note: adxx_... is iterated, rather than xx_...; latter is constant!)
595 * EV problem ok w.r.t. L2-norm in tangent space; need to check other norms
596 and add linear transforms where necessary
597 * controls are initial/final SST, SSS (can be extended; need to check
598 ctrl_set_[un]pack_xyz.F according to ctrl_set_[un]pack_xy.F
599 o mdsio: filename info to both stderr, stdout
600 o exf: exf_inscal_runoff: separated default conversion [m/year] -> [m/sec]
601 from sign change
602
603 checkpoint55j_post
604 o isolate dissipation tendency (allow to keep it out off AB) in V.I form.
605 affects (truncation level) output.txt of global_ocean.cs32x15(&.thsice)
606 o add consistent build directories and .cvsignore files to verification
607 o added viscA4GridMin and viscA4GridMax for more control on biharmonic viscosity
608 o make all subroutines 30 or less characters in length for certain older
609 compilers to work (a thorough search only turns up two routines in
610 pkg/ptracers)
611 o allow (vecinv only) a different horiz. viscosity for Divergence and Vorticity;
612 affects (truncation level) output.txt of global_ocean.cs32x15(&.thsice)
613
614 checkpoint55i_post
615 o change arrays for total vertical diffusivity (2.D if explicit,
616 3.D if implicit) ; each ptracer uses its own background value.
617 o added mnc/NetCDF output capability to ocn_compon_interf
618 - added bits to verification/cpl_aim+ocn so that it can run on
619 ITRDA and other clusters without the mpirun "-wd" option
620 o fixed wayward endif in mom_fluxform.F that messed up cyclindrical
621 configuration
622 o give MNC the ability to create additional files rather than
623 exceeding a specified file size limit "MNC_MAX_FILESIZE"
624 - the default is just less than 2GB which is a practical limit
625 on many systems
626 o Compute the non-local term using either KPP vertical diffusivity (=default)
627 or the total vertical diffusivity (when KPP_ghatUseTotalDiffus=T)
628
629 checkpoint55h_post
630 o add verification test "vermix"
631 o remove all the *_ioinc flags and replace with the single global
632 outputTypesInclusive flag
633 o allow to set a vertical profile of vertical diffusivity for T & S
634 o call PACKAGE_BOOT & PACKAGES_READPARMS just after INI_PARMS
635 o useMNC moved from data.mnc to data.pkg
636
637 checkpoint55g_post
638 o Renaming carbon AD experiments to comply with testreport conventions
639 o Updating adjoint of Held-Suarez hs94.1x64x5
640 o Fixing directives for non-ECCO forward_step, after ECCO directives
641 have been fixed to avoid recomp. of do_oceanic_phys
642 Works well for global_ocean.90x40x15,
643 but recomp. issue remains for carbon
644 o Updating adjoint output for natl_box_adjoint after
645 pkg/ecco has been modified (see taga c55d_post)
646
647 checkpoint55f_post
648 o rename to timeave_init_fixed
649
650 checkpoint55e_post
651 o some delicate re-shuffle of store directives to avoid one
652 extra call of do_oceanic_physics
653 affects ecco_the_main_loop.F, do_oceanic_physics.F
654 checkpoint_lev1_directives.h
655 o NB: this may break global_ocean adjoint temporarily,
656 but it is clear how to fix it. Will do later, need this now.
657
658 checkpoint55d_post
659 o ECCO specific cost function terms (up-to-date with 1x1 runs)
660 o ecco_cost_weights is modified to 1x1 runs
661 o modifs to allow observations to be read in as
662 single file or yearly files
663 o enable to read exf forcing fields as either
664 single file or yearly files (flag useExfYearlyFields)
665 checkpoint55d_pre
666
667 o switch between 2-level and 3-level checkpointing
668 o add ability of MNC to write local and "partial" (eg. 2D slices where
669 the full 3D field is never actually stored) arrays to NetCDF files
670 with the correct (that is, the complete multi-dimensional) set of
671 array indicies
672 - used in mom_vecinv() to write the diagFreq output
673 - tested (demonstrated) in verification/aim.5l_cs
674 o further mnc-ification
675 - add verification/lab_sea to the list with mnc setups
676 - fix undefined mnc v-names in cd_code
677 - add kpp to mnc output (both snapshot and timeave)
678 o non-hydrostatic code
679 - added horizontal viscosity parameter viscAhW for w, that replaces viscAh
680 in calc_gw.F
681 - defaults to viscAh
682 - this is useful, when I want to use viscAh=0 (e.g., only biharmonic
683 friction or Leith) in non-hydrostatic mode, as long as there is
684 no biharmonic friction and/or Leigth or equivalent for vertical velocity.
685 o pkg/cost
686 extend simple cost functions to treat time mean quantities
687 (T,U,V) via cost_accumulate_state from cost_tile
688 o multidimAdvection on CS-grid: implement the full 3 pass ; overlap needs to
689 be 2 times larger than the minimum size the advection scheme requires.
690 now get a perfect conservation of salt in advect_cs test-exp (updated)
691 o GGL90 (Gaspar's TKE mixed layer)
692 - add horizontal diffusion of TKE, requires exchanges in
693 do_fields_blocking_exchanges, horizontal diffusivity is zero by
694 default. In OPA there is no horizontal diffusion of TKE but the
695 mixing coefficients are computed from a horizontal average of TKE of
696 6 points or so. I think that diffusion has a little more physical
697 justification.
698 - clean up ggl90_calc in the hope of reducing memory usage (this hope
699 was in vain)
700 - mask tke-variable in ggl90_init
701 o fix mask Pb in multidimAdvection on CS-grid (still a small Pb with ipass)
702 o fix biharmonic diffusion on CS-grid.
703 o more obcs stuff
704 - added obcs_external_fields_load as an alternative to the EXF-pkg option
705 for reading boundary values. This routine is called from
706 obcs_prescribe_read
707 - updated obcs_check
708 - changed sponge layer relaxation parameter units for days to seconds
709 - turned off sponge layer by default
710 - changed argument list of OBCS_CALC to myTime+deltaTclock
711 - fixed about 35 bugs in obcs_external_fields_load
712
713 checkpoint55c_post
714 o obcs stuff
715 - new runtime flags useOBCSprescribe, useOBCSbalance
716 - re-arranged obcs_calc
717 - moved exf_getobcs to obcs_prescibe_read
718 obcs_prescibe_read is called after ORLANSKI stuff
719 and independent of it (executable can contain all).
720 - updated obcs_check
721 - added exchanges for U,V,gU,gV for useOBCSprescribe=.TRUE.
722 These may be necessary only if tangential velocities are
723 prescribed at OB, not sure, needs testing.
724 o make the MNC_CW_ADD_VATTR_* subroutines all take scalar arguments
725 which simplifies the calls and passes the ifc check-bounds test
726
727 checkpoint55b_post
728 o add a 2D scalar, Z location, exchange_2 routine.
729 o EXCH_UV for CS-grid: add one u,v in the corner-halo region, allows
730 to compute vorticity on a wider stencil [e.g., vort3(0,1)&(1,0)]
731 affects advect_cs results (for the wrong reason): update output.txt
732 o use a more standard discretization for biharmonic viscosity ;
733 (original version still available with #define MOM_VI_ORIGINAL_VISCA4 )
734 affects results of dome set-up: update output.txt
735 o fix gad_advection.F (CubedSphere part), back to version 1.23
736 o fix bug in mom_vi_del2uv.F (CubedSphere part).
737
738 checkpoint55a_post
739 o merged code to
740 * prescribe/read time-dependent open boundaries
741 (works in conjunction with exf, cal)
742 * sponge layer code for open boundaries
743 * each boundary N/S/E/W now has its own CPP option
744 (healthy for the adjoint)
745
746 checkpoint55
747 o up-to-date adjoint of previous breaks
748 - natl_box_adjoint: problem for exp 12, 13: cost = 0. needs fix
749 - global_ocean_ebm: adjoint still needs fix (TLM ok)
750 - global_ocean.90x40x15: extended GMREDI_OPTIONS.h
751 - carbon: * remove tr1-related adjoint verification
752 * add ptracer as control variable
753 o remove all tr1-related code (ALLOW_PASSIVE_TRACER)
754 (adjoint stuff still has some tr1 'names', but all use ptracer arrays)
755
756 checkpoint54f_post
757 o in verification/carbin/ remove experiment related to
758 ALLOW_PASSIVE_TRACER (array tr1 etc)
759 code_ad/ input_ad/ results_ad
760
761 o add two new packages
762 - ggl90, TKE-model of Gaspar et al. (1990), Blanke+Delecluse (1993)
763 + subject to optimization (memory)
764 - opps, OPPS (ocean penetrative plume scheme) of Paluszkiewicz+Romea (1997)
765 + subject to reordering (many GOTOs in the original code)
766 + so far opps is called for every (i,j) point, and then operates in
767 the vertical; one may want to reorder the scheme in order operate in
768 horizontal slabs at the cost of (a lot of) memory, at least ten new 3D
769 fields)
770 o overhaul of IO so that we now have flags for MDSIO and/or MNC
771 - all verification tests compile and run with linux_ia32_g77
772 - defaults are compatible with current input files--nothing
773 should change if you were not previously using MNC
774 - MNC output has been added in numerous places (eg. timeave)
775 but there are still a few writes not yet do-able with MNC
776 (this is in progress)
777 - flags now allow for either/or/both use of MDSIO and MNC and
778 documentation will soon follow
779 - numerous small formatting cleanups for ProTeX
780 o add version info (via BUILD_INFO.h) to MNC and stdout
781
782 checkpoint54e_post
783 o add two new packages
784 - pp81 (Packanowski and Philander, 1981), Richardson number and
785 stratification dependent mixing
786 - my82 (Mellor and Yamada, 1982) level 2 turbulence closure scheme
787 - these scheme operate in a similar manner as KPP (without ghat, of
788 course), however there is only one diffusivity that is used for both
789 temperature and salinity (and passive tracers)ç
790 o add offline package
791 o add "verification/dic_example" which contains a dic-gchem-ptracer setup
792 provided by Stephanie Dutkiewicz
793 o genmake2: add ability to search for C compilers and cleanup test output
794 - fixes recent SX-6 problems and should help with others (eg. HP-UX)
795
796 checkpoint54d_post
797 o data.diagnostics: if levels() is unspecified then ALL levels are diagnosed
798 o bug fix in pkg/cal/cal_addtime.F for TheCalendar='model' day count is wrong,
799 leading to additional shift by 5 days each year of integration
800 (i.e. leading to considerable offset over the years)
801 o update global_ocean.cs32x15/thsice: use z* + RealFW + staggerTimeStep
802 o start with no AB and no initial filtering (staggerTimeStep):
803 change the results of test-exp: hs94.128x64x5, hs94.1x64x5 & hs94.cs-32x32x5
804 o move ocean specific S/R calls from forward_step.F to do_oceanic_phys.F
805 (external loading & cpl import/export stay in forward_step.F)
806 o update coupling interface to work with new staggerTimeStep
807 o change MDSIO ptracers_pickup.
808 o fix a bug in Flux deriv. vs Ts (pkg/aim_v23/phy_suflux_sice.F);
809 o genmake2 fixes so netcdf now works on halem ("osf1_alpha_*")
810 o bugs fixed in kpp_calc.F (ustarY) and external_forcing.F (Qsw & Partial-cell)
811
812 checkpoint54c_post
813 o replace surfaceTendency U,V,S,T,Tice,Ptr by surfaceForcing U,V,S,T,Tice,Ptr
814 this affects (truncation error) output.txt of test-exp:
815 global_ocean_ebm,_pressure,.cs32x15(&.thsice), lab_sea & natl_box
816 o pkg/kpp: replace pMask by maskC to reduce memory size (one 3.D array)
817 o change Qnet to always be the net heat flux, (+upward).
818 affects (truncation error) output of natl_box exp.: updated
819 o define the max number of passive tracers in PTRACERS_SIZE.h
820 o start to test mnc routinely in exp0
821 o add sea-ice loading (sIceLoad) as a new forcing field.
822
823 checkpoint54b_post
824 o add testreport "-j JOBS" option for parallel builds (tested and pretty
825 impressive on Altix and Opteron systems)
826 o diagnostics can now write NetCDF files through the mnc package
827 o staggerTimeStep & NLFS: update pkg aim_v23 & thsice; update aim.5l_cs output
828 o staggerTimeStep & multi-Dim-Advec: Exch(U,V) added
829 o staggerTimeStep & NLFS: rescale T & S surface tendencies.
830 affects (truncation error) output of lab_sea & natl_box exp.: updated
831 o change pickup _cd & _ptracers (old pickup restart: usePickupBeforeC54=.T.)
832
833 checkpoint54a_post
834 o re-write staggerTimeStep: step fwd U,V and then T,S (reverse the order).
835 o change pickup file (to restart from old pickup, set usePickupBeforeC54=.T.)
836 o get a perfect restart when using RealFreshWaterFlux + NLFS (not finished)
837 o update output of all exp. that use staggerTimeStep (except hs94.cs & 2D)
838 + internal_wave (shift in writing cg2d_ini_res)
839 checkpoint54a_pre
840
841 o require forcing_In_AB=.FALSE. and remove surfaceTendencyTice from pkg/seaice
842 - modified verification/lab_sea and natl_box_adjoint accordingly
843
844 checkpoint54
845 checkpoint53g_post
846 o prepare splitting of thermodynamics: store convect.counter in common block
847 o store d.etaH/dt (instead of Div.hV) in common ; affects (truncation error)
848 output of: global_ocean.cs32x15, global_ocean_pressure & internal_wave
849 o cnh's modifs to gad_advection.F for cube-sphere multi-dim advection
850 o new parameter "nShapS": allow to treat differently S from T (nShapT)
851 o separate Vert.Advec.Scheme from horizontal Advec.Scheme (T & S)
852 o restore adjointability
853
854 checkpoint53f_post
855 o modifications that affect AIM experiment results (update output.txt):
856 - no advection of S at top interface Nr (pkg/generic_advdiff)
857 - air surf. temp: use lower value between T0 & T1 (phy_suflux_prep.F)
858 o AIM pkg:
859 - include stability function into surf.Flux derivative relative to Tsurf
860 - calculate clear-sky radiation & surface temp. change (for diagnostics)
861
862 checkpoint53e_post
863 o merged cylindrical coord configuration
864 o added rotating_tank experiment
865 checkpoint53e_pre
866
867 checkpoint53d_post
868 o faulks upgraded: re-generate output.txt that have changed:
869 global_ocean.cs32x15(.thsice), global_ocean_ebm, lab_sea, natl_box
870 o Added Bryan and Lewis, 1979, vertical diffusivity profile
871 o pkg/land: fix problem in land_impl_temp.F when Ts arround freezing.
872 o added Sadourny discretization of Coriolis
873 - moved some PARAMETERS from mom_*_coriolis.F to PARAMS.h
874 - re-enabled use of omega3 (useAbsVorticity)
875 o added Leith (Phys. Fluids, 1968, 10, 1409-1416) variable viscosity for
876 vector-invariant equations
877 - note: does *NOT* yet use same variable visc. for no-slip BC's.
878 o recoded the lateral boundary conditions for non-hydrostatic w, this time
879 hopefully without new bugs
880 - still to do: biharmonic friction for non-hydrostatic w
881 o bug fix for mom_*_sidedrag: rA -> rAs,rAw
882 o regenerated output for global_ocean_ebm (using -ieee)
883 o fix mom_common/mom_*_sidedrag.F to recover numeric output prior to creation
884 of mom_common/
885 - simple re-arrangement of instructions within computing loop
886 checkpoint53d_pre
887
888 checkpoint53c_post
889 o new version of coupler for AIM+thSIce and Ocean models
890 - new fields (SSS,h_MixLayer ...) are exchanged through the coupler
891 - land: change Evaporation of snow
892 - aim with thSIce: fix bug in snow-precip.
893 o changes to calc_gw.F
894 - bug fix for w^2 term near the bottom boundary
895 - (hopefully) improve the lateral slip boundary condtions for use with
896 partial/looped cells
897 - because the bug fix changes two verification experiments anyway (exp5
898 and plume on slope), change the lateral boundary condition from half slip
899 to the value of no_slip_sides
900 o ebm package wasnt quite up to the parallel task. Fixed that.
901 o Adjoint of EBM package + verification
902 * TLM OK
903 * ADM not sufficient accuracy yet (needs further testing)
904
905 checkpoint53b_post
906 o Commiting new energy balance model to repository
907 * package is pkg/ebm
908 * verif. is verification/global_ocean_ebm
909 * references are in ebm_driver.F
910 C * X. Wang, P. Stone and J. Marotzke, 1999:
911 C Global thermohaline circulation. Part I:
912 C Sensitivity to atmospheric moisture transport.
913 C J. Climate 12(1), 71-82
914 C * X. Wang, P. Stone and J. Marotzke, 1999:
915 C Global thermohaline circulation. Part II:
916 C Sensitivity with interactive transport.
917 C J. Climate 12(1), 83-91
918 C * M. Nakamura, P. Stone and J. Marotzke, 1994:
919 C Destabilization of the thermohaline circulation
920 C by atmospheric eddy transports.
921 C J. Climate 7(12), 1870-1882
922 o Will need long integration testing.
923 checkpoint53b_pre
924
925 o created pkg/mom_common in preparation for variable viscosity code
926 o renamed and split ini_mnc_io
927 o pkg/land: only liquid water can diffuse or run-off
928 o AIM using land: soil wetness availability account for snow
929 o added printMapIncludesZeros to EEPARMS namelist
930
931 checkpoint53a_post
932 o restore TAMC compatiility for exf_constants.h
933 (no usage of _d in .h)
934 o Additional storing in KPP in an attempt to fix
935 TAMC problem with adjoint of KPP code.
936 (no success...)
937 Identical code works fine with TAF.
938 o Fixed verification/natl_box_adjoint experiments.
939 Initial conditions for Experiments 4 and 5 are now
940 set to "SEAICE_initialHEFF=0", which is more reasonable,
941 and hence gives results closer to that of Experiment 2.
942 Experiment 6 requires "SEAICE_initialHEFF=1" and is working once again.
943
944 checkpoint53
945 o stable checkpoint with up to date adjoint
946 TLM tests only run for 1st grdchk at the moment. Its unclear if
947 this is a code problem or a problem with resetting code for g_
948 variables that is being autogenerated wrong.
949 Otherwise:
950 o code is testing well on Linux (P4 and AMD), SGI Alitix and Irix.
951 o IBM and HPQ tests could not be run because NCAR (IBM) and NCCS (HPQ)
952 are both still in chaos following their security messes.
953
954 checkpoint52n_post
955 o various build (mostly genmake2) changes including:
956 - ability to build/run more easily within Cygwin and MacOS X
957 - more complicated Makefiles with a stronger dependence on Gnu Make
958 o pkg/seaice modifications
959 - added SEAICE_deltaTtherm and SEAICE_deltaTdyn in order to reduce cost
960 of pkg/seaice. For time being, SEAICE_deltaTtherm = deltaTtracer
961 and SEAICE_deltaTdyn must be integer multiple of SEAICE_deltaTtherm
962 - changed proxy for geostrophic velocity and updated
963 verification/lab_sea/results/* accordingly
964 - removed ADI dynamic solver from pkg/seaice
965 - replaced all occurrences of 1/CSTICE or 1/CSUICE
966 they caused a segmentation fault under certain circumstances
967 - removed unused field WATR
968 o bug fix in exf-package:
969 - u/vwind are defined at tracer/pressure points. The values of u/vwindmask
970 now reflect that.
971 o small fixes in the cal-package:
972 - set reference date to first of January for the 'model'-calendar
973 - failing of cal_CheckDate in cal_FullDate now actually results in a
974 warning
975 o small modifications in exf-package to increase flexibility:
976 - change climtempfreeze from a constant to a runtime parameter that
977 is specified in data.exf_clim (default = -1.9)
978 - introduce runtime parameter windstressmax (default = 2.0) that is
979 specified in data.exf
980 o fix in pkg/thsice:
981 - update Evap (Tsf changes) to be consistent with Latent heat flux
982 - maintain snow precipitation unchanged (even if Tsf >=0).
983 both affect global_ocean.cs32x15/(.thsice) results ; update output.txt.thsice
984
985 checkpoint52m_post
986 o commented out call to cal_GetMonthsRec in swfrac.F and added some comments;
987 this does not change any of the results, because myIter=0 in swfrac always
988 lead to jwtype=2 (the default anyway), but the call makes little sense
989 as a default
990 o no SHORTWAVE HEATING lost at the bottom; affects lab_sea output; updated
991 o re-work pkg/thsice interface with ocean & bulk_force pkg to allow
992 atmospheric model (AIM) to use it ; add a "slab ocean" component.
993 o pkg/aim_v23 : add interface to call thermodynamic sea-ice (thsice)
994 o update global_ocean.cs32x15/output (.thsice) after changes in pkg/thsice
995 o extending useSingleCpuIO option to work with new exch2 I/O format
996 - old-style, missing-tile I/O is still accessible by defining CPP
997 option MISSING_TILE_IO in pkg/mdsio/MDSIO_OPTIONS.h
998 o monitor package can write to NetCDF files and/or STDOUT
999 o fix re-definition bug in MNC_GRID_INIT_ALL()
1000 o doc/api_reference added
1001 - a framework for building an API Reference Manual using all
1002 the "protex" comments embedded in the code
1003 - see pkg/generic_advdiff, pkg/mnc for examples
1004 o MNC:
1005 - make myThid the last argument for all subroutines
1006 - new default for the grid files: NO halos
1007 - add useMNC and other run-time flags
1008 - separate per-file-group handling of the unlimited dimension
1009 - early initialization of MNC w/ flags read at the eeboot stage
1010 and lookup tables set in initialize_fixed
1011 - write all MNC output to a freshly-created directory
1012 o thermodynamics sea-ice (thsice) is now tested with testreport.
1013 o test exp. advect_cs: use the standard cs32 grid ; update output.
1014 o Added functionality to grdchk:
1015 pick global i,j,k position (or nearest wet) where to perform check.
1016
1017 checkpoint52l_post
1018 o new land formulation:
1019 a) use ground enthalpy as prognostic variable to ensure exact
1020 energy conservation.
1021 b) account for water temperature and for latent heat of freezing
1022 in all processes (rain, run-off, ground storage)
1023 c) compute surface and ground temperature implicitly.
1024 o aim_v23 modification for new land model:
1025 a) Treat separately land / ocean / sea-ice surface fluxes
1026 to allow implicit computation of land & sea-ice surface temp.
1027 b) add snow precipitation.
1028 checkpoint52l_pre
1029
1030 o fix problem (when 1 tile is empty) in min/max monitor.
1031 o fix bug in timeAve (u,vZetatave in common block)
1032 o no restoring terms under ice for pkg/seaice
1033 o moved SEAICE_DO_DIAGS to S/R do_the_model_io
1034 o bug fix for pkg/seaice pickups
1035 o change MNC call locations and add coordinate attributes
1036 o mask vorticity at the corner ; affects global_ocean.cs output
1037 o fix ini_curvilinear_grid ; test CS experiments with mpi
1038 o aim.5l_cs: modify sea-ice fraction input file ; update output
1039 o exf: Adding simple range check routine for exf fields after read
1040
1041 checkpoint52k_post
1042 o removed top-level directory "diags"
1043 - we migrated these functions to pkg/timeave a long time ago
1044 o fixed bug introduced in pkg/monitor
1045 o accuracy ctrlprec = 32 insuffient for gradient checks using
1046 averaged fields (I/O via cost_averages)
1047 -> use ctrl.h in active_file*.F to control I/O precision.
1048 o paramter list of CALL ADTHE_MAIN_LOOP
1049 o added initial do_the_model_io to ecco
1050 o set all ...Freq to zero after cost_final
1051 taveFreq, dumpFreq, pChkptFreq
1052 o MAIN and ECCO differentiability restored
1053
1054 checkpoint52j_post
1055 o fix nchklev in tamc.h for global_ocean...
1056 o Bringing flow and store directives up-to-date
1057 o Really weird thing!
1058 call do_the_model_io from the_main_loop with parameters
1059 starttime, niter0, instead of mytime, myiter, screws up the adjoint:
1060 TAF places a faulty re-call of initialise_varia
1061 after cost_final call which should not be there!
1062 checkpoint52j_pre
1063
1064 o tweaked pkg/mdsio/mdsio_readfield.F to have more useful logic and
1065 error messages
1066 o fix errorMessageUnit problem. remove old version of mdsio from eesup/src
1067 o modified pkg/mdsio/mdsio_readfield.F -- commented out diskspace-eating
1068 debug output
1069 o modfied mdsio_writefield.F to handle non-global files under exch2
1070 o update AIM Cubed-Sphere exp (aim.5l_cs):
1071 use land, p*, and Franco.M forcing fields with fractional land-sea mask.
1072 o update AIM Equatorial Channel exp:
1073 use standard aim_v23 pkg and change the SST fields to be more realistic.
1074 o globalFile now works with exch2
1075 o merged mom_vi_calc_relvort3.F, mom_vi_del2uv.F and
1076 mon_vort3.F to make exch2 friendly with >1 tile per cube face
1077 o limit timeave output for hi-res integrations
1078
1079 checkpoint52i_post
1080 o removed CPP_EEOPTIONS.h from verification/*/code
1081 o updated the tiling for global_ocean_pressure
1082 checkpoint52i_pre
1083
1084 o update aim.5l_LatLon using the standard aim_v23 pkg (instead of
1085 the old pkg/aim).
1086
1087 checkpoint52h_pre
1088 o shortened offending lines in exch2_send_rx?.template
1089 o modified W2_EXCH2_TOPOLOGY.h to reflect current topology generator
1090 o genmake2: add build & execute test for NetCDF code
1091 o modded aim.5l_cs and global_ocean.cs32x15 to use exch2, removed
1092 old grid files, moved CPP_EEMACROS.h to pkg/exch2
1093 o added useSingleCPUIO flag to monitor.F and mon_out.F
1094 o added temporary hack for sea-ice dynamics on the cube:
1095 metric terms are ignored and it is assumed that
1096 there is no sea-ice on cube faces 1, 2, 4, and 5.
1097
1098 checkpoint52f_post
1099 o added exch2 cube routines to pkg/exch2
1100 o modified hs94.cs-32x32x5 to use it
1101 o added new grid files to hs94.cs-32x32x5
1102 checkpoint52f_pre
1103
1104 checkpoint52e_post
1105 o first attempt to solve vertical advection (momemtum & T,S) Implicitly
1106 for now, only implemented with Lax-Wendroff (tracer) and VectInv (mom)
1107 o step.1 : rewrite (as in MultiDimAdvec) explicit tracer stepping (gad_calc_rhs.F)
1108 to work with implicit vertical advection and AB ;
1109 o Implic. vert. advect. implemented with flux-limiter, c2, u3 and c4 scheme.
1110 o update output (gad_calc_rhs.F changes affect truncation error) of exp:
1111 front_relax, global_ocean .cs32x15 & _pressure, internal_wave, lab_sea, natl_box
1112 checkpoint52e_pre
1113
1114 o fix bug in impldiff when Nr=1 or Nr=2.
1115 o change the albedo in pkg/thsice (as GISS model); update output_thsice.txt
1116 o little changes (fftpack, aim/phy_suflux ...) to pass the "checkbounds" test.
1117 o fix deltaTfreesurf in update_cg2d.F (left from c45d_post): affects 2
1118 ocean exp. that use NLFS: global_ocean.cs32x15 & global_ocean_pressure
1119 o added exf_offset_atemp for Celsius to Kelvin conversion of atemp
1120 o eesupp/inc/EEPARAMS.h: MAX_NO_PROCS=1024
1121 o pkg/cal/cal_toseconds.F fix for long (>60 years) integrations
1122
1123 checkpoint52d_post
1124 o re-tiled many expts to allow comparison in multi-processor mode
1125 - updated output accordingly
1126 - changed hs94.128x64x5 to use intial T from file rather than use the
1127 random number generator
1128 o add infrastructure in model routines for fizhi and gridalt packages
1129 o change global_ocean.cs32x15 because of Pb with GM on CS-grid.
1130 o changes to permit hi-res, cubed-sphere, configuration
1131 - added useSingleCpuIO capability to mdsio_readfield.F and exf_interp.F
1132 - added "#undef ALLOW_USE_MPI" support to eesupp/src/scatter_2d.F
1133 - added pkg/exf/exf_set_uv.F for on-the-fly interpolation and rotation
1134 of surface winds for the cube
1135 (A verification experiment, based on global_ocean.cs32x15, but with
1136 pkg/seaice turned on and with on-the-fly interpolation from the NCEP
1137 Gaussian grid is described in MITgcm_contrib/high_res_cube/README_ice,
1138 complete with example surface forcing files and matlab scripts to look
1139 at the output and compare it with that of global_ocean.cs32x15.)
1140 o packages pickup: $PKG_write_pickup called from packages_write_pickup ;
1141 but call to $PKG_read_pickup remains in $PKG_ini_vars: change CD_code
1142 to conform to the common rule.
1143 o check-in the first version of the coupler + interfaces for multi-components
1144 set-up (Chris's version, adapted to work on cubed-sphere grid); use MPI.
1145 - imply modification in eesupp (MPI_COMM_MODEL < MPI_COMM_WORLD).
1146 - atmosphere: use pkg aim_v23 ; no sea-ice for now.
1147 - ocean and atmos. share the same horizontal grid (no interpolation).
1148 - exchanges between component and coupler is done in forward_step
1149 o new verification experiment, cpl_aim+ocn:
1150 coupled ocean - AIM atmosphere on cs32 grid.
1151
1152 checkpoint52d_pre
1153 o surface flux time-av diagnostic modified for NLFS & RealFreshWater
1154 o add call to AIM pendant S/R in external_forcing & external_fields_load.F
1155
1156 checkpoint52c_post
1157 o Fixing OPTIONS files for use of exf:
1158 - ALLOW_ECCO not needed
1159 - ECCO_CPPOPTIONS.h should not be included from
1160 EXF_OPTIONS.h/CAL_OPTIONS.h, but from CPP_OPTIONS.h
1161 as has been the case in the past
1162 - All cal/exf related options are currently set in
1163 single header file. Should remain so until we
1164 agree on a consistent new policy.
1165 o Removed all CPP options for cal package.
1166 cal has no more CPP options.
1167 o modified STOREs in GAD_ADVECTION
1168 o corrected key comp. for passkey
1169
1170 checkpoint52b_post
1171 o new version: "thsice" of thermodynamic sea-ice pkg:
1172 - only 1 call from "forward_step"; conserve energy, fresh-water & salt.
1173 - modify fluxes but do not change theta directly;
1174 - light cleaning of bulk_force pkg (still needed with thsice).
1175 - add forcing fields + data files in global_ocean.cs32x15/inp_thsice
1176 + output_thsice.txt to test thsice & bulk_force pkgs.
1177 o put back grid & coriolis monitor output.
1178 checkpoint52b_pre
1179
1180 o call "do_the_model_io" at the beginning (=> dump initial state)
1181 o use rhoConstFresh to define convertEmP2rUnit (was done only in ocean-P)
1182 o sort out interplay between tamc.h and PTRACERS_OPTIONS.h
1183 (need info on NUMBER_OF_PTRACERS)
1184 o missing PTRACERS headers in some routines
1185 o default tamc.h in pkg/autodiff supposed to crash
1186 to ensure proper customization
1187
1188 checkpoint52a_post
1189 o modifications to make FREEZE (_SURFACE) flux visible to pkg/kpp
1190 - moved surfaceTendencyTice from pkg/seaice to main code
1191 - subroutine FREEZE_SURFACE now limits only surface temperature
1192 and is called in FORWARD_STEP (if allowFreezing=.TRUE.)
1193 => new output.txt for global_ocean.cs32x15 & global_with_exf
1194 - keep the old version of FREEZE for backward compatibility;
1195 global_ocean.90x40x15 left unchanged using useOldFreezing=.TRUE.
1196 - corresponding modifs for TAF directives
1197 o added surface flux output variables to TIMEAVE_STATVARS
1198 o time-averaged output for pkg/ptracers
1199 o fix problem with ECCO-related divided adjoint
1200 snapshot file was missing some ad-variables,
1201 but no warning issued by TAF
1202
1203 checkpoint52a_pre
1204 o some bug fixes for #undef REAL4_IS_SLOW
1205
1206 checkpoint52 = ecco_c52_e35
1207 o after testing adjoints of checkpoint51u_post
1208
1209 checkpoint51u_post
1210 o this is the post-merge tag of the ecco-branch
1211 (needs another clean checkout and re-testing)
1212 o various natl_box_adjoint configs and results
1213 but no input fields
1214 o obcs adjoint not yet merged!
1215 o adding ECCO global 1x1 and 2x2 degree configs
1216 o updated/extended some store directives for seaice
1217 o pkg/ecco now containes ecco-specific part of cost function
1218 o top level routines the_main_loop, forward_step
1219 supersede those in model/src/
1220 previous input data.cost now in data.ecco
1221 (new namelist ecco_cost_nml)
1222 o in ctrl/ cleaned some cross-dependencies and updated CPP options
1223
1224 checkpoint51t_post
1225 o this is the pre-merge tag of the ecco-branch
1226
1227 checkpoint51s_post
1228 o cleanup: removed various obsolete #define-s
1229 o pkg/grdchk
1230 - renamed 'ph-grd 3' to 'grad-res'
1231 - merged from ecco-branch
1232 (remaining bug fixes for obcs gradient checks)
1233 - additional high-precision output for testreport
1234 (grep for 'precision_grdchk_result')
1235
1236 checkpoint51r_post
1237 o cleaned up or removed CPP_OPTIONS.h files
1238 o updated results for some of the tests to reflect the new
1239 optfiles (-ieee: -O0 instead of -O3)
1240
1241 checkpoint51q_post
1242 o cd_code:
1243 - moved cd_scheme.F -> cd_code_scheme.F
1244 - separate read_checkpoint from cd_code_ini_vars.F
1245 - separated cd_code part from write_checkpoint
1246 - updated AD_SOURCE, generated .flow
1247 - added CD_CODE_VARS.h to the_main_loop
1248 - Moving cd_code specific store dir.s to pkg/cd_code
1249 o ctrl package totally restructured
1250 - pack/unpack now optional and decoupled from
1251 xx_/adxx_ I/O
1252 - ctrl_pack/unpack cleaned
1253 (new routines ctrl_init_ctrlvar.F, pkg/ctrl/ctrl_init_wet.F)
1254 - confined inclusion of AD_CONFIG.h to where necessary.
1255 o genmake2: changed AD dependencies from SRCFILES to AD_FILES
1256
1257 checkpoint51p_post
1258 o create initial cd_code package
1259 - WARNING: the initialization of fields within packages
1260 is broken because INI_FIELDS (where READ_CHECKPOINT is
1261 called) is called *before* PACKAGES_INIT_VARIABLES.
1262 This seems to be backwards since
1263 1) its important to initially zero the entire field including
1264 the "halo" region
1265 2) zeroing needs to be done *before* reading pickup info
1266 and the pickup call might or might not happen in any
1267 particular run
1268 - this needs an overhaul for R2
1269 o cleanup verification/*/code/GMREDI_OPTIONS.h
1270 o cleanup testreport
1271
1272 checkpoint51o_post
1273 o bringing AD-related verif's up to date with genmake2
1274 - carbon/
1275 - global_ocean.90x40x15/
1276 - hs.94.1x64x5/
1277 - (front_relax/ )
1278 o (more) consistent directory structure for AD-related verif.'s
1279 o cleaning ALLOW_GRADIENT_CHECK -> ALLOW_GRDCHK
1280 o cleaning some ALLOW_TANGENTLINEAR_RUN -> ALLOW_AUTODIFF
1281 o bug fix in find_alpha.F for MDJWF:
1282 - modif. to alpha = 1/D*( dN/dT - rho*dD/Dt) to account for
1283 change rho -> rho-rhoConst
1284 - replace call find_rho to find_rhonum
1285 o initialisation of rFlx extended to full array (required by TAF)
1286 and shifted to thermodynamics
1287 o removed PTRACERS.h in ptracers routine
1288 o added surfacetendencyPtr to S/R parameter list pracers_forcing
1289 o Correcting initialisations for fVerU, fVerV.
1290 o helping TAF to recognize dependency on kUp for
1291 fVerU, fVerV
1292 o Replacing delZ by delR in pkg/ctrl/
1293 checkpoint51o_pre
1294
1295 o undid all of cp51 pending some cleanups and discussion
1296 o added the [#include "AD_CONFIG.h"] statement to all files that need
1297 it for adjoint/tl #defines
1298 o re-worked the build logic in genmake2 to support AD_CONFIG.h
1299 o removed tools/genmake since it no longer works
1300
1301 checkpoint51n_post
1302 o modifications to make FREEZE flux visible to pkg/kpp
1303 - moved surfaceTendencyTice from pkg/seaice to main code
1304 - FREEZE & EXTERNAL_FORCING_SURF moved to FORWARD_STEP
1305 - subroutine FREEZE now limits only surface temperature
1306 (this means new output.txt for global_ocean.90x40x15,
1307 global_ocean.cs32x15, and global_with_exf)
1308 o added surface flux output variables to TIMEAVE_STATVARS
1309
1310 checkpoint51n_pre
1311 o added "#undef ALLOW_USE_MPI" support to eesupp/src/gather_2d.F
1312 o added [#include "AD_CONFIG.h"] to all files that use the following
1313 defines:
1314 - ALLOW_ADJOINT_RUN
1315 - ALLOW_TANGENTLINEAR_RUN
1316 - ALLOW_ECCO_OPTIMIZATION
1317
1318 checkpoint51m_post
1319 o incorporating changes to get TAMC/TAF working in genmake2
1320 - added new TAMC/TAF targets to the Makefile
1321 - various cleanups related to package handling
1322 - these changes should have no impact on the forward model
1323
1324 checkpoint51l_post
1325 o changes to pkg/cal and pkg/exf that allow and speed-up long integrations
1326 - faster algorithm for cal_addtime.F
1327 - higher precision arithmetic, where needed
1328 - pkg/exf *startdate variables changed from calendar date to
1329 model integration time
1330
1331 checkpoint51l_pre
1332 o add salt flux to forcing fields (used when salty sea-ice forms or melts)
1333 o enable to apply restoring on S & T only in a latitude band.
1334 o update output (external_forcing_surf modif. change truncation errors)
1335 global_ocean.cs32x15, global_ocean_pressure, lab_sea, natl_box
1336
1337 checkpoint51k_post
1338 o change default to: useNHMTerms=.FALSE.
1339 - new output.txt for atmos. exp (NHMTerms were wrong but now turned off):
1340 adjustment.128x64x1, aim.5l_Eq_Ch, aim.5l_LatLon, hs94.128x64x5, hs94.1x64x5
1341 - new output.txt for idealized oceanic exp (NHMTerms are now turned off):
1342 exp1, ideal_2D_oce
1343 - change data file of oceanic exp (leave the results unchanged for now)
1344 exp2, global_ocean[90x40x15,pressure,with_exf], lab_sea, natl_box
1345 o set gravitySign automatically according to the vertical coordinate used
1346 (and change sign: back to "logical" value: +1 when R increases downward)
1347 o added an include barrier to the default CPP_OPTIONS.h and
1348 removed the #include "PACKAGES_CONFIG.h" from it
1349 o fix a bug in mom_fluxform (from chk51j_post)
1350
1351 checkpoint51j_post
1352 o Added some AD-related initialisations in mom_vecinv/ mom_fluxform/
1353 o adjusted some flow directives (dynamics, thermodynamics)
1354 o added cubed-sphere case to test cost function
1355 o heckpoint_lev?_directives.h now include
1356 pkg-specific directives, whenever those are enabled.
1357 o Moving pkg-specific flow directives to corresponding pkg
1358 Moving pkg-specific differentiation list to corresponding pkg
1359 Moving pkg-specific checkpoint-lev storing to corresponding pkg
1360 ---> conventions are
1361 - pkg_ad.flow
1362 - pkg_ad_diff.list
1363 - pkg_ad_check_lev?_dir.h
1364
1365 checkpoint51i_post
1366 o merge of the branch-genmake2
1367 - knowingly breaks the older genmake
1368 - automatic generation of all ALLOW_${PKG_NAME} defines
1369 - new testreport supersedes older testscript
1370 o large number of package inclusion and header cleanups
1371 checkpoint51i_pre
1372
1373 o new output for adjoin of global ocean vector invariant
1374 o fix for checkpoint of thermodynamic seaice and bulk_force
1375 o Steph gchem various cleanups
1376
1377 checkpoint 51h_pre
1378 o fixed some single quotes
1379 o modify gchem pkg to be more versatile
1380 o modifications to clean up dic pkg
1381 o add pkg/cfc
1382
1383 checkpoint51g_post
1384 o provide links for ARPACK and ADM*TLM
1385 o start removing verification/vero/
1386 o update AD-related stuff
1387 (in particular some IF-statements in model/src/ routines)
1388 o adding to verification/global_ocean.90x40x15/ adjoint of
1389 vector invariant setup
1390
1391 checkpoint51f_post
1392 o update advect_xz/output.txt (left from chekpoint50f_pre, ini_vel modif)
1393 o Mods and bug fixes to pkg/cal, pkg/exf, etc., needed for computation
1394 of tracer Green's fucntions for ocean inversion project.
1395
1396 checkpoint51f_pre
1397 o Added on-the-fly spatial interpolation capability
1398 "USE_EXF_INTERPOLATION" to pkg/exf.
1399 - This is a temporary Cartesian-grid hack until
1400 the super-duper ESMF coupler becomes available.
1401 - See verification/global_with_exf/README for usage example.
1402 - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid
1403 flags and modified pkg/seaice accordingly.
1404 o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F,
1405 and pkg/kpp/kpp_transport_ptr.F for dealing with tracer
1406 non-local transport term.
1407
1408 checkpoint51e_post
1409 o pkg/mom_vecinv:
1410 - changes related to hFac: use S/R from aim.5l_cs/code (coriolis & vort.advec)
1411 - add time-ave diagnostic of vorticity advection.
1412 o add diagnostic (instantaneous) of Shapiro Filter effect for T,S & UV.
1413 o atmospheric geopotential: - include water vapor effect;
1414 - use p^kappa in p* scaling.
1415 o land pkg: read initial state from files.
1416 o AIM : add stratospheric drag in the upper level
1417
1418 checkpoint51d_post
1419 o change function ILNBLNK (=> last non-blank char.) to return zero
1420 (instead of the string length) when the string. char is empty
1421 o fix bug in dxV,dyU definition of cubed-sphere grid (ini_curvilinear_grid)
1422 o modif's to restore TAMC compatibility
1423 - avoid "_d" constructs in PARAMETER declarations
1424 - avoid interrupting lines by comment lines
1425 o Use cluster local disks for purely local I/O
1426 vs. globally visible disks needed for ctrl stuff
1427 (merged from ecco-branch)
1428 - new active_file_loc... and mdsio_..._loc routines
1429 - affected packages: autodiff, ctrl, grdchk, mdsio
1430
1431 checkpoint51c_post
1432 o introducing integer flag debugLevel
1433 - debLevZero: suppress all output
1434 - debLevA: standard
1435 - debLevB: equivalent to current debugMode=.TRUE.
1436 o introducing pathname variable mdsioLocalDir for mdsio
1437 that can be specified at runtime
1438 (relevant for cluster I/O to local disk)
1439 `
1440 >>>checkpoint51b_post
1441 adjoint of ptracers
1442 o disentangled ALLOW_PTRACERS using new ALLOW_GCHEM
1443 o extended state in checkpoint_lev?, etc.
1444 o alternative ctrl/cost with tr1 or ptracer
1445 o new comlev1_bibj_ptracers
1446 o new ptracers.flow
1447 o made ptracers_forcing same as external_forcing_s
1448 o added verification for adjoint with ptracers
1449 - adm. grdchk fail so far
1450 - tlm. grdchk OK
1451 - checked tapelev/comlev recomputations: OK
1452 <<<checkpoint51b_pre
1453
1454 checkpoint51a_post
1455 o added code for biogeochemistry package
1456 - new pkgs: dic, gchem
1457 - new subroutine in ptracers
1458 o modify code for biogeo packages
1459 - in model/src and pkg/ptracers
1460
1461 checkpoint51
1462 o merged improved packages from ecco-branch (ecco_c51_e34) to MAIN
1463 - autodiff, ctrl, exf, grdchk, seaice
1464 kept separate packages
1465 - cost, ecco, obcs
1466 o updating verification/internal_wave, verification/lab_sea
1467 (all verif's pass on faulks.lcs.mit.edu RH7.3, g77)
1468
1469 checkpoint50i_post
1470 o Preparing next differentiable checkpoint and sync
1471 of MAIN vs. ecco-branch
1472 - 1st step: this one is differentiable
1473 - 2nd step: next(! not this) checkpoint will have updated packages
1474 from ecco-branch)
1475
1476 checkpoint50h_post
1477 o new package "land": provide surface BC for AIM.
1478 o pkg/ptracers: apply exchange to all tracers after reading a pickup.
1479 o AIM: use true log-P extrapolation for near surface temp (= as in
1480 F.Molteni paper) ; update aim.5l_cs output.
1481 o New variable in PARM03 for more flexible pickups
1482 o somewhat cleaned package initialisation sequence for
1483 ctrl/ cost/ ecco/ in packages_... routines
1484
1485 checkpoint50g_post
1486 o merged with release1_p17 (pkg/seaice and verification/lab_sea)
1487 - added SEAICE_MULTILEVEL for 8-category sea-ice thermodynamics
1488 - LSR sea-ice dynamic solver moved to SouthWest B-grid location and
1489 made the default because of faster convergence than ADI
1490
1491 checkpoint50f_post
1492 o exf totally restructured
1493 - replaced all exf_set_ routines by one generic exf_set_gen.F
1494 and made sure it's still differentiable
1495 - split exf_getffields.F into new exf_bulkformulae.F
1496 - exf_inscal_/exf_outscal_ suffixes consistent with field names
1497 - updated adjoint/makefile and relevant verif. accordingly
1498
1499 checkpoint50f_pre
1500 o AIM: near surface temp evaluated from Pot.Temp: fixed for Part Cell ;
1501 + change Evap over land. (update aim.5l_cs output)
1502 o added missing .cvsignores and made uniform across expts
1503 o changed configuration of tidal_basin_2d expt
1504 o added pkg/debug functions for tracing code in fatal crashes
1505 o tidied pkg/monitor to use MONITOR_OPTIONS.h
1506 o new fn in pkg/monitor to stop model if solution grows too big
1507 o removed lots of single quotes from comments
1508
1509 checkpoint50e_post
1510 o make KPP work with PTRACERS
1511 - fix gad_calc_rhs to call new routine kpp_transport_ptr, which is
1512 nearly a copy of kpp_transport_s
1513 - there is no analogue to SurfaceTendencyS, so I have to use
1514 gPtr(of the surface layer) instead
1515 o add a new platform SunFire+mpi (SunFire 15000) to genmake
1516 checkpoint50e_pre
1517
1518 checkpoint50d_post
1519 o change kpp output from multiple-record state files to single-record state
1520 files analogous to write_state.F
1521 o reduce the output frequency of cg3d-related stuff to the monitor frequency,
1522 analogous to the cg2d-related output.
1523 o fix small problem with in ptracers_write_checkpoint.F: len(suff)=512,
1524 so that writing to internal file fn (with length 512) fails.
1525 checkpoint50d_pre
1526
1527 checkpoint50c_post
1528 o fix problem in ini_procs.F when using MPI (was there since checkpoint48f)
1529 o add monitor diagnostic of vorticity (mon_vort3.F) and potential energy.
1530 o add time-average diagnostic of U*V and vertical diffusive flux for theta.
1531 o bug fixed in convective adjustment diagnostic (multi-tile set-up).
1532 o 4th Order Adv scheme: return to previous (c40pre7) masking near boundaries.
1533
1534 checkpoint50c_pre
1535 Merging from release1_p13:
1536 o bug fix for pkg/seaice dynamic solver
1537 o Added SEAICE_initialHEFF to pkg/seaice
1538
1539 checkpoint50b_post
1540 o store u*,v* in gU,V instead of in guNm1,gvNm1
1541 o in order to put the momForcing out of the Adams-Bashforth:
1542 move forcing & CD-scheme calls from mom_fluxform & mom_vecinv
1543 to timestep.F
1544 o new flag "useCDscheme" (default=F); replace guCD,gvCD by local arrays
1545 o re-generate output for highly sensitive test-exp:
1546 global_ocean_pressure, ideal_2D_oce, lab_sea, natl_box
1547
1548 checkpoint50b_pre
1549 o restore the use of momAdvection & useCoriolis flags (mom_vecinv)
1550 o corrected CPP option mismatch in exf_Bulk... functions for case
1551 #define ALLOW_ATM_WIND && #undef ALLOW_ATM_TEMP
1552
1553 checkpoint50a_post
1554 o Bug fix for merging between c50 and KPP.
1555 ikey was passed from thermodynamics to kpp_calc via
1556 common block rather than being recomputed in kpp_calc,
1557 in contradiction with new key itdkey.
1558 New key ikppkey created, and tamc.h headers updated.
1559
1560 checkpoint50
1561 - 2nd step of merge with ecco-branch:
1562 merge changes in ecco-branch back into main trunk
1563 - bug fix in find_alpha
1564 - more storing in gmredi_calc_tensor.F, kpp_routines.F
1565 - avoid iterative loop in ini_pressure for ALLOW_AUTODIFF_TAMC
1566 - merged some sliced AD support routines
1567
1568 checkpoint49
1569 merged from ecco-branch:
1570 o exf:
1571 - Enable initialisation of forcing fields to constant
1572 (runtime) values.
1573 - in exf_getffields.F
1574 Reduce i-/j-loop to interior domain, discarding overlaps.
1575 That also fixes wrong TAF-key computations for key_1, key_2
1576 with bulf formulae.
1577 - exf_init.F modify #ifdef for exf_init_evap
1578 - exf_getffieldrec.F, ctrl_getrec.F
1579 The following INT-usages are not safe:
1580 fldsecs = int(fldsecs/fldperiod)*fldperiod
1581 fldcount = int(fldsecs/fldperiod) + 1
1582 and were modified.
1583 o autodiff: checkpoint_lev...
1584 - updated storing for bulk formulae (some arrays were missing)
1585 - added state for seaice package
1586 - synchronized with main branch
1587 o DIVA:
1588 Modif.s in
1589 - the_main_loop.F
1590 - the_model_main.F
1591 and added cost_final_restore.F cost_final_store.F
1592 o With these changes, it is possible to fully separate
1593 the first forward run to compute the cost function (mdthe_main_loop)
1594 and adjoint runs over individual DIVA intervals (adthe_main_loop)
1595 into separate model executions.
1596 This enables better tuning of DIVA to given queue sizes.
1597 o Loss of cost function value in consecutive DIVA runs is
1598 fixed by storing to 'costfinal' file.
1599 o Appropriate call of ctrl_unpack/_pack,grdchk_main at
1600 beginning/end of adjoint integration is accounted for.
1601 The current changes apply to TAF-1.4.26.
1602 TAF has one remaining bug, requiring one manual change
1603 (see MITgcm manual).
1604 o cal: synchronized between MAIN and ecco-branch
1605
1606 checkpoint48i_post
1607 o Changes to restore differentiability of code w.r.t. previous tag
1608 (mostly adding new routines to make list and replacing
1609 pressure by totPhiHyd).
1610 o Updated and merged grdchk package
1611 - has both ADM and TLM checks
1612 - works for single- and multi-proc.
1613 - output cleaned
1614 - worked successfully for parallel DIVA
1615 o genmake:
1616 - Adding -platform=SP4
1617 - Modif. for DEC Alpha (many don't have makedepend; use mkdep instead).
1618 o Modif. for DIVA:
1619 ctrl_unpack should not be called in intermediate DIVA interval.
1620 (similar thing would apply for active files such as
1621 tbar, sbar, psbar, which should not be reinitialised;
1622 only relevant for ecco-branch)
1623
1624 checkpoint48h_post
1625 o improve "ini_p_ground" when using finite difference form for calc_phi_hyd
1626 o Added net flux to downward flux conversion to pkg/exf/exf_getffields.F
1627 o Added SEAICE_initialHEFF to pkg/seaice
1628 o ecco_the_model_main.F: SEAICE_WRITE_PICKUP must precede WRITE_CHECKPOINT
1629
1630 checkpoint48g_post
1631 --- EOS:
1632 o compute locally the pressure for use in EOS: UNESCO, JMD95P, MDJWF
1633 store total Potential in totPhyHyd for diagnostics & EOS.
1634 o fix restart and overlap Pb when using Z-coord and EOS funct. of P
1635 --- Pressure/geopotential gradient:
1636 o use Ro_surf & R_low instead of hFac in cal_phi_hyd:
1637 o NLFS + p-coord.: eta*Alpha' is not longer lagging 1.time-step behind
1638 ( changes results of global_ocean_pressure )
1639 o NLFS + z-coord.: add eta*Rho' contribution.
1640 o accurate phiHyd when using interface-W at the middle between 2 centers
1641 ( changes results of ideal_2D_oce )
1642 o includes r* 2nd term in potential gradient.
1643
1644 checkpoint48f_post
1645 Merging from release1_p12:
1646 o Modifications for using pkg/exf with pkg/seaice
1647 - improved description of the various forcing configurations
1648 - added basic radiation bulk formulae to pkg/exf
1649 - units/sign fix for evap computation in exf_getffields.F
1650 - updated verification/global_with_exf/results/output.txt
1651 o Added pkg/sbo for computing IERS Special Bureau for the Oceans
1652 (SBO) core products, including oceanic mass, center-of-mass,
1653 angular, and bottom pressure (see pkg/sbo/README.sbo).
1654 o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F
1655 to avoid negative values in shallow regions.
1656 - updated verification/natl_box/results/output.txt
1657 - updated verification/lab_sea/results/output.txt
1658 o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F
1659 o Added useSingleCpuIO option (see PARAMS.h).
1660 o Updated useSingleCpuIO option in mdsio_writefield.F to
1661 work with multi-field files, e.g., for single-file pickup.
1662 o pkg/seaice:
1663 - bug fix in growth.F: QNET for no shortwave case
1664 - added HeffFile for specifying initial sea-ice thickness
1665 - changed SEAICE_EXTERNAL_FLUXES wind stress implementation
1666 o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf,
1667 kpp_transport_t.F, forward_step.F, and the_main_loop.F
1668 o pkg/seaice:
1669 - adjoint-friendly modifications
1670 - added a SEAICE_WRITE_PICKUP at end of the_model_main.F
1671
1672 checkpoint48e_post
1673 o New S/R for diagnostic of bottom pressure (phi0surf was missing in c48d_post)
1674 o dynamics: change definition of computational domain & adapt mom_fluxform
1675 accordingly ; when viscA4=0, allows to run the dynamics with Olx=Oly=2.
1676 o following exp works with Olx=Oly=2 (and pass through checkbounds option):
1677 adjust_nlfs.cs-32x32x1 adjustment.128x64x1 adjustment.cs-32x32x1
1678 exp0 exp1 exp2 exp4 exp5 hs94.cs-32x32x5 hs94.128x64x5 hs94.1x64x5
1679 global_ocean.90x40x15 global_with_exf global_ocean_pressure
1680 inverted_barometer solid-body.cs-32x32x1
1681 (high order AdvScheme and/or multiDimAd works with Olx=Oly=2 ? not sure)
1682
1683 checkpoint48d_post
1684 o in preparation for r*:
1685 a) use pre-computed gradient of hydrostatic potential:
1686 changes in timestep.F & mom_cdscheme.F affects results of ideal_2D_oce
1687 b) move phi0surf from calc_phi_hyd to calc_grad_phi_hyd:
1688 => affects results of glob_oce_pressure (different truncation error)
1689 update output.txt of ideal_2D_oce & global_ocean_pressure
1690
1691 checkpoint48d_pre
1692 o in preparation for r*:
1693 new S/R (calc_grad_phi_hyd.F) to compute Hydrostatic potential gradient.
1694 pass the 2 comp. of the grad. as arguments to momentum S/R.
1695 but for the moment, only used if it does not change the results.
1696 o add finite volume form of calc_phi_hyd for buoyancyRelation OCEANIC & OCEANICP
1697
1698 checkpoint48c_post
1699 Modifications in treatment of initial flux forcing controls
1700 to avoid extra storing of flux fields.
1701
1702 checkpoint48c_pre
1703 o Added tidal_basin_2d experiment (currently 1D!)
1704 o can use r* Coordinate with OBC (but Orlanski Rad. BC not yet implemented)
1705
1706 checkpoint48b_post
1707 o r* coordinate added in #ifdef NONLIN_FRSURF block.
1708 (modification to pressure gradient not yet implemented)
1709 o mom_fluxform: new S/R mom_calc_rtrans.F computes vertical transports
1710 (for U & V) that are used for vertical advection of momentum.
1711
1712 checkpoint48a_post
1713 o In preparation for r*, use temp. array to compute vertical transport
1714 in flux-form momentum pkg. => change results of few test-exp.
1715 Update output of: exp4, exp5, front_relax, global_ocean_pressure,
1716 lab_sea, natl_box & plume_on_slope
1717
1718 checkpoint48
1719 o fix small bug that was causing lot of warning (TIMER_STOP 'UPDATE_CG2D')
1720
1721 checkpoint47j_post
1722 o add new exp. (ideal_2D_oce) to test "exotic" parameters and options.
1723 o moved adexch from forward_step to addummy_in_stepping
1724 o added exch in ctrl_map_...
1725 o aveFreq.=0. at end of cost_final to avoid overwrite in
1726 reverse checkpointing loop
1727 o Yet more changes in gmredi:
1728 * adgmredi_calc_tensor
1729 avoiding all recomputation of gmredi_slope_limit
1730 * adgmredi_x/y/rtransport
1731 added flag for excessive storing to avoid recomp. of
1732 u/v/rtans, dTdx/y/z
1733 -> this is not really necessary and very memory-consuming
1734 * adgmredi_slope_psi:
1735 consistency with gmredi_slope_limit in treatment of GM_slopeSqCutoff
1736 * gmredi_slope_limit
1737 re-activated full calculation of taperfct for case 'ac02'
1738 o updating verification/ adjoints of carbon, global_ocean.90x40x15
1739
1740 checkpoint47i_post
1741 o GM_EXCLUDE_() replace GM_TAPER_(): by default, all the code is compiled.
1742 o add GM_Small_Number & GM_slopeSqCutoff as run-time parameters (data.gmredi)
1743 default values = 1.D-12 & 1.D+48 (=> give same results as checkpoint47f_post)
1744 o cg2dTargetResWunit: define tolerance using deltaTmom (and not deltaTfreesurf)
1745 o gmredi: fix few bugs.
1746
1747 checkpoint47h_post (duplicate tag for PH's c48 tag, in order to move c48)
1748 This will be a good checkpoint to plug into the ecco-branch.
1749 o few modif.'s to get latest version adjointed
1750 (mainly kick out code in ini_linear_phisurf)
1751 o modif's to run adjoint with exactConserv
1752 o case GM_BOLUS_ADVEC should be cleaned
1753 S/R gmredi_slope_psi should be cleaned
1754 o verification/carbon now has exactConserv=.TRUE.
1755
1756 checkpoint47g_post
1757 o time-average AIM output: becomes independent from statvars time-average
1758 (can be used with #undef ALLOW_TIMEAVE) ; add new variables (e.g., RH)
1759 o After TAF bug fix:
1760 Tested adjoint of gmredi package.
1761 Tests were done with checkpoint47 rather than with latest
1762 checkpoint47f_post since the latter is broken for the adjoint
1763 verification/carbon/ contains both ADM and TLM gradient checks.
1764 Here they are, before they get changed/lost/stolen.
1765 Mostly modif.'s to fix numerical sensitivities.
1766 Gradient checks OK for
1767 - GM_taper_scheme:
1768 * clipping
1769 * ac02
1770 * linear
1771 * glw91
1772 * dm95
1773 * ldd97
1774 - GMREDI_OPTIONS:
1775 * GM_VISBECK_VARIABLE_K
1776 * GM_NON_UNITY_DIAGONAL
1777 * GM_EXTRA_DIAGONAL
1778 * GM_BOLUS_ADVEC
1779 in conjunction with data.gmredi parameters to be checked in
1780 in a few minutes under verification/carbon/code/
1781
1782 checkpoint47f_post
1783 Merging from release1_p10:
1784 o modifications for using pkg/exf with pkg/seaice
1785 - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING
1786 and SEAICE_EXTERNAL_FLUXES
1787 - pkg/exf CPP options EXF_READ_EVAP and
1788 EXF_NO_BULK_COMPUTATIONS
1789 - usage examples are Experiments 8 and 9 in
1790 verification/lab_sea/README
1791 - verification/lab_sea default experiment now uses
1792 pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf
1793
1794 checkpoint47e_post
1795 o created a tag prior to creating a branch
1796
1797 checkpoint47d_post
1798 o fixed bug in the oceanic pressure coordinates code: vertical viscosity
1799 at the bottom boundary had an erroneous half slip boundary condition
1800 o added bottom drag and no slip boundary condition capabilities to
1801 oceanic pressure coordinates code
1802 o added new verification experiment global_ocean_pressure, this experiment is
1803 also described in the tutorial section of the manual
1804 checkpoint47d_pre
1805
1806 checkpoint47c_post
1807 o Added a verification experiment for a global cubed-sphere ocean run
1808 - verification/global_ocean.cubed32x32x30
1809 - uses pkg/therm_seaice and pkg/bulk_forcing
1810
1811 o allow to run AIM physics with SPEEDY input files (from Franco Molteni)
1812 o allow a more accurate definition of Ro_Surf (selectFindRoSurf=1)
1813 when using P-coordinate; only implemented for atmospheric config.
1814 o OCEANICP & realFreshWater: include P-E direct effect on wVel ;
1815 NOTES: requires option NONLIN_FRSURF to be "#define".
1816 o update advect_xz/results/output.txt (left from checkpoint44g_post)
1817
1818 checkpoint47b_post
1819 Merging from release1_p9:
1820 o pkg/seaice
1821 - removed GOTO's and added taf directives
1822 - double precision constants to reduce the g77 (Linux)
1823 to F77 (SGI) differences reported in release1_p8
1824 o tools/genmake
1825 - added SGI options
1826 o verification/testscript
1827 - updated to that of checkpoint47a_post
1828 o verification/global_ocean.90x40x15/input/eedata
1829 - modified for SGI f77 compatibility
1830 o verification/lab_sea
1831 - added description of sea-ice model
1832 - added missing matlab routines
1833 - added test of thermodynamics parallelization
1834
1835 checkpoint47a_post
1836 o new pkg: aim_v23
1837 = F. Molteni atmos.physics (SPEEDY, ver23) adapted to MITgcm.
1838 for now, keep the same surface forcing as before.
1839 - Part-Cell implemented into AIM; check that Heat & Water are conserved
1840 - aim.5l_cs: use new aim pkg (run 10yr & get better results than before)
1841 - aim.5l_LatLon & aim.5l_Equatorial_Channel are still using old aim pkg
1842 o add diagnostic of surface correction term in monitor output
1843
1844 o bulk_force and therm_seaice
1845 - Two packages: bulk_force (Bulk forcing)
1846 and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2
1847 - Earlier integration from Stephaine Dutkiewicz
1848 and Patrick Heimbach.
1849 - Two ifdef statements for compile time,
1850 ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE
1851
1852 checkpoint47
1853 differentiable version of checkpoint46n_post
1854 o bug fix in quasihydrostaticterms
1855 o * "clean" adjoint code (in terms of extensive recomputations)
1856 can now be obtained for all GMREDI options (i.e. for
1857 - GM_VISBECK_VARIABLE_K
1858 - GM_NON_UNITY_DIAGONAL
1859 - GM_EXTRA_DIAGONAL
1860 - GM_BOLUS_ADVEC )
1861 * However, wrong gradient check problem remains unsolved.
1862 * New CPP options have been introduced for different
1863 tapering schemes
1864 o external_fields_load now part of differentiation list
1865 o pressure needs multiple storing;
1866 would be nice to have store_pressure at beginning or
1867 end of forward_step, e.g. by having phiHyd global (5-dim.)
1868 (NB: pressure is needed for certain cases in find_rho,
1869 which is also invoked through convective_adjustment).
1870 o recomputations in find_rho for cases
1871 'JMD95'/'UNESCO' or 'MDJWF' are OK.
1872 o #define ATMOSPHERIC_LOADING should be differentiable
1873 o ini_forcing shifted to begining of initialise_varia
1874 o Incorporating QNVS line search routines into MITgcm
1875 (this is separate code, and therefore not under pkg)
1876 lsopt/, optim/
1877 o Updated verification/carbon/
1878 - #define GM_VISBECK_VARIABLE_K
1879 - GM_taper_scheme = 'ldd97'
1880
1881 checkpoint46n_post
1882 Merging from release1_p8:
1883 o verification/natl_box:
1884 updating new external_fields_load routine
1885 o New package: pkg/seaice
1886 Sea ice model by D. Menemenlis (JPL) and Jinlun Zhang (Seattle).
1887 The sea-ice code is based on Hibler (1979-1980).
1888 Two sea-ice dynamic solvers, ADI and LSR, are included.
1889 In addition to computing prognostic sea-ice variables and diagnosing
1890 the forcing/external data fields that drive the ocean model,
1891 SEAICE_MODEL also sets theta to the freezing point under sea-ice.
1892 The implied surface heat flux is then stored in variable
1893 surfaceTendencyTice, which is needed by KPP package (kpp_calc.F and
1894 kpp_transport_t.F) to diagnose surface buoyancy fluxes and for the
1895 non-local transport term. Because this call precedes model
1896 thermodynamics, temperature under sea-ice may not be "exactly" at
1897 the freezing point by the time theta is dumped or time-averaged.
1898 N.B.: fairly large differences in accuracy occur across
1899 different platforms/compilers; comparison between
1900 g77 (Linux) and F77 (SGI Origin 2000/MIPSpro)
1901 generated output gives:
1902 T S U V
1903 C D M c m s m s m s m s
1904 n p a R g m m e . m m e . m m e . m m e .
1905 f n k u 2 i a a d i a a d i a a d i a a d
1906 g d e n d n x n . n x n . n x n . n x n .
1907
1908 Y Y Y Y 5 5 7 7 7 8 10 9 6 6 6 6 7 5 7 5 7 FAIL lab_sea
1909 o GAD:
1910 - generated new common blocks to account for call of
1911 same gad routines with differing traceridentities
1912 (needed to modify tracerIdentity indices in GAD.h)
1913 - generated separate common blocks for case useCubedSphereExchange
1914 (Department of Futurology)
1915 - parameter lists to gmredi_?transport: added tracerIdentity
1916 - added new key indices to tamc.h
1917 o external_fields_load:
1918 - added this routine to TAF list
1919 - needed to make some common blocks global and additional storing
1920 along the same lines as exf package (checkpoint_lev?_directives.h)
1921 o exf:
1922 updated external forcing package
1923 - bug fixes carried over from ecco-branch
1924 (missing OBCS_OPTIONS.h in two routines)
1925 - enable easy to use "no forcing".
1926 - added exf I/O for atmospheric loading
1927 - added exf I/O for runoff data
1928 - transfered scaling between exf <-> MITgcm to exf namelist
1929 o Adding new verification experiment global_with_exf.
1930 This verification experiment is almost identical to the
1931 global_ocean.90x40x15 experiment, except that it uses
1932 the exf (and cal) package instead of the
1933 external_fields_load routine (cf README file).
1934
1935 checkpoint46m_post
1936 o modified testscript to return -- when there are no lines of "%MON" output
1937 o added new flag "quasiHydrostatic" for QH mode
1938 and new routine quasihydrostaticterms()
1939 o added 2*Omega*Cos(phi)*W to u equations (non-hydrostatic Coriolis term)
1940 New routine: mom_u_coriolis_nh()
1941 o fixed sign of non-hydrostatic metric terms in u and v equations.
1942 Depend on correct sign of gravitySign.
1943 o added work.pc* to .cvsignore in aim directories using ifc
1944 o introduced flag for controllin non-hydrostatic metric terms
1945 o removed gravitySign from PARM04
1946 o switched to g77/ifc from pgf77 in aim experiments
1947
1948 checkpoint46l_post
1949 o made convective adjustment work with pressure coordinates:
1950 - changed the direction of k-loop in convective_adjustment.F for the
1951 case of pressure coordinates (OCEANICP,ATMOSPHERIC buoyancyRelation)
1952 - adjusted the reference pressure k-index in convective_adjustment.F
1953 - adjusted the convection condition in convect.F (in analogy to
1954 calc_ivdc.F)
1955 - convective_adjustment no longer computes anything on the halos
1956 - removed the warnings about negative salinity from find_rho.F and
1957 find_alpha.F; instead the new routine look_for_neg_salinity, called
1958 at the beginning of find_rho, find_alpha, and find_beta, does a
1959 check of the entire slice, if CPP-option
1960 CHECK_SALINITY_FOR_NEGATIVE_VALUES is defined
1961 checkpoint46l_pre
1962
1963 checkpoint46k_post
1964 o fixed the verification/global_ocean.90x40x15 experiment:
1965 - new bathymetry (the world according to A., JMC, and M.)
1966 - new initial fields and forcing fields (*.bin files)
1967 - new POLY3.COEFFS (for the next release one should switch to a full
1968 equation of state: JMD95P or MDJWF)
1969 - fixed several errors and redundancies in the data file
1970 - experiment uses looped cells
1971 - added matlab directory with diagnostic scripts for plotting of output
1972
1973 o S/R aim_initialise.F replace S/R aim_init from file aim_do_inphys.F:
1974 - read AIM physics parameters from a file (data.aimphys)
1975 - set defaults values = F.Molteni paper (Clim.Dyn., 2002)
1976
1977 checkpoint46j_post
1978 o split calc_exact_eta in 2 S/R : integr_continuity & update_etaH
1979 o move wVel computation at the end of the time step, in S/R integr_continuity
1980 o create specific S/R to exchange T,S before DYNAMICS (for stagger time step)
1981 o update timeave pkg for wVel diagnostic.
1982 checkpoint46j_pre
1983
1984 checkpoint46i_post
1985 o Clean up AIM package (and keep the results unchanged):
1986 include CPP_OPTION and use IMPLICT NONE in all routines ;
1987 declare all the variables _RL ; use _d 0 for all numerical constants.
1988 use ifdef ALLOW_AIM everywhere. And now AIM can be used with g77 !
1989
1990 checkpoint46h_post
1991 o cleaned up the use of rhoNil and rhoConst.
1992 - rhoNil should only appear in the LINEAR equation of state, everywhere
1993 else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst
1994 and the dynamical equations are all divided by rhoConst
1995 o introduced new parameter rhoConstFresh, a reference density of fresh
1996 water, to remove the fresh water flux's dependence on rhoNil. The default
1997 value is 999.8 kg/m^3
1998 o cleanup up external_forcing.F and external_forcing_surf.F
1999 - can now be used by both OCEANIC and OCEANICP
2000 checkpoint46h_pre
2001
2002 Added code to convert surface volume flux (fresh water) into
2003 a mass flux when using P coordinates in the ocean (OCEANICP).
2004 Note: It assumes you have set rho0=rhoConst=density of fresh water.
2005
2006 checkpoint46g_post
2007 o Include a new diagnostic variable phiHydLow for the ocean model
2008 - in z-coordinates, it is the bottom pressure anomaly
2009 - in p-coordinates, it is the sea surface elevation
2010 - in both cases, these variable have global drift, reflecting the mass
2011 drift in z-coordinates and the volume drift in p-coordinates
2012 - included time averaging for phiHydLow, be aware of the drift!
2013 o depth-dependent computation of Bo_surf for pressure coordinates
2014 in the ocean (buoyancyRelation='OCEANICP')
2015 - requires a new routine (FIND_RHO_SCALAR) to compute density with only
2016 Theta, Salinity, and Pressure in the parameter list. This routine is
2017 presently contained in find_rho.F. This routine does not give the
2018 correct density for 'POLY3', which would be a z-dependent reference
2019 density.
2020 o cleaned up find_rho
2021 - removed obsolete 'eqn' from the parameter list.
2022 o added two new verification experiments: gop and goz
2023 (4x4 degree global ocean, 15 layers in pressure and height coordinates)
2024 checkpoint46g_pre
2025
2026 checkpoint46f_post
2027 o Enable tangent linear (forward mode) gradient checks:
2028 - extended active file handling to g_... files
2029 - added TANGENT_SIMULATION to theSimulationMode
2030 - extended grdchk package accordingly
2031 o added tangent linear setup in verification/carbon/code_ftl
2032 o added adjoint setup in verification/front_relax/code_ad
2033
2034 checkpoint46e_post
2035 o Added new equation of state -> MDJWF
2036 - EOS of McDougall et al., 2002, JAOT, submitted
2037 - caveat: the equation of state is only valid for a smaller (more
2038 realistic?) range of values than JMD95P/Z and UNESCO
2039 - added masks to the calculation of pressure in store_pressure
2040 - added more check values for density in check_eos (ini_eos.F), some of
2041 the old check values are out of the range of the MDJWF-eos, so don't
2042 expect perfect matches for those
2043 checkpoint46e_pre
2044
2045 checkpoint46d_post
2046 o fixed store_pressure to work with both buoyancy relation = 'OCEANIC' and
2047 'OCEANICP', also initialised field pressure correctly in ini_eos in the
2048 case of pressure coordinates. eosType='JMD95Z' in
2049 combination with buoyancyRelation='OCEANICP' now causes an error.
2050 o Changed p = pressure(i,j,k,bi,bj) to p = pressure(i,j,kRef,bi,bj)
2051 in find_alpha/beta.
2052 checkpoint46d_pre
2053
2054 o Changed p = pressure(i,j,k,bi,bj) to p = pressure(i,j,kRef,bi,bj)
2055 so that JMD95Z and JMD95P give approptiate static stability in find_rho.
2056
2057 checkpoint46c_post
2058 o Changes necessary for ocean in p-coordinates
2059 - Added new buoyancy relation = 'OCEANICP'
2060 - Added new parameters = gravitySign (this used to be contained inside
2061 the factor dRdZ which I added when we first switched to R coordinates).
2062 X GM/Redi is not compatible (yet)
2063 X bottom drag and no-slip need to be debugged.
2064 checkpoint46c_pre
2065
2066 checkpoint46b_post
2067 o Added new equation of state -> JMD95Z and JMD95P
2068 - EOS of Jackett and McDougall, 1995, JAOT
2069 - moved all EOS parameters into EOS.h
2070 - new routines ini_eos.F, store_pressure.F
2071 o Added UNESCO EOS, but not recommended because it requires
2072 in-situ temperature (see JMD95)
2073 o Modified formatting for knudsen2.f in utils/knudsen2 and added
2074 unesco.f to be used with POLY3
2075 checkpoint46b_pre
2076
2077 checkpoint46a_post
2078 o Added (atmospheric) pressure loading
2079 - new field in FFIELDS.h, etc...
2080 - new cpp flag ATMOSPHERIC_LOADING
2081 o Changed hFacC to _hFacC in calc_phi_hyd.F
2082 o Added SHORTWAVE_HEATING to some files for consistency
2083 checkpoint46a_pre
2084
2085 checkpoint46
2086 further merges from release1_p5
2087 o new ctrl package
2088 - adopted from ECCO environment to enable optimization
2089 - added Eliassen Palm fluxes to controls
2090 o added Eliassen Palm flux controls to gradient check package
2091 o cost package
2092 - Compatible with new ctrl package
2093 - added Eliassen Palm cost hooks
2094 - modif's of existing cost functions
2095 o Adjoint-related bug fixes in kpp:
2096 - kpp_calc: sore of kpphbl avoids recomputation/call to S/R kppmix
2097 - kpp_routines: store of Rib avoids partial recomputation bug of TAF.
2098 o autodiff package
2099 - flow directives:
2100 + new for S/R do_the_model_io
2101 + enhanced for S/R checkpoint
2102 + new gmredi.flow
2103 - Introduced CPP option ALLOW_AUTODIFF_MONITOR to
2104 disable adcommon.h/g_common.h by default.
2105 - fixed problem for adjoint of global_max
2106 o modified verification/carbon/
2107 o New setup for adjoint of global_ocean
2108 o added hooks for Eliassen Palm fluxes (dynamics.F, ini_fields.F)
2109 o cleaned TAF keys iikey, idkey (dynamics.F, thermodynamics.F)
2110 o incorporated hooks for sponge layer code (external_forcing.F)
2111
2112 checkpoint45d_post
2113 o import 2 fixes from release1_p5 (CG2D.h & packages_readparms.F)
2114 o use recip_dx*,recip_dy* instead of /dx*,/dy* in orlanski_E,W,N,S
2115 (affects plume_on_slope "cg2d" output)
2116 o add new parameter deltaTfreesurf for free-surface time stepping
2117 o exchange gT,gS when using staggerTimeStep & GM & Oly<4
2118 o NONLIN_FRSURF: rescale gNm1 to get a better conservation with A-B
2119 o change phiMin in exp1 (to agree with documentation)
2120 o add new flags:
2121 - T,S forcing inside/outside Adams-Bashforth
2122 - turn off temp,salt advection and/or forcing
2123 - for each tracer, define internal flag for multiDimAdvection & A-B
2124 o monitor: change definition of KE to check conservation of Energy
2125
2126 checkpoint45c_post
2127 o Removed f90 comments ("!")
2128 o Modified initialisations to enable exf package for MITgcm
2129 (without invoking ECCO_PACKAGE).
2130 o modifications to gradient check package (Martin Losch)
2131 - enable centered differences
2132 - modified format of standard output
2133
2134 checkpoint45b_post
2135 o cleaned exchange calls in cg2d
2136 o Included CPP option ALLOW_AUTODIFF_MONITOR in forward_step
2137 o included CPP option SINGLE_LAYER_MODE in thermodynamics
2138 to configure barotropic setup (Martin Losch)
2139 o moved some initialisations within bi,bj loop in dynamics
2140 (TAF flow dependency)
2141 o in initialise_varia, moved call packages_init_variables
2142 before convective_adjustment_init
2143 (corresponding adjustment of TAF tape initialisation).
2144 o in calc_diffusivity/calc_viscosity extended domain to full overlap.
2145
2146 checkpoint45a_post
2147 o compute Rho over the whole domain (extend iMin,jMin indices)
2148 o specific exchange for X-slice domain (case Ny=1)
2149 o argument futureIter of S/R obcs_calc missing in exp4 & internal_wave /code
2150 o solve_for_pressure : set cg2d_x to zero where OBCS are applied
2151
2152 checkpoint44h_post = checkpoint45
2153 o Fix to restore differentiability:
2154 place at which packages_init_variables is called in
2155 initialise_varia is crucial for reverse control flow.
2156 o modifications in GMRedi to enable stable adjoint
2157 (corresponding modif's in thermodynamics, dynamics)
2158 o added missing hook for sponge layer code in external_forcing
2159 o modified test cost functions
2160 o storing in gad_advection (plus removal of write(0,*)!
2161 o missing headers TR1.h added in convective_adjustment routines
2162 o errorMessageUnit set non-equal zero in eeboot
2163 (conflict on some platforms, e.g. IBM SP3)
2164 o modified carbon verif.
2165
2166 checkpoint44h_pre
2167 o vertical grid option: allow to put the Interface at the middle between
2168 2 cell-centers ; replace delZ in pkg/kpp by drF.
2169 o GM Advective form: Tracers are advected using the residual transport (=
2170 Euler+GM-bolus); set param GM_AdvSeparate=T to return to previous form.
2171
2172 checkpoint44g_post
2173 o fix surface correction term in multiDimAdvection (affects plume_on_slope
2174 results) ; ifdef missing in thermodynamics.F
2175
2176 checkpoint44f_pre,checkpoint44f_post
2177 o added PTRACERS package
2178 This allows an arbitrary number of passive tracers to be integrated
2179 forward simultaneously with the dynamicaly model.
2180 + Implemented so far:
2181 - basic forward algorithm (time-stepping, advection, diffusion, convection)
2182 - I/O and checkpointing
2183 - GM/Redi *but* using the GM/Redi coefficient of Salt
2184 + Not implemented so far:
2185 - KPP
2186 - OBCS
2187 + No specific example supplied (yet) but global_ocean.90x40x15 has the
2188 necessary data.ptracer file. Simply use -enable=ptracers and uncomment
2189 line in data.pkg.
2190 + This package is disabled by default since it increases storage.
2191
2192
2193 o testscript: added -cleanup option
2194 o Shap_filt: a) new shap_filt S/R to use no-slip BC with S2 filter
2195 b) enable to filter 2D fields.
2196
2197 checkpoint44e_pre,post
2198 o re-wrote convective adjustment to use pre-calculated weights
2199 Affects: model/src/convective_adjustment.F, convective_adjustment_ini.F
2200 Adds: model/src/convective_weights.F, convectively_mixtracer.F
2201 Original calls to convect() still in place.
2202
2203 chkpt44d_pre,post
2204 o added missing EXCLUDE_MONITOR flags
2205 o changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi
2206 (incompatible typ in MIN/MAX expressions caused problems
2207 on IBM SP3)
2208 o in genmake added variable MAKEDEPEND
2209 plus resetting for case SunOS
2210 o added timer_stats.c routine for IBM SP3
2211 o removed variables in dynamics
2212 !!! I forgot to create tag chkpt44d_pre !!!
2213 !!! But chkpt44d_pre = chkpt44c_post !!!
2214
2215 o real fresh water flux implemented with non-linear free-surface.
2216
2217 chkpt44c_pre,post
2218 o few fix (mask in shap_s2, EmPmR in external_field_load,
2219 USE_NATURAL_BCS in solve_for_P);
2220 o add arguments myIter & myTime to S/R obcs_calc & solve_for_P
2221
2222 checkpoint44b_pre/_post
2223 o merge of relevant stuff from the ecco-branch:
2224 - genmake: removed $S64 overwrite for case SunOS
2225 - pkg/exf: update and corrections for field swapping and obcs
2226 - pkg/ecco: parameter lists for the_model_main, the_main_loop
2227 harmonized between ECCO and MITgcm
2228 - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice
2229 updated checkpointing_lev... lists for obcs
2230 - model/src: minor changes in forward_step, plot_field
2231 added directive for divided adjoint in the_main_loop
2232 - pkg/mdsio: added mdsio_gl_slice
2233
2234 o check parameters & config (chkpt44a_pre,post)
2235 o OBC and NonLin_FrSurf.
2236
2237 checkpoint44
2238 o fix bug in mom_vi_del2uv
2239 o select when filters are applied ; add options to zonal_filter (data.zonfilt)
2240 o gmredi: fix Pb in the adiabatic form ; add options (.e.g. Bolus advection)
2241 o update AIM experiments (NCEP input files)
2242 o improve and extend diagnostics (Monitor, TimeAve with NonLin-FrSurf)
2243 o added some stuff for AD
2244
2245 checkpoint43
2246 o added two new advection tests
2247 o added global 4x4 degree ocean test
2248 o added test of H&S94 with free surface on cube
2249 o some final mods for gradient check, adjoint,...
2250
2251 checkpoint42
2252 Fixed AD-related problems:
2253 o Store directives up-to-date with re-arranged Adams-Bashforth
2254 (mainly thermodynamics.F)
2255 o New store directives for multi-dim. advection schemes
2256 * new CPP flag ALLOW_MULTI_DIM_ADVECTION
2257 * new common block and key passkey
2258 (mainly gad_advection.F)
2259 o Modified store directives for split of dynamics/thermodynamics
2260 for the case ALLOW_KPP
2261 o Cleaned argument list for timestep_tracer.F
2262
2263 checkpoint41
2264 o re-formatted/added comments in prologues of key subroutines
2265 to work with protex
2266
2267 checkpoint40
2268 o moved calc_gs, calc_gt and calc_tr1 back to model/src
2269 o added FLT (floats) package from Arne along with demo. experiment
2270 o re-arranged Adams-Bashforth scheme for tracers to allow easier
2271 implementation of forward-in-time forcing terms
2272 o more mods for non-linear free-surface including new variable
2273 o modified multi-dim method to work on cube
2274 o bug fix in KPP (from DM)
2275
2276 checkpoint40pre9
2277 o added DST advection schemes
2278 o fix MPI bug on SGI's
2279 o modifications for non-linear free-surface
2280 o fixed conditionals for fixed flow/passive tracer only mode
2281 o added tension/strain form of stress tensor
2282 o changes to commenting of arguments for TAF/TAMC
2283 o added/updated many matlab scripts
2284 o added multi-dimensional advection method for tracers
2285
2286 checkpoint40pre8
2287 o new package rw/
2288 Added method for dumping intermediate local arrays:
2289 mdsio_writetile - same as mdsio_writefield except works from inside
2290 bi,bj loop
2291 mdsio_writelocal - same as mdsio_writetile except works for local
2292 arrays
2293 write_local_r? - higher-level wrapper for mdsio_writelocal
2294 Controlled by diagFreq. Defaults to zero (ie. no dumps)
2295 Example given at end of mom_vecinv.F that dumps some local arrays.
2296 o replaced calc_mom_rhs.F by mom_fluxform.F/mom_vecinc.F to
2297 control flux-form versus vector invariant code.
2298 Switch is runtime flag vectorInvariantMomentum (defaults to false)
2299 or genmake -DISABLE ...
2300 o TAMC-related update to cope with mom_fluxform.F/mom_vecinc.F
2301 (additional storing is now needed for case vecinv;
2302 currently nothing implemented to switch this storing off
2303 in case fluxform is used since no CPP flag available).
2304
2305 checkpoint40pre7
2306 o bug fix in dynamics.F
2307 calc_viscosity called before k=1,Nr loop.
2308 o added some #ifdef's ALLOW_PASSIVE_TRACER
2309 o cleaned initialisations in ctrl_map_ini
2310 related to TAF
2311
2312 checkpoint40pre6
2313 o split dynamics into thermodynamics & dynamics
2314 o corresponding split of calc_diffusivity into
2315 calc_diffusivity, calc_viscosity
2316 (kpp_calc_diff, kpp_calc_visc).
2317 o Added diffkr, kapgm to control variables
2318 o bug fix in gmredi_slope_limit for ldd97
2319
2320 checkpoint40pre5
2321 o proper initialization of Adams-Bashforth time stepping
2322 + uses forward step for very first step of model (iter=0)
2323 o re-generated *all* output since almost all output is modified by this
2324 change (sorry but we've been putting this one off for about 2 years)
2325 + natl_box, aim.5l_Equatorial_Channel and aim.5l_zon-ave were
2326 *not* regenerated since they are already out of date and I don't
2327 want to create the impression that they are suddenly working.
2328 o removed KAP stuff for DEC's
2329 o modified/added many .cvsignore files in */code and */input
2330 o added new expt "solid-body.cs-32x32x1"
2331 + this uses an alternative form of ini_curvilinear_grid.F which
2332 is not necessarily any better than the current one...
2333
2334 checkpoint40pre4
2335 o added re-initialisations of utrans,vtrans,rtrans in
2336 calc_common_factors which are crucial for TAF.
2337 o extended iMin,jMin range for calc_common_factors,
2338 calc_diffusivity
2339 o added option ALLOW_PASSIVE_TRACER
2340 o a few minor updates and fixes
2341
2342 checkpoint40pre3
2343 o created calc_gtr1.F for gad package
2344 o split the_main_loop and re-introduced forward_step
2345 o some recomputations of nIter0 for TAMC
2346
2347 checkpoint40pre2
2348 o Updated to latest branch of AJA, JMC
2349 o Added gradient check package
2350 o Added routines for passive tracer handling
2351 o Added carbon sequestration sensitivity experiment
2352
2353 checkpoint39
2354 o Modifications and fixes to support TAMC
2355 (mainly missing or wrong directives)
2356 o Corrected common blocks when fooling TAMC to produce adjoint I/O
2357 in addummy_in_stepping
2358 o Updated verification/vero/ (bug fixes in code/, correct pickups in input/)
2359 o Enabled "sliced" (xz-,yz-) exchanges, needed for obcs.
2360 o Included following packages:
2361 cal: calendar
2362 exf: external forcing
2363 ecco: essential routines to control use of cal, exf
2364 (NB: this is not the full ECCO environment)
2365 o disabled some packages by default in genmake
2366
2367 checkpoint38
2368 o see notes_c37_adj.txt
2369 o corrected wrong layer index in external_forcing_t
2370 o replaced the_main_loop/forward_step by the_main_loop
2371 o removed forceoutput from write_state
2372 (replaced criteria for initial/final state)
2373 o added runtime flag for pre-C35 pickups: usePickupBeforeC35
2374
2375 checkpoint37
2376 o mdsio.F routine split and packaged in pkg/mdsio
2377 (mdsio.F and mdsio_gl.F still exist in eesupp/src but are not
2378 used unless genmake -disable=mdsio)
2379 o allow a more precise surface-geopotential gradient for the atmosphere
2380 taking into account the change in space of Alpha (=1/rho) at the surface.
2381 o variable "etaN" (replace cg2d_x) is the surface R-anomaly [r unit]
2382 (ocean: sea surface height [m] / atmos: surface pressure anomaly [Pa])
2383 o Change units: Phi_Hydrostatic (=phiHyd), Phi_Surface(=cg2d_x) and
2384 Phi_NonHydrostatic (=cg3d_x), all have now the dimension of a potential
2385 [m2/s2] (pressure/rhoConst in the ocean ; Geo-Potential in the atmosphere).
2386 o Time-Average diagnostics defined as a pseudo package "timeave".
2387 o pickup files : old pickup (before c35) did not work with new code (c35
2388 and after) unless activating 2 commented lines in initialise-varia.
2389 o Non-Hydrostatic pickup file Pb fixed.
2390 o bug with Rigid-lid version (since c35) fixed.
2391
2392 checkpoint36
2393 o implement Crank-Nickelson barotropic time-stepping
2394 o recover Time-Average diagnostics
2395 o fix Pb in checkpoint (PR#19)
2396 o AIM become a standard package ; clean unused CPP_kees
2397
2398 checkpoint35
2399 o subtantial rewrite of dynamics.f
2400 o allows staggered time-stepping
2401 o packaged obcs, aim (Atmospheric Physics), zonal_filt, shap_filt
2402 o added bottom drag (linear + quadratic)
2403
2404 checkpoint34
2405 o Modified exchange routines for correct reverse simulation.
2406 o Added verification output to comply with bug fix in impldiff.F
2407 as of c33 (exp2, natl_box).
2408 o Corrected store directives in dynamics.F
2409 o Corrected array boundaries in impldiff.F
2410 o Corrected array dimensions in gmredi.
2411 Added temporary scalars to avoid storage by TAMC (gmredi, kpp).
2412 o Added routine GLOBAL_SUM_INT to global_sum.F
2413 o Added mdsio_gl.F for ECCO purposes.
2414
2415 checkpoint33
2416 o Fixed bug in lower BC in impldiff.F
2417 o Fixed confusion about units of forcing arrays in FFIELDS.h
2418 namely Fu,Fv,Qnet,Qsw,EmPmR:
2419 - Removed verification/natl_box/code/external_fields_scale.F
2420 (did not differ from that in model/src)
2421 - Changed units of fu,fv,Qnet,Qsw,EmPmR back to proper units
2422 (see FFIELDS.h for description)
2423 - Scale fu,fv,Qnet,Qsw,EmPmR when used in external_forcing_surf.F,
2424 kpp_calc.F and kpp_transport_t.F
2425 - Removed model/src/external_fields_scale.F and calls to it
2426 - verification/natl_box uses flux data with "atmospheric" sign so
2427 a special version of external_fields_load.F is used to
2428 change the data as it's read in. This way, the arrays
2429 have the right units and signs at all times tha a user could
2430 possibly use them.
2431 o Corrected genmake to delete a temporary file during configuration
2432
2433 checkpoint32
2434 o Scaling of forcing fields moved from external_forcing.F to
2435 external_fields_scale.F, called directly after loading fields.
2436 o Surface relaxation terms added to surface tendency fields in
2437 extra subroutine.
2438 o impldiff.F changed to avoid storing by TAMC of huge intermediate
2439 fields.
2440 o Changes in GMRedi to comply with packaging structure.
2441 o Modifications and bug fixes in KPP package.
2442 o Verification experiment for KPP added (verification/nat_box/)
2443
2444 checkpoint31
2445 o Packages interface brought in line with defined standard
2446 -> new routines packages_...F
2447 -> changes in initialise_fixed.F, initialise_varia.F
2448 -> enables initialisation interface for ECCO package
2449 o Rescaling of external forcing fields immediately after read
2450 (removed from external_forcing.F)
2451 -> new: surface_fields_scale.F
2452 -> affects ini_foorcing.F, external_fields_load.F
2453 o Computation of surface tendencies before tendency updates.
2454 -> new: external_forcing_surf.F
2455 o Change of variable names useGMRedi, useKPP, useECCO
2456 o Further changes in dynamics.F, impldiff.F for TAMC
2457 o Tested for experiments 0, 2, 4.
2458 - not yet tested for GMRedi.
2459 - not yet tested for KPP.
2460
2461 checkpoint30
2462 o Updates for OBCs
2463 o New experiment for test OBCs (internal_wave)
2464 o New output.txt in verification/exp4/results/
2465 o Updates for KPP: calculation of viscosity corrected, new variables
2466 kpp_dumpFreq and kpp_taveFreq
2467 o CPP'd calls to system routines for TARGET_CRAY_VECTOR (P.H.)
2468 and entry for T90 in genmake
2469
2470 checkpoint29
2471 o packaged KPP and GM/Redi
2472
2473 checkpoint28
2474 o Corrected initialization of hFacMin for difference vertical coordinates
2475 o Modified calculation of partial cell thickness to more robust algorithm
2476 o config_summary.F: replaced write_1D_... by write_0D_...
2477 read_write.F: added subroutines write_0D_...
2478 o routines calc_common_factors, calc_gs, calc_gt, calc_phi_hyd, find_rho:
2479 included some initialisations required for TAMC.
2480 o routine calc_isoslopes: modified sqrt computation to make it
2481 differentiable for zero argument.
2482 o routines dynamics, impldiff:
2483 included store directives and tape key computations required for TAMC.
2484 o ALL TAMC related changes are between ifdef ALLOW_AUTODIFF_TAMC
2485
2486 checkpoint27
2487 o fixed calc_isoslopes() to so that cancellation of terms in tensor
2488 formulation works properly with variable resolution.
2489 o restructured the calling tree between the_model_main() and dynamics()
2490 o split initialise() into initialise_fixed() and initialise_varia()
2491 o introduced initialization file pSurfInitFile for free surface (cg2d_x)
2492 in new routine ini_psurf()
2493
2494 checkpoint26
2495 o moved some #ifdef in optional routines to encompass everything
2496 except the argument declarations. This was using up some memory.
2497 o fixed macros like _ADT to work with both versions of Linux cpp
2498 o cleaned up some unused and uninitialized variables
2499 (helps when debugging with strict compile options)
2500 o split up CPP_EEOPTIONS.h into options and macros
2501 (macros are now in eesupp/inc/CPP_EEMACROS.h)
2502 o patch for 2 processor JAM mode
2503
2504 checkpoint25
2505 o updates for OBCs and NH
2506 o dramatically reduced memory usage
2507 o added "JAM" routines for use on Artic network
2508 o parameterization of convection by implicit vertical diffusion
2509 o added a diagnostic of convective index
2510 o moved call to calc_divg_hat() from dynamics() to solve_for_pressure()
2511 (this is was partly for OBCs and NH but also in anticipation of
2512 an explicit free-surface option)
2513 o initial state input files for U and V
2514
2515 checkpoint24
2516 o Removed some spurious "REAL"s
2517 o Updated KPP to latest version from JPL
2518 o Added a COS(latitude) in horizontal viscosity
2519
2520 checkpoint23
2521 o Added del^4 diffusion for salt and temperature
2522 o Multiple minor fixes (implicit none's, arguments to global_sum, etc.)
2523
2524 checkpoint22
2525 o Made many small changes: implicit none, format(i5), etc...
2526 o Introduced KPP mixing scheme (compiles and runs but *not* tested)
2527
2528 checkpoint21
2529 o Introduced new I/O package that supports direct-access records (mdsio.F)
2530 o Split-up mid-level I/O routines
2531 o Updated input data for experiments 0,1,2,4 and 5
2532 o Finally removed the genmake.* scripts (everyone seems happy with genmake)
2533
2534 checkpoint20
2535 o Tidied up open-boundaries some more
2536 o Added non-hydrostatic code
2537 o Fixed some input data
2538 o Modified MPI start-up to work in "coupled" context.
2539
2540 checkpoint19
2541 o Tidied up directory structure for verification experiments.
2542 o Added new code for open boundaries.
2543 o Corrected advective terms near boundaries.
2544 o Added CPP flag for "old UV" geometry and corrected spherical geometry.
2545 o Implemented free-slip/no-slip BCs and del^4 dissipation.
2546 o Split default parameters out of ini_parms.F into set_defaults.F.
2547
2548 checkpoint18
2549 o Further changes for optional code generation with
2550 CPP - ugh!
2551
2552 checkpoint17
2553 o Beginning to incorporating modularity
2554 for supporting atmos. and ocean configs.
2555 o Small changes for TAMC complinace
2556 o New ultra simple test case. Barotropic box
2557 configuration "exp0".
2558
2559 checkpoint16
2560 o Minor changes to exchange routines to support
2561 accumulation in reverse mode. Adjoint of an
2562 assignment is an addition.
2563 o Changes to support compilation by TAMC (LR(1)
2564 syntax) and by g77 under Linux ( 72 character
2565 limit ).
2566
2567 checkpoint15
2568 Rewrote exchange routines to allow
2569 o General tile <-> tile connectivity.
2570 o TAMC reverse mode flag ( is this really needed? )
2571 o Variable width overlap and exchange region widths.
2572 o Hooks for sharing data via DMA, Arctic, Memory Channel,
2573 shmput/shmget, VIA, SYSV shmem and every other cool
2574 communication method.
2575
2576 checkpoint14
2577 Consistent isomorphism chages made. These allow dynamical core
2578 to support both pressure and meters as a vertical coordinate.
2579
2580 checkpoint13
2581 Release which corrects global_max problem and a couple
2582 of KGM time-averaging diagnostic errors. Also contains
2583 a double-gyre experiment setup as well as the baseline
2584 4 degree global template. The double gyre template is
2585 organised to allow it to be applied automatically to
2586 the baseline configuration.
2587
2588 branch-point-rdot
2589 A few tidy-ups have been made bt the real point of this
2590 check-point (excuse the pun) is to allow a branch to be
2591 made for the purposes of adding the rDot alterations.
2592 I don't want to commit the rDot to the main-trunk until
2593 we've actually tested it...
2594
2595 checkpoint12
2596 Tidy up and added generic genmake script (formerly
2597 configure script).
2598 Released to testers.
2599
2600 checkpoint11
2601 Re-arranged initialise() and introduced ini_vertical_grid()
2602 and ini_masks_etc().
2603
2604 checkpoint10
2605 Introduced the configure script.
2606 Separated out the diags package.
2607 Added template for writing time-averages of tile/intermediate quantities.
2608 Updated SIZE.h in exp2 and made the data big-endian.
2609
2610 checkpoint9
2611 MPI fix. Filename changes (meta/data). salbin*y stuff.
2612 General tidy-up.
2613 SST.bin SSS.bin added to verification/exp2
2614
2615 checkpoint8
2616 Inludes time-dependant forcing and time-averaging.
2617 Works at 4x4 and 2.8125x2.8125 global
2618
2619 checkpoint7-4degree-ref
2620 Branch from checkpoint7. Released for application to
2621 global modeling and general modeling - process studies, regional
2622 model etc..
2623 Configured for verification/exp2 - 4 degree global, two process.
2624
2625 checkpoint7
2626 Created by cnh
2627 Simple 4 degree global simulation
2628 configuration.
2629 Includes climatological wind,
2630 hydrography, bathymetry etc
2631 Does not include Heat Flux and E-P
2632
2633 checkpoint6
2634 Created by cnh
2635 merged checkpoint5 with CD and
2636 spherical polar code.
2637 Still some problems with GM Redi
2638 abd full topography.
2639
2640 checkpoint5
2641 Created by AJA
2642 contains updates to GM Redi
2643 and reordered timestepping loop
2644 for Implicit Diffusion.
2645
2646 checkpoint4
2647 Created by cnh
2648 Contains memory saving macros ( _rdxc etc..) for when
2649 grid variations are limited.
2650 Contains polynomial coeffs for EOS and knudsen program
2651 for generation.
2652
2653 checkpoint3
2654 Created by cnh
2655 Added extra flags for runtime options
2656 Added this file
2657 Added implicit free-surface
2658 Added pre-conditioner
2659 Put compare01 into repository ( compare01/... )
2660 Put data and eedata into repository ( verification/exp1 )
2661
2662 checkpoint2
2663 Created by AJA
2664 Added GM/Redi
2665
2666 checkpoint1
2667 Created by AJA
2668 Restructured kloop in dynamics.F
2669 Added non-linear EOS
2670
2671 baseline
2672 Original checked in code

  ViewVC Help
Powered by ViewVC 1.1.22