/[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.403 - (hide annotations) (download)
Sat Dec 4 23:26:49 2004 UTC (19 years, 4 months ago) by heimbach
Branch: MAIN
Changes since 1.402: +5 -1 lines
updating

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

  ViewVC Help
Powered by ViewVC 1.1.22