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

Annotation of /MITgcm/doc/tag-index

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


Revision 1.515 - (hide annotations) (download)
Sun Jul 24 01:48:04 2005 UTC (18 years, 9 months ago) by jmc
Branch: MAIN
Changes since 1.514: +4 -1 lines
o pkg/exch2: filling of face-corner halo regions is optional
  (ifdef W2_FILL_NULL_REGIONS) and is turned off by default.

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

  ViewVC Help
Powered by ViewVC 1.1.22