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

Diff of /MITgcm/doc/tag-index

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

revision 1.40 by heimbach, Mon May 14 22:19:51 2001 UTC revision 1.359 by heimbach, Mon Sep 27 14:56:42 2004 UTC
# Line 2  $Header$ Line 2  $Header$
2    
3      Notes on tags used in MITgcmUV      Notes on tags used in MITgcmUV
4      ==============================      ==============================
5    
6    o multidimAdvection on CS-grid: implement the full 3 pass ; overlap needs to
7        be 2 times larger than the minimum size the advection scheme requires.
8        now get a perfect conservation of salt in advect_cs test-exp (updated)
9    o GGL90 (Gaspar's TKE mixed layer)
10      - add horizontal diffusion of TKE, requires exchanges in
11        do_fields_blocking_exchanges, horizontal diffusivity is zero by
12        default. In OPA there is no horizontal diffusion of TKE but the
13        mixing coefficients are computed from a horizontal average of TKE of
14        6 points or so. I think that diffusion has a little more physical
15        justification.
16      - clean up ggl90_calc in the hope of reducing memory usage (this hope
17        was in vain)
18      - mask tke-variable in ggl90_init
19    o fix mask Pb in multidimAdvection on CS-grid (still a small Pb with ipass)
20    o fix biharmonic diffusion on CS-grid.
21    o more obcs stuff
22      - added obcs_external_fields_load as an alternative to the EXF-pkg option
23        for reading boundary values. This routine is called from
24        obcs_prescribe_read
25      - updated obcs_check
26      - changed sponge layer relaxation parameter units for days to seconds
27      - turned off sponge layer by default
28      - changed argument list of OBCS_CALC to myTime+deltaTclock
29    
30    checkpoint55c_post
31    o obcs stuff
32      - new runtime flags useOBCSprescribe, useOBCSbalance
33      - re-arranged obcs_calc
34      - moved exf_getobcs to obcs_prescibe_read
35        obcs_prescibe_read is called after ORLANSKI stuff
36        and independent of it (executable can contain all).
37      - updated obcs_check
38      - added exchanges for U,V,gU,gV for useOBCSprescribe=.TRUE.
39        These may be necessary only if tangential velocities are
40        prescribed at OB, not sure, needs testing.
41    o make the MNC_CW_ADD_VATTR_* subroutines all take scalar arguments
42      which simplifies the calls and passes the ifc check-bounds test
43    
44    checkpoint55b_post
45    o add a 2D scalar, Z location, exchange_2 routine.
46    o EXCH_UV for CS-grid: add one u,v in the corner-halo region, allows
47      to compute vorticity on a wider stencil [e.g., vort3(0,1)&(1,0)]
48      affects advect_cs results (for the wrong reason): update output.txt
49    o use a more standard discretization for biharmonic viscosity ;
50     (original version still available with #define MOM_VI_ORIGINAL_VISCA4 )
51      affects results of dome set-up: update output.txt
52    o fix gad_advection.F (CubedSphere part), back to version 1.23
53    o fix bug in mom_vi_del2uv.F (CubedSphere part).
54    
55    checkpoint55a_post
56    o merged code to
57      * prescribe/read time-dependent open boundaries
58        (works in conjunction with exf, cal)
59      * sponge layer code for open boundaries
60      * each boundary N/S/E/W now has its own CPP option
61        (healthy for the adjoint)
62    
63    checkpoint55
64    o up-to-date adjoint of previous breaks
65      - natl_box_adjoint: problem for exp 12, 13: cost = 0. needs fix
66      - global_ocean_ebm: adjoint still needs fix (TLM ok)
67      - global_ocean.90x40x15: extended GMREDI_OPTIONS.h
68      - carbon: * remove tr1-related adjoint verification
69                * add ptracer as control variable
70    o remove all tr1-related code (ALLOW_PASSIVE_TRACER)
71      (adjoint stuff still has some tr1 'names', but all use ptracer arrays)
72    
73    checkpoint54f_post
74    o in verification/carbin/ remove experiment related to
75      ALLOW_PASSIVE_TRACER (array tr1 etc)
76      code_ad/ input_ad/ results_ad
77    
78    o add two new packages
79      - ggl90, TKE-model of Gaspar et al. (1990), Blanke+Delecluse (1993)
80        + subject to optimization (memory)
81      - opps, OPPS (ocean penetrative plume scheme) of Paluszkiewicz+Romea (1997)
82        + subject to reordering (many GOTOs in the original code)
83        + so far opps is called for every (i,j) point, and then operates in
84          the vertical; one may want to reorder the scheme in order operate in
85          horizontal slabs at the cost of (a lot of) memory, at least ten new 3D
86          fields)
87    o overhaul of IO so that we now have flags for MDSIO and/or MNC
88      - all verification tests compile and run with linux_ia32_g77
89      - defaults are compatible with current input files--nothing
90        should change if you were not previously using MNC
91      - MNC output has been added in numerous places (eg. timeave)
92        but there are still a few writes not yet do-able with MNC
93        (this is in progress)
94      - flags now allow for either/or/both use of MDSIO and MNC and
95        documentation will soon follow
96      - numerous small formatting cleanups for ProTeX
97    o add version info (via BUILD_INFO.h) to MNC and stdout
98    
99    checkpoint54e_post
100    o add two new packages
101      - pp81 (Packanowski and Philander, 1981), Richardson number and
102        stratification dependent mixing
103      - my82 (Mellor and Yamada, 1982) level 2 turbulence closure scheme
104      - these scheme operate in a similar manner as KPP (without ghat, of
105        course), however there is only one diffusivity that is used for both
106        temperature and salinity (and passive tracers)ç
107    o add offline package
108    o add "verification/dic_example" which contains a dic-gchem-ptracer setup
109      provided by Stephanie Dutkiewicz
110    o genmake2: add ability to search for C compilers and cleanup test output
111      - fixes recent SX-6 problems and should help with others (eg. HP-UX)
112    
113    checkpoint54d_post
114    o data.diagnostics: if levels() is unspecified then ALL levels are diagnosed
115    o bug fix in pkg/cal/cal_addtime.F for TheCalendar='model' day count is wrong,
116      leading to additional shift by 5 days each year of integration
117       (i.e. leading to considerable offset over the years)
118    o update global_ocean.cs32x15/thsice: use z* + RealFW + staggerTimeStep
119    o start with no AB and no initial filtering (staggerTimeStep):
120      change the results of test-exp: hs94.128x64x5, hs94.1x64x5 & hs94.cs-32x32x5
121    o move ocean specific S/R calls from forward_step.F to do_oceanic_phys.F
122      (external loading & cpl import/export stay in forward_step.F)
123    o update coupling interface to work with new staggerTimeStep
124    o change MDSIO ptracers_pickup.
125    o fix a bug in Flux deriv. vs Ts (pkg/aim_v23/phy_suflux_sice.F);
126    o genmake2 fixes so netcdf now works on halem ("osf1_alpha_*")
127    o bugs fixed in kpp_calc.F (ustarY) and external_forcing.F (Qsw & Partial-cell)
128    
129    checkpoint54c_post
130    o replace surfaceTendency U,V,S,T,Tice,Ptr by surfaceForcing U,V,S,T,Tice,Ptr
131      this affects (truncation error) output.txt of test-exp:
132       global_ocean_ebm,_pressure,.cs32x15(&.thsice), lab_sea & natl_box
133    o pkg/kpp: replace pMask by maskC to reduce memory size (one 3.D array)
134    o change Qnet to always be the net heat flux, (+upward).
135      affects (truncation error) output of natl_box exp.: updated
136    o define the max number of passive tracers in PTRACERS_SIZE.h
137    o start to test mnc routinely in exp0
138    o add sea-ice loading (sIceLoad) as a new forcing field.
139    
140    checkpoint54b_post
141    o add testreport "-j JOBS" option for parallel builds (tested and pretty
142       impressive on Altix and Opteron systems)
143    o diagnostics can now write NetCDF files through the mnc package
144    o staggerTimeStep & NLFS: update pkg aim_v23 & thsice; update aim.5l_cs output
145    o staggerTimeStep & multi-Dim-Advec: Exch(U,V) added
146    o staggerTimeStep & NLFS: rescale T & S surface tendencies.
147      affects (truncation error) output of lab_sea & natl_box exp.: updated
148    o change pickup _cd & _ptracers (old pickup restart: usePickupBeforeC54=.T.)
149    
150    checkpoint54a_post
151    o re-write staggerTimeStep: step fwd U,V and then T,S (reverse the order).
152    o change pickup file (to restart from old pickup, set usePickupBeforeC54=.T.)
153    o get a perfect restart when using RealFreshWaterFlux + NLFS (not finished)
154    o update output of all exp. that use staggerTimeStep (except hs94.cs & 2D)
155      + internal_wave (shift in writing cg2d_ini_res)
156    checkpoint54a_pre
157    
158    o require forcing_In_AB=.FALSE. and remove surfaceTendencyTice from pkg/seaice
159      - modified verification/lab_sea and natl_box_adjoint accordingly
160    
161    checkpoint54
162    checkpoint53g_post
163    o prepare splitting of thermodynamics: store convect.counter in common block
164    o store d.etaH/dt (instead of Div.hV) in common ; affects (truncation error)
165      output of: global_ocean.cs32x15, global_ocean_pressure & internal_wave
166    o cnh's modifs to gad_advection.F for cube-sphere multi-dim advection
167    o new parameter "nShapS": allow to treat differently S from T (nShapT)
168    o separate Vert.Advec.Scheme from horizontal Advec.Scheme (T & S)
169    o restore adjointability
170    
171    checkpoint53f_post
172    o modifications that affect AIM experiment results (update output.txt):
173      - no advection of S at top interface Nr (pkg/generic_advdiff)
174      - air surf. temp: use lower value between T0 & T1 (phy_suflux_prep.F)
175    o AIM pkg:
176      - include stability function into surf.Flux derivative relative to Tsurf
177      - calculate clear-sky radiation & surface temp. change (for diagnostics)
178    
179    checkpoint53e_post
180    o merged cylindrical coord configuration
181    o added rotating_tank experiment
182    checkpoint53e_pre
183    
184    checkpoint53d_post
185    o faulks upgraded: re-generate output.txt that have changed:
186       global_ocean.cs32x15(.thsice), global_ocean_ebm, lab_sea, natl_box
187    o Added Bryan and Lewis, 1979, vertical diffusivity profile
188    o pkg/land: fix problem in land_impl_temp.F when Ts arround freezing.
189    o added Sadourny discretization of Coriolis
190      - moved some PARAMETERS from mom_*_coriolis.F to PARAMS.h
191      - re-enabled use of omega3 (useAbsVorticity)
192    o added Leith (Phys. Fluids, 1968, 10, 1409-1416) variable viscosity for
193      vector-invariant equations
194      - note: does *NOT* yet use same variable visc. for no-slip BC's.
195    o recoded the lateral boundary conditions for non-hydrostatic w, this time
196      hopefully without new bugs
197      - still to do: biharmonic friction for non-hydrostatic w
198    o bug fix for mom_*_sidedrag: rA -> rAs,rAw
199    o regenerated output for global_ocean_ebm (using -ieee)
200    o fix mom_common/mom_*_sidedrag.F to recover numeric output prior to creation
201      of mom_common/
202      - simple re-arrangement of instructions within computing loop
203    checkpoint53d_pre
204    
205    checkpoint53c_post
206    o new version of coupler for AIM+thSIce and Ocean models
207     - new fields (SSS,h_MixLayer ...) are exchanged through the coupler
208     - land: change Evaporation of snow
209     - aim with thSIce: fix bug in snow-precip.
210    o changes to calc_gw.F
211     - bug fix for w^2 term near the bottom boundary
212     - (hopefully) improve the lateral slip boundary condtions for use with
213        partial/looped cells
214      - because the bug fix changes two verification experiments anyway (exp5
215        and plume on slope), change the lateral boundary condition from half slip
216        to the value of no_slip_sides
217    o ebm package wasnt quite up to the parallel task. Fixed that.
218    o Adjoint of EBM package + verification
219      * TLM OK
220      * ADM not sufficient accuracy yet (needs further testing)
221    
222    checkpoint53b_post
223    o Commiting new energy balance model to repository
224      * package is pkg/ebm
225      * verif. is verification/global_ocean_ebm
226      * references are in ebm_driver.F
227    C      * X. Wang, P. Stone and J. Marotzke, 1999:
228    C        Global thermohaline circulation. Part I:
229    C        Sensitivity to atmospheric moisture transport.
230    C        J. Climate 12(1), 71-82
231    C      * X. Wang, P. Stone and J. Marotzke, 1999:
232    C        Global thermohaline circulation. Part II:
233    C        Sensitivity with interactive transport.
234    C        J. Climate 12(1), 83-91
235    C      * M. Nakamura, P. Stone and J. Marotzke, 1994:
236    C        Destabilization of the thermohaline circulation
237    C        by atmospheric eddy transports.
238    C        J. Climate 7(12), 1870-1882
239    o Will need long integration testing.
240    checkpoint53b_pre
241    
242    o created pkg/mom_common in preparation for variable viscosity code
243    o renamed and split ini_mnc_io
244    o pkg/land: only liquid water can diffuse or run-off
245    o AIM using land: soil wetness availability account for snow
246    o added printMapIncludesZeros to EEPARMS namelist
247    
248    checkpoint53a_post
249    o restore TAMC compatiility for exf_constants.h
250      (no usage of _d in .h)
251    o Additional storing in KPP in an attempt to fix
252      TAMC problem with adjoint of KPP code.
253      (no success...)
254      Identical code works fine with TAF.
255    o Fixed verification/natl_box_adjoint experiments.
256      Initial conditions for Experiments 4 and 5 are now
257      set to "SEAICE_initialHEFF=0", which is more reasonable,
258      and hence gives results closer to that of Experiment 2.
259      Experiment 6 requires "SEAICE_initialHEFF=1" and is working once again.
260    
261    checkpoint53
262    o stable checkpoint with up to date adjoint
263      TLM tests only run for 1st grdchk at the moment. Its unclear if
264      this is a code problem or a problem with resetting code for g_
265      variables that is being autogenerated wrong.
266      Otherwise:
267       o code is testing well on Linux (P4 and AMD), SGI Alitix and Irix.
268       o IBM and HPQ tests could not be run because NCAR (IBM) and NCCS (HPQ)
269         are both still in chaos following their security messes.
270    
271    checkpoint52n_post
272    o various build (mostly genmake2) changes including:
273      - ability to build/run more easily within Cygwin and MacOS X
274      - more complicated Makefiles with a stronger dependence on Gnu Make
275    o pkg/seaice modifications
276      - added SEAICE_deltaTtherm and SEAICE_deltaTdyn in order to reduce cost
277        of pkg/seaice.  For time being, SEAICE_deltaTtherm = deltaTtracer
278        and SEAICE_deltaTdyn must be integer multiple of SEAICE_deltaTtherm
279      - changed proxy for geostrophic velocity and updated
280        verification/lab_sea/results/* accordingly
281      - removed ADI dynamic solver from pkg/seaice
282      - replaced all occurrences of 1/CSTICE or 1/CSUICE
283        they caused a segmentation fault under certain circumstances
284      - removed unused field WATR
285    o bug fix in exf-package:
286      -  u/vwind are defined at tracer/pressure points. The values of u/vwindmask
287         now reflect that.
288    o small fixes in the cal-package:
289      - set reference date to first of January for the 'model'-calendar
290      - failing of cal_CheckDate in cal_FullDate now actually results in a
291        warning
292    o small modifications in exf-package to increase flexibility:
293      - change climtempfreeze from a constant to a runtime parameter that
294        is specified in data.exf_clim (default = -1.9)
295      - introduce runtime parameter windstressmax (default = 2.0) that is
296        specified in data.exf
297    o fix in pkg/thsice:
298      - update Evap (Tsf changes) to be consistent with Latent heat flux
299      - maintain snow precipitation unchanged (even if Tsf >=0).
300     both affect global_ocean.cs32x15/(.thsice) results ; update output.txt.thsice
301    
302    checkpoint52m_post
303    o commented out call to cal_GetMonthsRec in swfrac.F and added some comments;
304      this does not change any of the results, because myIter=0 in swfrac always
305      lead to jwtype=2 (the default anyway), but the call makes little sense
306      as a default
307    o no SHORTWAVE HEATING lost at the bottom; affects lab_sea output; updated
308    o re-work pkg/thsice interface with ocean & bulk_force pkg to allow
309      atmospheric model (AIM) to use it ; add a "slab ocean" component.
310    o pkg/aim_v23 : add interface to call thermodynamic sea-ice (thsice)
311    o update global_ocean.cs32x15/output (.thsice) after changes in pkg/thsice
312    o extending useSingleCpuIO option to work with new exch2 I/O format
313      - old-style, missing-tile I/O is still accessible by defining CPP
314        option MISSING_TILE_IO in pkg/mdsio/MDSIO_OPTIONS.h
315    o monitor package can write to NetCDF files and/or STDOUT
316    o fix re-definition bug in MNC_GRID_INIT_ALL()
317    o doc/api_reference added
318      - a framework for building an API Reference Manual using all
319        the "protex" comments embedded in the code
320      - see pkg/generic_advdiff, pkg/mnc for examples
321    o MNC:
322      - make myThid the last argument for all subroutines
323      - new default for the grid files: NO halos
324      - add useMNC and other run-time flags
325      - separate per-file-group handling of the unlimited dimension
326      - early initialization of MNC w/ flags read at the eeboot stage
327        and lookup tables set in initialize_fixed
328      - write all MNC output to a freshly-created directory
329    o thermodynamics sea-ice (thsice) is now tested with testreport.
330    o test exp. advect_cs: use the standard cs32 grid ; update output.
331    o Added functionality to grdchk:
332      pick global i,j,k position (or nearest wet) where to perform check.
333    
334    checkpoint52l_post
335    o new land formulation:
336      a) use ground enthalpy as prognostic variable to ensure exact
337         energy conservation.
338      b) account for water temperature and for latent heat of freezing
339         in all processes (rain, run-off, ground storage)
340      c) compute surface and ground temperature implicitly.
341    o aim_v23 modification for new land model:
342      a) Treat separately land / ocean / sea-ice surface fluxes
343         to allow implicit computation of land & sea-ice surface temp.
344      b) add snow precipitation.
345    checkpoint52l_pre
346    
347    o fix problem (when 1 tile is empty) in min/max monitor.
348    o fix bug in timeAve (u,vZetatave in common block)
349    o no restoring terms under ice for pkg/seaice
350    o moved SEAICE_DO_DIAGS to S/R do_the_model_io
351    o bug fix for pkg/seaice pickups
352    o change MNC call locations and add coordinate attributes
353    o mask vorticity at the corner ; affects global_ocean.cs output
354    o fix ini_curvilinear_grid ; test CS experiments with mpi
355    o aim.5l_cs: modify sea-ice fraction input file ; update output
356    o exf: Adding simple range check routine for exf fields after read
357    
358    checkpoint52k_post
359    o removed top-level directory "diags"
360      - we migrated these functions to pkg/timeave a long time ago
361    o fixed bug introduced in pkg/monitor
362    o accuracy ctrlprec = 32 insuffient for gradient checks using
363      averaged fields (I/O via cost_averages)
364      -> use ctrl.h in active_file*.F to control I/O precision.
365    o paramter list of CALL ADTHE_MAIN_LOOP
366    o added initial do_the_model_io to ecco
367    o set all ...Freq to zero after cost_final
368      taveFreq, dumpFreq, pChkptFreq
369    o MAIN and ECCO differentiability restored
370    
371    checkpoint52j_post
372    o fix nchklev in tamc.h for global_ocean...
373    o Bringing flow and store directives up-to-date
374    o Really weird thing!
375      call do_the_model_io from the_main_loop with parameters
376      starttime, niter0, instead of mytime, myiter, screws up the adjoint:
377      TAF places a faulty re-call of initialise_varia
378      after cost_final call which should not be there!
379    checkpoint52j_pre
380    
381    o tweaked pkg/mdsio/mdsio_readfield.F to have more useful logic and
382      error messages
383    o fix errorMessageUnit problem. remove old version of mdsio from eesup/src
384    o modified pkg/mdsio/mdsio_readfield.F -- commented out diskspace-eating
385      debug output
386    o modfied mdsio_writefield.F to handle non-global files under exch2
387    o update AIM Cubed-Sphere exp (aim.5l_cs):
388      use land, p*, and Franco.M forcing fields with fractional land-sea mask.
389    o update AIM Equatorial Channel exp:
390      use standard aim_v23 pkg and change the SST fields to be more realistic.
391    o globalFile now works with exch2
392    o merged mom_vi_calc_relvort3.F, mom_vi_del2uv.F and
393      mon_vort3.F to make exch2 friendly with >1 tile per cube face
394    o limit timeave output for hi-res integrations
395    
396    checkpoint52i_post
397    o removed CPP_EEOPTIONS.h from verification/*/code
398    o updated the tiling for global_ocean_pressure
399    checkpoint52i_pre
400    
401    o update aim.5l_LatLon using the standard aim_v23 pkg (instead of
402      the old pkg/aim).
403    
404    checkpoint52h_pre
405    o shortened offending lines in exch2_send_rx?.template
406    o modified W2_EXCH2_TOPOLOGY.h to reflect current topology generator
407    o genmake2: add build & execute test for NetCDF code
408    o modded aim.5l_cs and global_ocean.cs32x15 to use exch2, removed
409      old grid files, moved CPP_EEMACROS.h to pkg/exch2
410    o added useSingleCPUIO flag to monitor.F and mon_out.F
411    o added temporary hack for sea-ice dynamics on the cube:
412      metric terms are ignored and it is assumed that
413      there is no sea-ice on cube faces 1, 2, 4, and 5.
414    
415    checkpoint52f_post
416    o added exch2 cube routines to pkg/exch2
417    o modified hs94.cs-32x32x5 to use it
418    o added new grid files to hs94.cs-32x32x5
419    checkpoint52f_pre
420    
421    checkpoint52e_post
422    o first attempt to solve vertical advection (momemtum & T,S) Implicitly
423      for now, only implemented with Lax-Wendroff (tracer) and VectInv (mom)
424    o step.1 : rewrite (as in MultiDimAdvec) explicit tracer stepping (gad_calc_rhs.F)
425      to work with implicit vertical advection and AB ;
426    o Implic. vert. advect. implemented with flux-limiter, c2, u3 and c4 scheme.
427    o update output (gad_calc_rhs.F changes affect truncation error) of exp:
428     front_relax, global_ocean .cs32x15 & _pressure, internal_wave, lab_sea, natl_box
429    checkpoint52e_pre
430    
431    o fix bug in impldiff when Nr=1 or Nr=2.
432    o change the albedo in pkg/thsice (as GISS model); update output_thsice.txt
433    o little changes (fftpack, aim/phy_suflux ...) to pass the "checkbounds" test.
434    o fix deltaTfreesurf in update_cg2d.F (left from c45d_post): affects 2
435      ocean exp. that use NLFS: global_ocean.cs32x15 & global_ocean_pressure
436    o added exf_offset_atemp for Celsius to Kelvin conversion of atemp
437    o eesupp/inc/EEPARAMS.h: MAX_NO_PROCS=1024
438    o pkg/cal/cal_toseconds.F fix for long (>60 years) integrations
439    
440    checkpoint52d_post
441    o re-tiled many expts to allow comparison in multi-processor mode
442      - updated output accordingly
443      - changed hs94.128x64x5 to use intial T from file rather than use the
444        random number generator
445    o add infrastructure in model routines for fizhi and gridalt packages
446    o change global_ocean.cs32x15 because of Pb with GM on CS-grid.
447    o changes to permit hi-res, cubed-sphere, configuration
448      - added useSingleCpuIO capability to mdsio_readfield.F and exf_interp.F
449      - added "#undef ALLOW_USE_MPI" support to eesupp/src/scatter_2d.F
450      - added pkg/exf/exf_set_uv.F for on-the-fly interpolation and rotation
451        of surface winds for the cube
452      (A verification experiment, based on global_ocean.cs32x15, but with
453       pkg/seaice turned on and with on-the-fly interpolation from the NCEP
454       Gaussian grid is described in MITgcm_contrib/high_res_cube/README_ice,
455       complete with example surface forcing files and matlab scripts to look
456       at the output and compare it with that of global_ocean.cs32x15.)
457    o packages pickup: $PKG_write_pickup called from packages_write_pickup ;
458       but call to $PKG_read_pickup remains in $PKG_ini_vars: change CD_code
459       to conform to the common rule.
460    o check-in the first version of the coupler + interfaces for multi-components
461       set-up (Chris's version, adapted to work on cubed-sphere grid); use MPI.
462       - imply modification in eesupp (MPI_COMM_MODEL < MPI_COMM_WORLD).
463       - atmosphere: use pkg aim_v23 ; no sea-ice for now.
464       - ocean and atmos. share the same horizontal grid (no interpolation).
465       - exchanges between component and coupler is done in forward_step
466    o new verification experiment, cpl_aim+ocn:
467       coupled ocean - AIM atmosphere on cs32 grid.
468    
469    checkpoint52d_pre
470    o surface flux time-av diagnostic modified for NLFS & RealFreshWater
471    o add call to AIM pendant S/R in external_forcing & external_fields_load.F
472    
473    checkpoint52c_post
474    o Fixing OPTIONS files for use of exf:
475      - ALLOW_ECCO not needed
476      - ECCO_CPPOPTIONS.h should not be included from
477        EXF_OPTIONS.h/CAL_OPTIONS.h, but from CPP_OPTIONS.h
478        as has been the case in the past
479      - All cal/exf related options are currently set in
480        single header file. Should remain so until we
481        agree on a consistent new policy.
482    o Removed all CPP options for cal package.
483      cal has no more CPP options.
484    o modified STOREs in GAD_ADVECTION
485    o corrected key comp. for passkey
486    
487    checkpoint52b_post
488    o new version: "thsice" of thermodynamic sea-ice pkg:
489     - only 1 call from "forward_step"; conserve energy, fresh-water & salt.
490     - modify fluxes but do not change theta directly;
491     - light cleaning of bulk_force pkg (still needed with thsice).
492     - add forcing fields + data files in global_ocean.cs32x15/inp_thsice
493       + output_thsice.txt to test thsice & bulk_force pkgs.
494    o put back grid & coriolis monitor output.
495    checkpoint52b_pre
496    
497    o call "do_the_model_io" at the beginning (=> dump initial state)
498    o use rhoConstFresh to define convertEmP2rUnit (was done only in ocean-P)
499    o sort out interplay between tamc.h and PTRACERS_OPTIONS.h
500      (need info on NUMBER_OF_PTRACERS)
501    o missing PTRACERS headers in some routines
502    o default tamc.h in pkg/autodiff supposed to crash
503      to ensure proper customization
504    
505    checkpoint52a_post
506    o modifications to make FREEZE (_SURFACE) flux visible to pkg/kpp
507      - moved surfaceTendencyTice from pkg/seaice to main code
508      - subroutine FREEZE_SURFACE now limits only surface temperature
509        and is called in FORWARD_STEP (if allowFreezing=.TRUE.)
510        => new output.txt for global_ocean.cs32x15 & global_with_exf
511      - keep the old version of FREEZE for backward compatibility;
512        global_ocean.90x40x15 left unchanged using useOldFreezing=.TRUE.
513      - corresponding modifs for TAF directives
514    o added surface flux output variables to TIMEAVE_STATVARS
515    o time-averaged output for pkg/ptracers
516    o fix problem with ECCO-related divided adjoint
517      snapshot file was missing some ad-variables,
518      but no warning issued by TAF
519    
520    checkpoint52a_pre
521    o some bug fixes for #undef REAL4_IS_SLOW
522    
523    checkpoint52 = ecco_c52_e35
524    o after testing adjoints of checkpoint51u_post
525    
526    checkpoint51u_post
527    o this is the post-merge tag of the ecco-branch
528      (needs another clean checkout and re-testing)
529    o various natl_box_adjoint configs and results
530      but no input fields
531    o obcs adjoint not yet merged!
532    o adding ECCO global 1x1 and 2x2 degree configs
533    o updated/extended some store directives for seaice
534    o pkg/ecco now containes ecco-specific part of cost function
535    o top level routines the_main_loop, forward_step
536      supersede those in model/src/
537      previous input data.cost now in data.ecco
538      (new namelist ecco_cost_nml)
539    o in ctrl/ cleaned some cross-dependencies and updated CPP options
540    
541    checkpoint51t_post
542    o this is the pre-merge tag of the ecco-branch
543    
544    checkpoint51s_post
545    o cleanup: removed various obsolete #define-s
546    o pkg/grdchk
547      - renamed 'ph-grd 3' to 'grad-res'
548      - merged from ecco-branch
549        (remaining bug fixes for obcs gradient checks)
550      - additional high-precision output for testreport
551        (grep for 'precision_grdchk_result')
552    
553    checkpoint51r_post
554    o cleaned up or removed CPP_OPTIONS.h files
555    o updated results for some of the tests to reflect the new
556      optfiles (-ieee: -O0 instead of -O3)
557    
558    checkpoint51q_post
559    o cd_code:
560      - moved cd_scheme.F -> cd_code_scheme.F
561      - separate read_checkpoint from cd_code_ini_vars.F
562      - separated cd_code part from write_checkpoint
563      - updated AD_SOURCE, generated .flow
564      - added CD_CODE_VARS.h to the_main_loop
565      - Moving cd_code specific store dir.s to pkg/cd_code
566    o ctrl package totally restructured
567      - pack/unpack now optional and decoupled from
568        xx_/adxx_ I/O
569      - ctrl_pack/unpack cleaned
570        (new routines ctrl_init_ctrlvar.F, pkg/ctrl/ctrl_init_wet.F)
571      - confined inclusion of AD_CONFIG.h to where necessary.
572    o genmake2: changed AD dependencies from SRCFILES to AD_FILES
573    
574    checkpoint51p_post
575    o create initial cd_code package
576      - WARNING: the initialization of fields within packages
577        is broken because INI_FIELDS (where READ_CHECKPOINT is
578        called) is called *before* PACKAGES_INIT_VARIABLES.
579        This seems to be backwards since
580        1) its important to initially zero the entire field including
581           the "halo" region
582        2) zeroing needs to be done *before* reading pickup info
583           and the pickup call might or might not happen in any
584           particular run
585      - this needs an overhaul for R2
586    o cleanup verification/*/code/GMREDI_OPTIONS.h
587    o cleanup testreport
588    
589    checkpoint51o_post
590    o bringing AD-related verif's up to date with genmake2
591      - carbon/
592      - global_ocean.90x40x15/
593      - hs.94.1x64x5/
594      - (front_relax/ )
595    o (more) consistent directory structure for AD-related verif.'s
596    o cleaning ALLOW_GRADIENT_CHECK -> ALLOW_GRDCHK
597    o cleaning some ALLOW_TANGENTLINEAR_RUN -> ALLOW_AUTODIFF
598    o bug fix in find_alpha.F for MDJWF:
599      - modif. to alpha = 1/D*( dN/dT - rho*dD/Dt) to account for
600        change rho -> rho-rhoConst
601      - replace call find_rho to find_rhonum
602    o initialisation of rFlx extended to full array (required by TAF)
603      and shifted to thermodynamics
604    o removed PTRACERS.h in ptracers routine
605    o added surfacetendencyPtr to S/R parameter list pracers_forcing
606    o Correcting initialisations for fVerU, fVerV.
607    o helping TAF to recognize dependency on kUp for
608      fVerU, fVerV
609    o Replacing delZ by delR in pkg/ctrl/
610    checkpoint51o_pre
611    
612    o undid all of cp51 pending some cleanups and discussion
613    o added the [#include "AD_CONFIG.h"] statement to all files that need
614       it for adjoint/tl #defines
615     o re-worked the build logic in genmake2 to support AD_CONFIG.h
616     o removed tools/genmake since it no longer works
617    
618    checkpoint51n_post
619    o modifications to make FREEZE flux visible to pkg/kpp
620      - moved surfaceTendencyTice from pkg/seaice to main code
621      - FREEZE & EXTERNAL_FORCING_SURF moved to FORWARD_STEP
622      - subroutine FREEZE now limits only surface temperature
623        (this means new output.txt for global_ocean.90x40x15,
624         global_ocean.cs32x15, and global_with_exf)
625    o added surface flux output variables to TIMEAVE_STATVARS
626    
627    checkpoint51n_pre
628    o added "#undef ALLOW_USE_MPI" support to eesupp/src/gather_2d.F
629    o added [#include "AD_CONFIG.h"] to all files that use the following
630      defines:
631      - ALLOW_ADJOINT_RUN
632      - ALLOW_TANGENTLINEAR_RUN
633      - ALLOW_ECCO_OPTIMIZATION
634    
635    checkpoint51m_post
636    o incorporating changes to get TAMC/TAF working in genmake2
637      - added new TAMC/TAF targets to the Makefile
638      - various cleanups related to package handling
639      - these changes should have no impact on the forward model
640    
641    checkpoint51l_post
642    o changes to pkg/cal and pkg/exf that allow and speed-up long integrations
643     - faster algorithm for cal_addtime.F
644     - higher precision arithmetic, where needed
645     - pkg/exf *startdate variables changed from calendar date to
646       model integration time
647    
648    checkpoint51l_pre
649    o add salt flux to forcing fields (used when salty sea-ice forms or melts)
650    o enable to apply restoring on S & T only in a latitude band.
651    o update output (external_forcing_surf modif. change truncation errors)
652       global_ocean.cs32x15, global_ocean_pressure, lab_sea, natl_box
653    
654    checkpoint51k_post
655    o change default to: useNHMTerms=.FALSE.
656     - new output.txt for atmos. exp (NHMTerms were wrong but now turned off):
657       adjustment.128x64x1, aim.5l_Eq_Ch, aim.5l_LatLon, hs94.128x64x5, hs94.1x64x5
658     - new output.txt for idealized oceanic exp (NHMTerms are now turned off):
659        exp1, ideal_2D_oce
660     - change data file of oceanic exp (leave the results unchanged for now)
661       exp2, global_ocean[90x40x15,pressure,with_exf], lab_sea, natl_box
662    o set gravitySign automatically according to the vertical coordinate used
663      (and change sign: back to "logical" value: +1 when R increases downward)
664    o added an include barrier to the default CPP_OPTIONS.h and
665      removed the #include "PACKAGES_CONFIG.h" from it
666    o fix a bug in mom_fluxform (from chk51j_post)
667    
668    checkpoint51j_post
669    o Added some AD-related initialisations in mom_vecinv/ mom_fluxform/
670    o adjusted some flow directives (dynamics, thermodynamics)
671    o added cubed-sphere case to test cost function
672    o heckpoint_lev?_directives.h now include
673      pkg-specific directives, whenever those are enabled.
674    o Moving pkg-specific flow directives to corresponding pkg
675      Moving pkg-specific differentiation list to corresponding pkg
676      Moving pkg-specific checkpoint-lev storing to corresponding pkg
677      ---> conventions are
678           - pkg_ad.flow
679           - pkg_ad_diff.list
680           - pkg_ad_check_lev?_dir.h
681    
682    checkpoint51i_post
683    o merge of the branch-genmake2
684      - knowingly breaks the older genmake
685      - automatic generation of all ALLOW_${PKG_NAME} defines
686      - new testreport supersedes older testscript
687    o large number of package inclusion and header cleanups
688    checkpoint51i_pre
689    
690    o new output for adjoin of global ocean vector invariant
691    o fix for checkpoint of thermodynamic seaice and bulk_force
692    o Steph gchem various cleanups
693    
694    checkpoint 51h_pre
695    o fixed some single quotes
696    o modify gchem pkg to be more versatile
697    o modifications to clean up dic pkg
698    o add pkg/cfc
699    
700    checkpoint51g_post
701    o provide links for ARPACK and ADM*TLM
702    o start removing verification/vero/
703    o update AD-related stuff
704      (in particular some IF-statements in model/src/ routines)
705    o adding to verification/global_ocean.90x40x15/ adjoint of
706      vector invariant setup
707    
708    checkpoint51f_post
709    o update advect_xz/output.txt (left from chekpoint50f_pre, ini_vel modif)
710    o Mods and bug fixes to pkg/cal, pkg/exf, etc., needed for computation
711      of tracer Green's fucntions for ocean inversion project.
712    
713    checkpoint51f_pre
714    o Added on-the-fly spatial interpolation capability
715        "USE_EXF_INTERPOLATION" to pkg/exf.
716      - This is a temporary Cartesian-grid hack until
717        the super-duper ESMF coupler becomes available.
718      - See verification/global_with_exf/README for usage example.
719      - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid
720        flags and modified pkg/seaice accordingly.
721    o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F,
722        and pkg/kpp/kpp_transport_ptr.F for dealing with tracer
723        non-local transport term.
724    
725    checkpoint51e_post
726    o pkg/mom_vecinv:
727      - changes related to hFac: use S/R from aim.5l_cs/code (coriolis & vort.advec)
728      - add time-ave diagnostic of vorticity advection.
729    o add diagnostic (instantaneous) of Shapiro Filter effect for T,S & UV.
730    o atmospheric geopotential: - include water vapor effect;
731                                - use p^kappa in p* scaling.
732    o land pkg: read initial state from files.
733    o AIM : add stratospheric drag in the upper level
734    
735    checkpoint51d_post
736    o change function ILNBLNK (=> last non-blank char.) to return zero
737      (instead of the string length) when the string. char is empty
738    o fix bug in dxV,dyU definition of cubed-sphere grid (ini_curvilinear_grid)
739    o modif's to restore TAMC compatibility
740      - avoid "_d" constructs in PARAMETER declarations
741      - avoid interrupting lines by comment lines
742    o Use cluster local disks for purely local I/O
743      vs. globally visible disks needed for ctrl stuff
744      (merged from ecco-branch)
745      - new active_file_loc... and mdsio_..._loc routines
746      - affected packages: autodiff, ctrl, grdchk, mdsio
747    
748    checkpoint51c_post
749    o introducing integer flag debugLevel
750      - debLevZero: suppress all output
751      - debLevA: standard
752      - debLevB: equivalent to current debugMode=.TRUE.
753    o introducing pathname variable mdsioLocalDir for mdsio
754      that can be specified at runtime
755      (relevant for cluster I/O to local disk)
756    `
757    >>>checkpoint51b_post
758    adjoint of ptracers
759    o disentangled ALLOW_PTRACERS using new ALLOW_GCHEM
760    o extended state in checkpoint_lev?, etc.
761    o alternative ctrl/cost with tr1 or ptracer
762    o new comlev1_bibj_ptracers
763    o new ptracers.flow
764    o made ptracers_forcing same as external_forcing_s
765    o added verification for adjoint with ptracers
766      - adm. grdchk fail so far
767      - tlm. grdchk OK
768      - checked tapelev/comlev recomputations: OK
769    <<<checkpoint51b_pre
770    
771    checkpoint51a_post
772    o added code for biogeochemistry package
773      - new pkgs: dic, gchem
774      - new subroutine in ptracers
775    o modify code for biogeo packages
776      - in model/src and pkg/ptracers
777    
778    checkpoint51
779    o merged improved packages from ecco-branch (ecco_c51_e34) to MAIN
780      - autodiff, ctrl, exf, grdchk, seaice
781      kept separate packages
782      - cost, ecco, obcs
783    o updating verification/internal_wave, verification/lab_sea
784      (all verif's pass on faulks.lcs.mit.edu RH7.3, g77)
785    
786    checkpoint50i_post
787    o Preparing next differentiable checkpoint and sync
788      of MAIN vs. ecco-branch
789      - 1st step: this one is differentiable
790      - 2nd step: next(! not this) checkpoint will have updated packages
791                  from ecco-branch)
792    
793    checkpoint50h_post
794    o new package "land": provide surface BC for AIM.
795    o pkg/ptracers: apply exchange to all tracers after reading a pickup.
796    o AIM: use true log-P extrapolation for near surface temp (= as in
797        F.Molteni paper) ; update aim.5l_cs output.
798    o New variable in PARM03 for more flexible pickups
799    o somewhat cleaned package initialisation sequence for
800      ctrl/ cost/ ecco/ in packages_... routines
801    
802    checkpoint50g_post
803    o merged with release1_p17 (pkg/seaice and verification/lab_sea)
804      - added SEAICE_MULTILEVEL for 8-category sea-ice thermodynamics
805      - LSR sea-ice dynamic solver moved to SouthWest B-grid location and
806        made the default because of faster convergence than ADI
807    
808    checkpoint50f_post
809    o exf totally restructured
810      - replaced all exf_set_ routines by one generic exf_set_gen.F
811        and made sure it's still differentiable
812      - split exf_getffields.F into new exf_bulkformulae.F
813      - exf_inscal_/exf_outscal_ suffixes consistent with field names
814      - updated adjoint/makefile and relevant verif. accordingly
815    
816    checkpoint50f_pre
817     o AIM: near surface temp evaluated from Pot.Temp: fixed for Part Cell ;
818          + change Evap over land. (update aim.5l_cs output)
819     o added missing .cvsignores and made uniform across expts
820     o changed configuration of tidal_basin_2d expt
821     o added pkg/debug functions for tracing code in fatal crashes
822     o tidied pkg/monitor to use MONITOR_OPTIONS.h
823     o new fn in pkg/monitor to stop model if solution grows too big
824     o removed lots of single quotes from comments
825    
826    checkpoint50e_post
827    o make KPP work with PTRACERS
828     - fix gad_calc_rhs to call new routine kpp_transport_ptr, which is
829       nearly a copy of kpp_transport_s
830     - there is no analogue to SurfaceTendencyS, so I have to use
831       gPtr(of the surface layer) instead
832    o add a new platform SunFire+mpi (SunFire 15000) to genmake
833    checkpoint50e_pre
834    
835    checkpoint50d_post
836    o change kpp output from multiple-record state files to single-record state
837      files analogous to write_state.F
838    o reduce the output frequency of cg3d-related stuff to the monitor frequency,
839      analogous to the cg2d-related output.
840    o fix small problem with in ptracers_write_checkpoint.F: len(suff)=512,
841      so that writing to internal file fn (with length 512) fails.
842    checkpoint50d_pre
843    
844    checkpoint50c_post
845    o fix problem in ini_procs.F when using MPI (was there since checkpoint48f)
846    o add monitor diagnostic of vorticity (mon_vort3.F) and potential energy.
847    o add time-average diagnostic of U*V and vertical diffusive flux for theta.
848    o bug fixed in convective adjustment diagnostic (multi-tile set-up).
849    o 4th Order Adv scheme: return to previous (c40pre7) masking near boundaries.
850    
851    checkpoint50c_pre
852    Merging from release1_p13:
853    o bug fix for pkg/seaice dynamic solver
854    o Added SEAICE_initialHEFF to pkg/seaice
855    
856    checkpoint50b_post
857    o store u*,v* in gU,V instead of in guNm1,gvNm1
858    o in order to put the momForcing out of the Adams-Bashforth:
859      move forcing & CD-scheme calls from mom_fluxform & mom_vecinv
860      to timestep.F
861    o new flag "useCDscheme" (default=F); replace guCD,gvCD by local arrays
862    o re-generate output for highly sensitive test-exp:
863       global_ocean_pressure, ideal_2D_oce, lab_sea, natl_box
864    
865    checkpoint50b_pre
866    o restore the use of momAdvection & useCoriolis flags (mom_vecinv)
867    o corrected CPP option mismatch in exf_Bulk... functions for case
868      #define ALLOW_ATM_WIND && #undef ALLOW_ATM_TEMP
869    
870    checkpoint50a_post
871    o Bug fix for merging between c50 and KPP.
872      ikey was passed from thermodynamics to kpp_calc via
873      common block rather than being recomputed in kpp_calc,
874      in contradiction with new key itdkey.
875      New key ikppkey created, and tamc.h headers updated.
876    
877    checkpoint50
878    - 2nd step of merge with ecco-branch:
879      merge changes in ecco-branch back into main trunk
880    - bug fix in find_alpha
881    - more storing in gmredi_calc_tensor.F, kpp_routines.F
882    - avoid iterative loop in ini_pressure for ALLOW_AUTODIFF_TAMC
883    - merged some sliced AD support routines
884    
885    checkpoint49
886    merged from ecco-branch:
887    o exf:
888      - Enable initialisation of forcing fields to constant
889        (runtime) values.
890      - in exf_getffields.F
891        Reduce i-/j-loop to interior domain, discarding overlaps.
892        That also fixes wrong TAF-key computations for key_1, key_2
893        with bulf formulae.
894      - exf_init.F modify #ifdef for exf_init_evap
895      - exf_getffieldrec.F, ctrl_getrec.F
896        The following INT-usages are not safe:
897          fldsecs  = int(fldsecs/fldperiod)*fldperiod
898          fldcount = int(fldsecs/fldperiod) + 1
899        and were modified.
900    o autodiff: checkpoint_lev...
901      - updated storing for bulk formulae (some arrays were missing)
902      - added state for seaice package
903      - synchronized with main branch
904    o DIVA:
905      Modif.s in
906      - the_main_loop.F
907      - the_model_main.F
908      and added cost_final_restore.F cost_final_store.F
909      o With these changes, it is possible to fully separate
910        the first forward run to compute the cost function (mdthe_main_loop)
911        and adjoint runs over individual DIVA intervals (adthe_main_loop)
912        into separate model executions.
913        This enables better tuning of DIVA to given queue sizes.
914      o Loss of cost function value in consecutive DIVA runs is
915        fixed by storing to 'costfinal' file.
916      o Appropriate call of ctrl_unpack/_pack,grdchk_main at
917        beginning/end of adjoint integration is accounted for.
918      The current changes apply to TAF-1.4.26.
919      TAF has one remaining bug, requiring one manual change
920      (see MITgcm manual).
921    o cal: synchronized between MAIN and ecco-branch
922    
923    checkpoint48i_post
924    o Changes to restore differentiability of code w.r.t. previous tag
925      (mostly adding new routines to make list and replacing
926      pressure by totPhiHyd).
927    o Updated and merged grdchk package
928      - has both ADM and TLM checks
929      - works for single- and multi-proc.
930      - output cleaned
931      - worked successfully for parallel DIVA
932    o genmake:
933      - Adding -platform=SP4
934      - Modif. for DEC Alpha (many don't have makedepend; use mkdep instead).
935    o Modif. for DIVA:
936      ctrl_unpack should not be called in intermediate DIVA interval.
937      (similar thing would apply for active files such as
938      tbar, sbar, psbar, which should not be reinitialised;
939      only relevant for ecco-branch)
940    
941    checkpoint48h_post
942    o improve "ini_p_ground" when using finite difference form for calc_phi_hyd
943    o Added net flux to downward flux conversion to pkg/exf/exf_getffields.F
944    o Added SEAICE_initialHEFF to pkg/seaice
945    o ecco_the_model_main.F: SEAICE_WRITE_PICKUP must precede WRITE_CHECKPOINT
946    
947    checkpoint48g_post
948    --- EOS:
949    o compute locally the pressure for use in EOS: UNESCO, JMD95P, MDJWF
950      store total Potential in totPhyHyd for diagnostics & EOS.
951    o fix restart and overlap Pb when using Z-coord and EOS funct. of P
952    --- Pressure/geopotential gradient:
953    o use Ro_surf & R_low instead of hFac in cal_phi_hyd:
954    o NLFS + p-coord.: eta*Alpha' is not longer lagging 1.time-step behind
955      ( changes results of global_ocean_pressure )
956    o NLFS + z-coord.: add eta*Rho' contribution.
957    o accurate phiHyd when using interface-W at the middle between 2 centers
958     ( changes results of ideal_2D_oce )
959    o includes r* 2nd term in potential gradient.
960    
961    checkpoint48f_post
962    Merging from release1_p12:
963    o Modifications for using pkg/exf with pkg/seaice
964      - improved description of the various forcing configurations
965      - added basic radiation bulk formulae to pkg/exf
966      - units/sign fix for evap computation in exf_getffields.F
967      - updated verification/global_with_exf/results/output.txt
968    o Added pkg/sbo for computing IERS Special Bureau for the Oceans
969      (SBO) core products, including oceanic mass, center-of-mass,
970      angular, and bottom pressure (see pkg/sbo/README.sbo).
971    o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F
972      to avoid negative values in shallow regions.
973      - updated verification/natl_box/results/output.txt
974      - updated verification/lab_sea/results/output.txt
975    o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F
976    o Added useSingleCpuIO option (see PARAMS.h).
977    o Updated useSingleCpuIO option in mdsio_writefield.F to
978      work with multi-field files, e.g., for single-file pickup.
979    o pkg/seaice:
980      - bug fix in growth.F: QNET for no shortwave case
981      - added HeffFile for specifying initial sea-ice thickness
982      - changed SEAICE_EXTERNAL_FLUXES wind stress implementation
983    o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf,
984      kpp_transport_t.F, forward_step.F, and the_main_loop.F
985    o pkg/seaice:
986      - adjoint-friendly modifications
987      - added a SEAICE_WRITE_PICKUP at end of the_model_main.F
988    
989    checkpoint48e_post
990    o New S/R for diagnostic of bottom pressure (phi0surf was missing in c48d_post)
991    o dynamics: change definition of computational domain & adapt mom_fluxform
992      accordingly ; when viscA4=0, allows to run the dynamics with Olx=Oly=2.
993    o following exp works with Olx=Oly=2 (and pass through checkbounds option):
994        adjust_nlfs.cs-32x32x1 adjustment.128x64x1 adjustment.cs-32x32x1
995        exp0 exp1 exp2 exp4 exp5 hs94.cs-32x32x5 hs94.128x64x5 hs94.1x64x5
996        global_ocean.90x40x15 global_with_exf global_ocean_pressure
997        inverted_barometer solid-body.cs-32x32x1
998      (high order AdvScheme and/or multiDimAd works with Olx=Oly=2 ? not sure)
999    
1000    checkpoint48d_post
1001    o in preparation for r*:
1002     a) use pre-computed gradient of hydrostatic potential:
1003        changes in timestep.F & mom_cdscheme.F affects results of ideal_2D_oce
1004     b) move phi0surf from calc_phi_hyd to calc_grad_phi_hyd:
1005        => affects results of glob_oce_pressure (different truncation error)  
1006      update output.txt of ideal_2D_oce & global_ocean_pressure
1007    
1008    checkpoint48d_pre
1009    o in preparation for r*:
1010      new S/R (calc_grad_phi_hyd.F) to compute Hydrostatic potential gradient.
1011      pass the 2 comp. of the grad. as arguments to momentum S/R.
1012      but for the moment, only used if it does not change the results.
1013    o add finite volume form of calc_phi_hyd for buoyancyRelation OCEANIC & OCEANICP
1014    
1015    checkpoint48c_post
1016    Modifications in treatment of initial flux forcing controls
1017    to avoid extra storing of flux fields.
1018    
1019    checkpoint48c_pre
1020    o Added tidal_basin_2d experiment (currently 1D!)
1021    o can use r* Coordinate with OBC (but Orlanski Rad. BC not yet implemented)
1022    
1023    checkpoint48b_post
1024    o r* coordinate added in #ifdef NONLIN_FRSURF block.
1025     (modification to pressure gradient not yet implemented)
1026    o mom_fluxform: new S/R mom_calc_rtrans.F computes vertical transports
1027      (for U & V) that are used for vertical advection of momentum.
1028    
1029    checkpoint48a_post
1030    o In preparation for r*, use temp. array to compute vertical transport
1031       in flux-form momentum pkg. => change results of few test-exp.
1032      Update output of: exp4, exp5, front_relax, global_ocean_pressure,
1033                        lab_sea, natl_box & plume_on_slope
1034    
1035    checkpoint48
1036    o fix small bug that was causing lot of warning (TIMER_STOP 'UPDATE_CG2D')
1037    
1038    checkpoint47j_post
1039    o add new exp. (ideal_2D_oce) to test "exotic" parameters and options.
1040    o moved adexch from forward_step to addummy_in_stepping
1041    o added exch in ctrl_map_...
1042    o aveFreq.=0. at end of cost_final to avoid overwrite in
1043      reverse checkpointing loop
1044    o Yet more changes in gmredi:
1045      * adgmredi_calc_tensor
1046        avoiding all recomputation of gmredi_slope_limit
1047      * adgmredi_x/y/rtransport
1048        added flag for excessive storing to avoid recomp. of
1049        u/v/rtans, dTdx/y/z
1050        -> this is not really necessary and very memory-consuming
1051      * adgmredi_slope_psi:
1052        consistency with gmredi_slope_limit in treatment of GM_slopeSqCutoff
1053      * gmredi_slope_limit
1054        re-activated full calculation of taperfct for case 'ac02'
1055    o updating verification/ adjoints of carbon, global_ocean.90x40x15
1056    
1057    checkpoint47i_post
1058    o GM_EXCLUDE_() replace GM_TAPER_(): by default, all the code is compiled.
1059    o add GM_Small_Number & GM_slopeSqCutoff as run-time parameters (data.gmredi)
1060      default values = 1.D-12 & 1.D+48 (=> give same results as checkpoint47f_post)
1061    o cg2dTargetResWunit: define tolerance using deltaTmom (and not deltaTfreesurf)
1062    o gmredi: fix few bugs.
1063    
1064    checkpoint47h_post (duplicate tag for PH's c48 tag, in order to move c48)
1065    This will be a good checkpoint to plug into the ecco-branch.
1066    o few modif.'s to get latest version adjointed
1067      (mainly kick out code in ini_linear_phisurf)
1068    o modif's to run adjoint with exactConserv
1069    o case GM_BOLUS_ADVEC should be cleaned
1070      S/R gmredi_slope_psi should be cleaned
1071    o verification/carbon now has exactConserv=.TRUE.
1072    
1073    checkpoint47g_post
1074    o time-average AIM output: becomes independent from statvars time-average
1075      (can be used with #undef ALLOW_TIMEAVE) ; add new variables (e.g., RH)
1076    o After TAF bug fix:
1077      Tested adjoint of gmredi package.
1078      Tests were done with checkpoint47 rather than with latest
1079      checkpoint47f_post since the latter is broken for the adjoint
1080      verification/carbon/ contains both ADM and TLM gradient checks.
1081    Here they are, before they get changed/lost/stolen.
1082    Mostly modif.'s to fix numerical sensitivities.
1083    Gradient checks OK for
1084    - GM_taper_scheme:
1085      * clipping
1086      * ac02
1087      * linear
1088      * glw91
1089      * dm95
1090      * ldd97
1091    - GMREDI_OPTIONS:
1092      * GM_VISBECK_VARIABLE_K
1093      * GM_NON_UNITY_DIAGONAL
1094      * GM_EXTRA_DIAGONAL
1095      * GM_BOLUS_ADVEC
1096    in conjunction with data.gmredi parameters to be checked in
1097    in a few minutes under verification/carbon/code/
1098    
1099    checkpoint47f_post
1100    Merging from release1_p10:
1101    o modifications for using pkg/exf with pkg/seaice
1102      - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING
1103        and SEAICE_EXTERNAL_FLUXES
1104      - pkg/exf CPP options EXF_READ_EVAP and
1105        EXF_NO_BULK_COMPUTATIONS
1106      - usage examples are Experiments 8 and 9 in
1107        verification/lab_sea/README
1108      - verification/lab_sea default experiment now uses
1109        pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf
1110    
1111    checkpoint47e_post
1112    o created a tag prior to creating a branch
1113    
1114    checkpoint47d_post
1115    o fixed bug in the oceanic pressure coordinates code: vertical viscosity
1116      at the bottom boundary had an erroneous half slip boundary condition
1117    o added bottom drag and no slip boundary condition capabilities to
1118      oceanic pressure coordinates code
1119    o added new verification experiment global_ocean_pressure, this experiment is
1120      also described in the tutorial section of the manual
1121    checkpoint47d_pre
1122    
1123    checkpoint47c_post
1124    o Added a verification experiment for a global cubed-sphere ocean run
1125      -  verification/global_ocean.cubed32x32x30
1126      -  uses pkg/therm_seaice and pkg/bulk_forcing
1127    
1128    o allow to run AIM physics with SPEEDY input files (from Franco Molteni)
1129    o allow a more accurate definition of Ro_Surf (selectFindRoSurf=1)
1130      when using P-coordinate; only implemented for atmospheric config.
1131    o OCEANICP & realFreshWater: include P-E direct effect on wVel ;
1132      NOTES: requires option NONLIN_FRSURF to be "#define".
1133    o update advect_xz/results/output.txt (left from checkpoint44g_post)
1134    
1135    checkpoint47b_post
1136    Merging from release1_p9:
1137    o pkg/seaice
1138      - removed GOTO's and added taf directives
1139      - double precision constants to reduce the g77 (Linux)
1140        to F77 (SGI) differences reported in release1_p8
1141    o tools/genmake
1142      - added SGI options
1143    o verification/testscript
1144      - updated to that of checkpoint47a_post
1145    o verification/global_ocean.90x40x15/input/eedata
1146      - modified for SGI f77 compatibility
1147    o verification/lab_sea
1148      - added description of sea-ice model
1149      - added missing matlab routines
1150      - added test of thermodynamics parallelization
1151    
1152    checkpoint47a_post
1153    o new pkg: aim_v23
1154     = F. Molteni atmos.physics (SPEEDY, ver23) adapted to MITgcm.
1155       for now, keep the same surface forcing as before.
1156     - Part-Cell implemented into AIM; check that Heat & Water are conserved
1157     - aim.5l_cs: use new aim pkg (run 10yr & get better results than before)
1158     - aim.5l_LatLon & aim.5l_Equatorial_Channel are still using old aim pkg
1159    o add diagnostic of surface correction term in monitor output
1160    
1161    o bulk_force and therm_seaice
1162    - Two packages:  bulk_force (Bulk forcing)
1163      and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2
1164    - Earlier integration from Stephaine Dutkiewicz
1165      and Patrick Heimbach.
1166    - Two ifdef statements for compile time,
1167       ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE
1168    
1169    checkpoint47
1170    differentiable version of checkpoint46n_post
1171    o bug fix in quasihydrostaticterms
1172    o * "clean" adjoint code (in terms of extensive recomputations)
1173        can now be obtained for all GMREDI options (i.e. for
1174        - GM_VISBECK_VARIABLE_K
1175        - GM_NON_UNITY_DIAGONAL
1176        - GM_EXTRA_DIAGONAL
1177        - GM_BOLUS_ADVEC )
1178      * However, wrong gradient check problem remains unsolved.
1179      * New CPP options have been introduced for different
1180        tapering schemes
1181    o external_fields_load now part of differentiation list
1182    o pressure needs multiple storing;
1183      would be nice to have store_pressure at beginning or
1184      end of forward_step, e.g. by having phiHyd global (5-dim.)
1185      (NB: pressure is needed for certain cases in find_rho,
1186      which is also invoked through convective_adjustment).
1187    o recomputations in find_rho for cases
1188     'JMD95'/'UNESCO' or 'MDJWF' are OK.
1189    o #define ATMOSPHERIC_LOADING should be differentiable
1190    o ini_forcing shifted to begining of initialise_varia
1191    o Incorporating QNVS line search routines into MITgcm
1192      (this is separate code, and therefore not under pkg)
1193      lsopt/, optim/
1194    o Updated verification/carbon/
1195      - #define GM_VISBECK_VARIABLE_K
1196      - GM_taper_scheme    = 'ldd97'    
1197    
1198    checkpoint46n_post
1199    Merging from release1_p8:
1200    o verification/natl_box:
1201      updating new external_fields_load routine
1202    o New package: pkg/seaice
1203      Sea ice model by D. Menemenlis (JPL) and Jinlun Zhang (Seattle).
1204      The sea-ice code is based on Hibler (1979-1980).
1205      Two sea-ice dynamic solvers, ADI and LSR, are included.
1206      In addition to computing prognostic sea-ice variables and diagnosing
1207      the forcing/external data fields that drive the ocean model,
1208      SEAICE_MODEL also sets theta to the freezing point under sea-ice.
1209      The implied surface heat flux is then stored in variable
1210      surfaceTendencyTice, which is needed by KPP package (kpp_calc.F and
1211      kpp_transport_t.F) to diagnose surface buoyancy fluxes and for the
1212      non-local transport term.  Because this call precedes model
1213      thermodynamics, temperature under sea-ice may not be "exactly" at
1214      the freezing point by the time theta is dumped or time-averaged.
1215      N.B.: fairly large differences in accuracy occur across
1216            different platforms/compilers; comparison between
1217            g77 (Linux) and F77 (SGI Origin 2000/MIPSpro)
1218            generated output gives:
1219       T           S           U           V
1220      C D M    c        m  s        m  s        m  s        m  s
1221      n p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .
1222      f n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d
1223      g d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .
1224    
1225      Y Y Y Y  5  5  7  7  7  8 10  9  6  6  6  6  7  5  7  5  7 FAIL  lab_sea
1226    o GAD:
1227      - generated new common blocks to account for call of
1228        same gad routines with differing traceridentities
1229        (needed to modify tracerIdentity indices in GAD.h)
1230      - generated separate common blocks for case useCubedSphereExchange
1231        (Department of Futurology)
1232      - parameter lists to gmredi_?transport: added tracerIdentity
1233      - added new key indices to tamc.h
1234    o external_fields_load:
1235      - added this routine to TAF list
1236      - needed to make some common blocks global and additional storing
1237        along the same lines as exf package (checkpoint_lev?_directives.h)
1238    o exf:
1239      updated external forcing package
1240      - bug fixes carried over from ecco-branch
1241        (missing OBCS_OPTIONS.h in two routines)
1242      - enable easy to use "no forcing".
1243      - added exf I/O for atmospheric loading
1244      - added exf I/O for runoff data
1245      - transfered scaling between exf <-> MITgcm to exf namelist
1246    o Adding new verification experiment global_with_exf.
1247      This verification experiment is almost identical to the
1248      global_ocean.90x40x15 experiment, except that it uses
1249      the exf (and cal) package instead of the
1250      external_fields_load routine (cf README file).
1251    
1252    checkpoint46m_post
1253    o modified testscript to return -- when there are no lines of "%MON" output
1254    o added new flag "quasiHydrostatic" for QH mode
1255      and new routine quasihydrostaticterms()
1256    o added 2*Omega*Cos(phi)*W to u equations (non-hydrostatic Coriolis term)
1257      New routine: mom_u_coriolis_nh()
1258    o fixed sign of non-hydrostatic metric terms in u and v equations.
1259      Depend on correct sign of gravitySign.
1260    o added work.pc* to .cvsignore in aim directories using ifc
1261    o introduced flag for controllin non-hydrostatic metric terms
1262    o removed gravitySign from PARM04
1263    o switched to g77/ifc from pgf77 in aim experiments
1264    
1265    checkpoint46l_post
1266    o made convective adjustment work with pressure coordinates:
1267     - changed the direction of k-loop in convective_adjustment.F for the
1268       case of pressure coordinates (OCEANICP,ATMOSPHERIC buoyancyRelation)
1269     - adjusted the reference pressure k-index in convective_adjustment.F
1270     - adjusted the convection condition in convect.F (in analogy to
1271       calc_ivdc.F)
1272     - convective_adjustment no longer computes anything on the halos
1273     - removed the warnings about negative salinity from find_rho.F and
1274       find_alpha.F; instead the new routine look_for_neg_salinity, called
1275       at the beginning of find_rho, find_alpha, and find_beta, does a
1276       check of the entire slice, if CPP-option
1277       CHECK_SALINITY_FOR_NEGATIVE_VALUES is defined
1278    checkpoint46l_pre
1279    
1280    checkpoint46k_post
1281    o fixed the verification/global_ocean.90x40x15 experiment:
1282     - new bathymetry (the world according to A., JMC, and M.)
1283     - new initial fields and forcing fields (*.bin files)
1284     - new POLY3.COEFFS (for the next release one should switch to a full
1285       equation of state: JMD95P or MDJWF)
1286     - fixed several errors and redundancies in the data file
1287     - experiment uses looped cells
1288     - added matlab directory with diagnostic scripts for plotting of output
1289    
1290    o S/R aim_initialise.F replace S/R aim_init from file aim_do_inphys.F:
1291     - read AIM physics parameters from a file (data.aimphys)
1292     - set defaults values = F.Molteni paper (Clim.Dyn., 2002)
1293    
1294    checkpoint46j_post
1295    o split calc_exact_eta in 2 S/R : integr_continuity & update_etaH
1296    o move wVel computation at the end of the time step, in S/R integr_continuity
1297    o create specific S/R to exchange T,S before DYNAMICS (for stagger time step)
1298    o update timeave pkg for wVel diagnostic.
1299    checkpoint46j_pre
1300    
1301    checkpoint46i_post
1302    o Clean up AIM package (and keep the results unchanged):
1303      include CPP_OPTION and use IMPLICT NONE in all routines ;
1304      declare all the variables _RL ; use _d 0 for all numerical constants.
1305      use ifdef ALLOW_AIM everywhere. And now AIM can be used with g77 !
1306    
1307    checkpoint46h_post
1308    o cleaned up the use of rhoNil and rhoConst.
1309      - rhoNil should only appear in the LINEAR equation of state, everywhere
1310        else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst
1311        and the dynamical equations are all divided by rhoConst
1312    o introduced new parameter rhoConstFresh, a reference density of fresh
1313      water, to remove the fresh water flux's dependence on rhoNil. The default
1314      value is 999.8 kg/m^3
1315    o cleanup up external_forcing.F and external_forcing_surf.F
1316      - can now be used by both OCEANIC and OCEANICP
1317    checkpoint46h_pre
1318    
1319     Added code to convert surface volume flux (fresh water) into
1320     a mass flux when using P coordinates in the ocean (OCEANICP).
1321     Note: It assumes you have set rho0=rhoConst=density of fresh water.
1322    
1323    checkpoint46g_post
1324    o Include a new diagnostic variable phiHydLow for the ocean model
1325      - in z-coordinates, it is the bottom pressure anomaly
1326      - in p-coordinates, it is the sea surface elevation
1327      - in both cases, these variable have global drift, reflecting the mass
1328        drift in z-coordinates and the volume drift in p-coordinates
1329      - included time averaging for phiHydLow, be aware of the drift!
1330    o depth-dependent computation of Bo_surf for pressure coordinates
1331      in the ocean (buoyancyRelation='OCEANICP')
1332      - requires a new routine (FIND_RHO_SCALAR) to compute density with only
1333        Theta, Salinity, and Pressure in the parameter list. This routine is
1334        presently contained in find_rho.F. This routine does not give the
1335        correct density for 'POLY3', which would be a z-dependent reference
1336        density.
1337    o cleaned up find_rho
1338      - removed obsolete 'eqn' from the parameter list.
1339    o added two new verification experiments: gop and goz
1340      (4x4 degree global ocean, 15 layers in pressure and height coordinates)
1341    checkpoint46g_pre
1342    
1343    checkpoint46f_post
1344    o Enable tangent linear (forward mode) gradient checks:
1345      - extended active file handling to g_... files
1346      - added TANGENT_SIMULATION to theSimulationMode
1347      - extended grdchk package accordingly
1348    o added tangent linear setup in verification/carbon/code_ftl
1349    o added adjoint setup in verification/front_relax/code_ad
1350    
1351    checkpoint46e_post
1352    o Added new equation of state -> MDJWF
1353      - EOS of McDougall et al., 2002, JAOT, submitted
1354      - caveat: the equation of state is only valid for a smaller (more
1355        realistic?) range of values than JMD95P/Z and UNESCO
1356      - added masks to the calculation of pressure in store_pressure
1357      - added more check values for density in check_eos (ini_eos.F), some of
1358        the old check values are out of the range of the MDJWF-eos, so don't
1359        expect perfect matches for those
1360    checkpoint46e_pre
1361    
1362    checkpoint46d_post
1363    o fixed store_pressure to work with both buoyancy relation = 'OCEANIC' and
1364      'OCEANICP', also initialised field pressure correctly in ini_eos in the
1365      case of pressure coordinates. eosType='JMD95Z' in
1366      combination with buoyancyRelation='OCEANICP' now causes an error.
1367    o Changed p = pressure(i,j,k,bi,bj)  to  p = pressure(i,j,kRef,bi,bj)
1368      in find_alpha/beta.
1369    checkpoint46d_pre
1370    
1371    o Changed p = pressure(i,j,k,bi,bj)  to  p = pressure(i,j,kRef,bi,bj)
1372      so that JMD95Z and JMD95P give approptiate static stability in find_rho.
1373    
1374    checkpoint46c_post
1375    o Changes necessary for ocean in p-coordinates
1376     -  Added new buoyancy relation = 'OCEANICP'
1377     -  Added new parameters = gravitySign (this used to be contained inside
1378        the factor dRdZ which I added when we first switched to R coordinates).
1379     X GM/Redi is not compatible (yet)
1380     X bottom drag and no-slip need to be debugged.
1381    checkpoint46c_pre
1382    
1383    checkpoint46b_post
1384    o Added new equation of state -> JMD95Z and JMD95P
1385      - EOS of Jackett and McDougall, 1995, JAOT
1386      - moved all EOS parameters into EOS.h
1387      - new routines ini_eos.F, store_pressure.F
1388    o Added UNESCO EOS, but not recommended because it requires
1389      in-situ temperature (see JMD95)
1390    o Modified formatting for knudsen2.f in utils/knudsen2 and added
1391      unesco.f to be used with POLY3
1392    checkpoint46b_pre
1393    
1394    checkpoint46a_post
1395    o Added (atmospheric) pressure loading
1396      - new field in FFIELDS.h, etc...
1397      - new cpp flag ATMOSPHERIC_LOADING
1398    o Changed hFacC to _hFacC in calc_phi_hyd.F
1399    o Added SHORTWAVE_HEATING to some files for consistency
1400    checkpoint46a_pre
1401    
1402    checkpoint46
1403    further merges from release1_p5
1404    o new ctrl package
1405      - adopted from ECCO environment to enable optimization
1406      - added Eliassen Palm fluxes to controls
1407    o added Eliassen Palm flux controls to gradient check package
1408    o cost package
1409      - Compatible with new ctrl package
1410      - added Eliassen Palm cost hooks
1411      - modif's of existing cost functions
1412    o Adjoint-related bug fixes in kpp:
1413      - kpp_calc: sore of kpphbl avoids recomputation/call to S/R kppmix
1414      - kpp_routines: store of Rib avoids partial recomputation bug of TAF.
1415    o autodiff package
1416      - flow directives:
1417        + new for S/R do_the_model_io
1418        + enhanced for S/R checkpoint
1419        + new gmredi.flow
1420      - Introduced CPP option ALLOW_AUTODIFF_MONITOR to
1421        disable adcommon.h/g_common.h by default.
1422      - fixed problem for adjoint of global_max
1423    o modified verification/carbon/
1424    o New setup for adjoint of global_ocean
1425    o added hooks for Eliassen Palm fluxes (dynamics.F, ini_fields.F)
1426    o cleaned TAF keys iikey, idkey (dynamics.F, thermodynamics.F)
1427    o incorporated hooks for sponge layer code (external_forcing.F)
1428    
1429    checkpoint45d_post
1430    o import 2 fixes from release1_p5 (CG2D.h & packages_readparms.F)
1431    o use recip_dx*,recip_dy* instead of /dx*,/dy* in orlanski_E,W,N,S
1432      (affects plume_on_slope "cg2d" output)
1433    o add new parameter deltaTfreesurf for free-surface time stepping
1434    o exchange gT,gS when using staggerTimeStep & GM & Oly<4
1435    o NONLIN_FRSURF: rescale gNm1 to get a better conservation with A-B
1436    o change phiMin in exp1 (to agree with documentation)
1437    o add new flags:
1438     - T,S forcing inside/outside Adams-Bashforth
1439     - turn off temp,salt advection and/or forcing
1440     - for each tracer, define internal flag for multiDimAdvection & A-B
1441    o monitor: change definition of KE to check conservation of Energy
1442    
1443    checkpoint45c_post
1444    o Removed f90 comments ("!")
1445    o Modified initialisations to enable exf package for MITgcm
1446      (without invoking ECCO_PACKAGE).
1447    o modifications to gradient check package (Martin Losch)
1448      - enable centered differences
1449      - modified format of standard output
1450    
1451    checkpoint45b_post
1452    o cleaned exchange calls in cg2d
1453    o Included CPP option ALLOW_AUTODIFF_MONITOR in forward_step
1454    o included CPP option SINGLE_LAYER_MODE in thermodynamics
1455      to configure barotropic setup (Martin Losch)
1456    o moved some initialisations within bi,bj loop in dynamics
1457      (TAF flow dependency)
1458    o in initialise_varia, moved call packages_init_variables
1459      before convective_adjustment_init
1460      (corresponding adjustment of TAF tape initialisation).
1461    o in calc_diffusivity/calc_viscosity extended domain to full overlap.
1462    
1463    checkpoint45a_post
1464    o compute Rho over the whole domain (extend iMin,jMin indices)
1465    o specific exchange for X-slice domain (case Ny=1)
1466    o argument futureIter of S/R obcs_calc missing in exp4 & internal_wave /code
1467    o solve_for_pressure : set cg2d_x to zero where OBCS are applied
1468    
1469    checkpoint44h_post = checkpoint45
1470    o Fix to restore differentiability:
1471      place at which packages_init_variables is called in
1472      initialise_varia is crucial for reverse control flow.
1473    o modifications in GMRedi to enable stable adjoint
1474      (corresponding modif's in thermodynamics, dynamics)
1475    o added missing hook for sponge layer code in external_forcing
1476    o modified test cost functions
1477    o storing in gad_advection (plus removal of write(0,*)!
1478    o missing headers TR1.h added in convective_adjustment routines
1479    o errorMessageUnit set non-equal zero in eeboot
1480      (conflict on some platforms, e.g. IBM SP3)
1481    o modified carbon verif.
1482    
1483    checkpoint44h_pre
1484    o vertical grid option: allow to put the Interface at the middle between
1485      2 cell-centers ; replace delZ in pkg/kpp by drF.
1486    o GM Advective form: Tracers are advected using the residual transport (=
1487      Euler+GM-bolus); set param GM_AdvSeparate=T to return to previous form.
1488    
1489    checkpoint44g_post
1490    o fix surface correction term in multiDimAdvection (affects plume_on_slope
1491      results) ; ifdef missing in thermodynamics.F
1492    
1493    checkpoint44f_pre,checkpoint44f_post
1494    o added PTRACERS package
1495      This allows an arbitrary number of passive tracers to be integrated
1496      forward simultaneously with the dynamicaly model.
1497      + Implemented so far:
1498        - basic forward algorithm (time-stepping, advection, diffusion, convection)
1499        - I/O and checkpointing
1500        - GM/Redi  *but*  using the GM/Redi coefficient of Salt
1501      + Not implemented so far:
1502        - KPP
1503        - OBCS
1504      + No specific example supplied (yet) but global_ocean.90x40x15 has the
1505        necessary data.ptracer file. Simply use -enable=ptracers and uncomment
1506        line in data.pkg.
1507      + This package is disabled by default since it increases storage.
1508    
1509    
1510    o testscript: added -cleanup option
1511    o Shap_filt: a) new shap_filt S/R to use no-slip BC with S2 filter
1512                 b) enable to filter 2D fields.
1513    
1514    checkpoint44e_pre,post
1515    o re-wrote convective adjustment to use pre-calculated weights
1516      Affects: model/src/convective_adjustment.F, convective_adjustment_ini.F
1517      Adds:    model/src/convective_weights.F, convectively_mixtracer.F
1518      Original calls to convect() still in place.
1519    
1520    chkpt44d_pre,post
1521    o added missing EXCLUDE_MONITOR flags
1522    o changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi
1523      (incompatible typ in MIN/MAX expressions caused problems
1524      on IBM SP3)
1525    o in genmake added variable MAKEDEPEND
1526      plus resetting for case SunOS
1527    o added timer_stats.c routine for IBM SP3
1528    o removed variables in dynamics
1529    !!! I forgot to create tag chkpt44d_pre !!!
1530    !!! But chkpt44d_pre = chkpt44c_post    !!!
1531    
1532    o real fresh water flux implemented with non-linear free-surface.
1533    
1534    chkpt44c_pre,post
1535    o few fix (mask in shap_s2, EmPmR in external_field_load,
1536      USE_NATURAL_BCS in solve_for_P);
1537    o add arguments myIter & myTime to S/R obcs_calc & solve_for_P
1538    
1539    checkpoint44b_pre/_post
1540    o merge of relevant stuff from the ecco-branch:
1541      - genmake: removed $S64 overwrite for case SunOS
1542      - pkg/exf: update and corrections for field swapping and obcs
1543      - pkg/ecco: parameter lists for the_model_main, the_main_loop
1544                  harmonized between ECCO and MITgcm
1545      - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice
1546                      updated checkpointing_lev... lists for obcs
1547      - model/src: minor changes in forward_step, plot_field
1548                   added directive for divided adjoint in the_main_loop
1549      - pkg/mdsio: added mdsio_gl_slice
1550    
1551    o check parameters & config (chkpt44a_pre,post)
1552    o OBC and NonLin_FrSurf.
1553    
1554    checkpoint44
1555    o fix bug in mom_vi_del2uv
1556    o select when filters are applied ; add options to zonal_filter (data.zonfilt)
1557    o gmredi: fix Pb in the adiabatic form ; add options (.e.g. Bolus advection)
1558    o update AIM experiments (NCEP input files)
1559    o improve and extend diagnostics (Monitor, TimeAve with NonLin-FrSurf)
1560    o added some stuff for AD
1561    
1562    checkpoint43
1563    o added two new advection tests
1564    o added global 4x4 degree ocean test
1565    o added test of H&S94 with free surface on cube
1566    o some final mods for gradient check, adjoint,...
1567    
1568    checkpoint42
1569      Fixed AD-related problems:
1570    o Store directives up-to-date with re-arranged Adams-Bashforth
1571      (mainly thermodynamics.F)
1572    o New store directives for multi-dim. advection schemes
1573      * new CPP flag ALLOW_MULTI_DIM_ADVECTION
1574      * new common block and key passkey
1575      (mainly gad_advection.F)
1576    o Modified store directives for split of dynamics/thermodynamics
1577      for the case ALLOW_KPP
1578    o Cleaned argument list for timestep_tracer.F
1579    
1580    checkpoint41
1581    o re-formatted/added comments in prologues of key subroutines
1582      to work with protex
1583    
1584    checkpoint40
1585    o moved calc_gs, calc_gt and calc_tr1 back to model/src
1586    o added FLT (floats) package from Arne along with demo. experiment
1587    o re-arranged Adams-Bashforth scheme for tracers to allow easier
1588      implementation of forward-in-time forcing terms
1589    o more mods for non-linear free-surface including new variable
1590    o modified multi-dim method to work on cube
1591    o bug fix in KPP (from DM)
1592    
1593    checkpoint40pre9
1594    o added DST advection schemes
1595    o fix MPI bug on SGI's
1596    o modifications for non-linear free-surface
1597    o fixed conditionals for fixed flow/passive tracer only mode
1598    o added tension/strain form of stress tensor
1599    o changes to commenting of arguments for TAF/TAMC
1600    o added/updated many matlab scripts
1601    o added multi-dimensional advection method for tracers
1602      
1603    checkpoint40pre8
1604    o new package rw/
1605      Added method for dumping intermediate local arrays:
1606      mdsio_writetile - same as mdsio_writefield except works from inside
1607                        bi,bj loop
1608      mdsio_writelocal - same as mdsio_writetile except works for local
1609                         arrays
1610      write_local_r? - higher-level wrapper for mdsio_writelocal
1611      Controlled by diagFreq. Defaults to zero (ie. no dumps)
1612      Example given at end of mom_vecinv.F that dumps some local arrays.
1613    o replaced calc_mom_rhs.F by mom_fluxform.F/mom_vecinc.F to
1614      control flux-form versus vector invariant code.
1615      Switch is runtime flag vectorInvariantMomentum (defaults to false)
1616      or genmake -DISABLE ...
1617    o TAMC-related update to cope with mom_fluxform.F/mom_vecinc.F
1618      (additional storing is now needed for case vecinv;
1619      currently nothing implemented to switch this storing off
1620      in case fluxform is used since no CPP flag available).
1621    
1622    checkpoint40pre7
1623    o bug fix in dynamics.F
1624      calc_viscosity called before k=1,Nr loop.
1625    o added some #ifdef's ALLOW_PASSIVE_TRACER
1626    o cleaned initialisations in ctrl_map_ini
1627      related to TAF
1628    
1629    checkpoint40pre6
1630    o split dynamics into thermodynamics & dynamics
1631    o corresponding split of calc_diffusivity into
1632      calc_diffusivity, calc_viscosity
1633      (kpp_calc_diff, kpp_calc_visc).
1634    o Added diffkr, kapgm to control variables
1635    o bug fix in gmredi_slope_limit for ldd97
1636    
1637    checkpoint40pre5
1638    o proper initialization of Adams-Bashforth time stepping
1639      + uses forward step for very first step of model (iter=0)
1640    o re-generated *all* output since almost all output is modified by this
1641      change (sorry but we've been putting this one off for about 2 years)
1642      + natl_box, aim.5l_Equatorial_Channel and aim.5l_zon-ave were
1643        *not* regenerated since they are already out of date and I don't
1644        want to create the impression that they are suddenly working.
1645    o removed KAP stuff for DEC's
1646    o modified/added many .cvsignore files in */code and */input
1647    o added new expt "solid-body.cs-32x32x1"
1648      + this uses an alternative form of ini_curvilinear_grid.F which
1649        is not necessarily any better than the current one...
1650    
1651    checkpoint40pre4
1652    o added re-initialisations of utrans,vtrans,rtrans in
1653      calc_common_factors which are crucial for TAF.
1654    o extended iMin,jMin range for calc_common_factors,
1655      calc_diffusivity
1656    o added option ALLOW_PASSIVE_TRACER
1657    o a few minor updates and fixes
1658    
1659    checkpoint40pre3
1660    o created calc_gtr1.F for gad package
1661    o split the_main_loop and re-introduced forward_step
1662    o some recomputations of nIter0 for TAMC
1663    
1664    checkpoint40pre2
1665    o Updated to latest branch of AJA, JMC
1666    o Added gradient check package
1667    o Added routines for passive tracer handling
1668    o Added carbon sequestration sensitivity experiment
1669    
1670  checkpoint39  checkpoint39
1671   o Modifications and fixes to support TAMC   o Modifications and fixes to support TAMC
1672     (mainly missing or wrong directives)     (mainly missing or wrong directives)

Legend:
Removed from v.1.40  
changed lines
  Added in v.1.359

  ViewVC Help
Powered by ViewVC 1.1.22