/[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.6 by adcroft, Mon Jun 22 16:09:37 1998 UTC revision 1.182 by heimbach, Tue Oct 7 15:47:00 2003 UTC
# Line 3  $Header$ Line 3  $Header$
3      Notes on tags used in MITgcmUV      Notes on tags used in MITgcmUV
4      ==============================      ==============================
5    
6    checkpoint 51h_pre
7    o modify gchem pkg to be more versatile
8    o modifications to clean up dic pkg
9    o add pkg/cfc
10    
11    checkpoint51g_post
12    o provide links for ARPACK and ADM*TLM
13    o start removing verification/vero/
14    o update AD-related stuff
15      (in particular some IF-statements in model/src/ routines)
16    o adding to verification/global_ocean.90x40x15/ adjoint of
17      vector invariant setup
18    
19    checkpoint51f_post
20    o update advect_xz/output.txt (left from chekpoint50f_pre, ini_vel modif)
21    o Mods and bug fixes to pkg/cal, pkg/exf, etc., needed for computation
22      of tracer Green's fucntions for ocean inversion project.
23    
24    checkpoint51f_pre
25    o Added on-the-fly spatial interpolation capability
26        "USE_EXF_INTERPOLATION" to pkg/exf.
27      - This is a temporary Cartesian-grid hack until
28        the super-duper ESMF coupler becomes available.
29      - See verification/global_with_exf/README for usage example.
30      - Removed obsolete EXFwindOnBgrid and SEAICEwindOnCgrid
31        flags and modified pkg/seaice accordingly.
32    o Bug fix to pkg/ptracers, pkg/generic_advdiff/gad_calc_rhs.F,
33        and pkg/kpp/kpp_transport_ptr.F for dealing with tracer
34        non-local transport term.
35    
36    checkpoint51e_post
37    o pkg/mom_vecinv:
38      - changes related to hFac: use S/R from aim.5l_cs/code (coriolis & vort.advec)
39      - add time-ave diagnostic of vorticity advection.
40    o add diagnostic (instantaneous) of Shapiro Filter effect for T,S & UV.
41    o atmospheric geopotential: - include water vapor effect;
42                                - use p^kappa in p* scaling.
43    o land pkg: read initial state from files.
44    o AIM : add stratospheric drag in the upper level
45    
46    checkpoint51d_post
47    o change function ILNBLNK (=> last non-blank char.) to return zero
48      (instead of the string length) when the string. char is empty
49    o fix bug in dxV,dyU definition of cubed-sphere grid (ini_curvilinear_grid)
50    o modif's to restore TAMC compatibility
51      - avoid "_d" constructs in PARAMETER declarations
52      - avoid interrupting lines by comment lines
53    o Use cluster local disks for purely local I/O
54      vs. globally visible disks needed for ctrl stuff
55      (merged from ecco-branch)
56      - new active_file_loc... and mdsio_..._loc routines
57      - affected packages: autodiff, ctrl, grdchk, mdsio
58    
59    checkpoint51c_post
60    o introducing integer flag debugLevel
61      - debLevZero: suppress all output
62      - debLevA: standard
63      - debLevB: equivalent to current debugMode=.TRUE.
64    o introducing pathname variable mdsioLocalDir for mdsio
65      that can be specified at runtime
66      (relevant for cluster I/O to local disk)
67    `
68    >>>checkpoint51b_post
69    adjoint of ptracers
70    o disentangled ALLOW_PTRACERS using new ALLOW_GCHEM
71    o extended state in checkpoint_lev?, etc.
72    o alternative ctrl/cost with tr1 or ptracer
73    o new comlev1_bibj_ptracers
74    o new ptracers.flow
75    o made ptracers_forcing same as external_forcing_s
76    o added verification for adjoint with ptracers
77      - adm. grdchk fail so far
78      - tlm. grdchk OK
79      - checked tapelev/comlev recomputations: OK
80    <<<checkpoint51b_pre
81    
82    checkpoint51a_post
83    o added code for biogeochemistry package
84      - new pkgs: dic, gchem
85      - new subroutine in ptracers
86    o modify code for biogeo packages
87      - in model/src and pkg/ptracers
88    
89    checkpoint51
90    o merged improved packages from ecco-branch (ecco_c51_e34) to MAIN
91      - autodiff, ctrl, exf, grdchk, seaice
92      kept separate packages
93      - cost, ecco, obcs
94    o updating verification/internal_wave, verification/lab_sea
95      (all verif's pass on faulks.lcs.mit.edu RH7.3, g77)
96    
97    checkpoint50i_post
98    o Preparing next differentiable checkpoint and sync
99      of MAIN vs. ecco-branch
100      - 1st step: this one is differentiable
101      - 2nd step: next(! not this) checkpoint will have updated packages
102                  from ecco-branch)
103    
104    checkpoint50h_post
105    o new package "land": provide surface BC for AIM.
106    o pkg/ptracers: apply exchange to all tracers after reading a pickup.
107    o AIM: use true log-P extrapolation for near surface temp (= as in
108        F.Molteni paper) ; update aim.5l_cs output.
109    o New variable in PARM03 for more flexible pickups
110    o somewhat cleaned package initialisation sequence for
111      ctrl/ cost/ ecco/ in packages_... routines
112    
113    checkpoint50g_post
114    o merged with release1_p17 (pkg/seaice and verification/lab_sea)
115      - added SEAICE_MULTILEVEL for 8-category sea-ice thermodynamics
116      - LSR sea-ice dynamic solver moved to SouthWest B-grid location and
117        made the default because of faster convergence than ADI
118    
119    checkpoint50f_post
120    o exf totally restructured
121      - replaced all exf_set_ routines by one generic exf_set_gen.F
122        and made sure it's still differentiable
123      - split exf_getffields.F into new exf_bulkformulae.F
124      - exf_inscal_/exf_outscal_ suffixes consistent with field names
125      - updated adjoint/makefile and relevant verif. accordingly
126    
127    checkpoint50f_pre
128     o AIM: near surface temp evaluated from Pot.Temp: fixed for Part Cell ;
129          + change Evap over land. (update aim.5l_cs output)
130     o added missing .cvsignores and made uniform across expts
131     o changed configuration of tidal_basin_2d expt
132     o added pkg/debug functions for tracing code in fatal crashes
133     o tidied pkg/monitor to use MONITOR_OPTIONS.h
134     o new fn in pkg/monitor to stop model if solution grows too big
135     o removed lots of single quotes from comments
136    
137    checkpoint50e_post
138    o make KPP work with PTRACERS
139     - fix gad_calc_rhs to call new routine kpp_transport_ptr, which is
140       nearly a copy of kpp_transport_s
141     - there is no analogue to SurfaceTendencyS, so I have to use
142       gPtr(of the surface layer) instead
143    o add a new platform SunFire+mpi (SunFire 15000) to genmake
144    checkpoint50e_pre
145    
146    checkpoint50d_post
147    o change kpp output from multiple-record state files to single-record state
148      files analogous to write_state.F
149    o reduce the output frequency of cg3d-related stuff to the monitor frequency,
150      analogous to the cg2d-related output.
151    o fix small problem with in ptracers_write_checkpoint.F: len(suff)=512,
152      so that writing to internal file fn (with length 512) fails.
153    checkpoint50d_pre
154    
155    checkpoint50c_post
156    o fix problem in ini_procs.F when using MPI (was there since checkpoint48f)
157    o add monitor diagnostic of vorticity (mon_vort3.F) and potential energy.
158    o add time-average diagnostic of U*V and vertical diffusive flux for theta.
159    o bug fixed in convective adjustment diagnostic (multi-tile set-up).
160    o 4th Order Adv scheme: return to previous (c40pre7) masking near boundaries.
161    
162    checkpoint50c_pre
163    Merging from release1_p13:
164    o bug fix for pkg/seaice dynamic solver
165    o Added SEAICE_initialHEFF to pkg/seaice
166    
167    checkpoint50b_post
168    o store u*,v* in gU,V instead of in guNm1,gvNm1
169    o in order to put the momForcing out of the Adams-Bashforth:
170      move forcing & CD-scheme calls from mom_fluxform & mom_vecinv
171      to timestep.F
172    o new flag "useCDscheme" (default=F); replace guCD,gvCD by local arrays
173    o re-generate output for highly sensitive test-exp:
174       global_ocean_pressure, ideal_2D_oce, lab_sea, natl_box
175    
176    checkpoint50b_pre
177    o restore the use of momAdvection & useCoriolis flags (mom_vecinv)
178    o corrected CPP option mismatch in exf_Bulk... functions for case
179      #define ALLOW_ATM_WIND && #undef ALLOW_ATM_TEMP
180    
181    checkpoint50a_post
182    o Bug fix for merging between c50 and KPP.
183      ikey was passed from thermodynamics to kpp_calc via
184      common block rather than being recomputed in kpp_calc,
185      in contradiction with new key itdkey.
186      New key ikppkey created, and tamc.h headers updated.
187    
188    checkpoint50
189    - 2nd step of merge with ecco-branch:
190      merge changes in ecco-branch back into main trunk
191    - bug fix in find_alpha
192    - more storing in gmredi_calc_tensor.F, kpp_routines.F
193    - avoid iterative loop in ini_pressure for ALLOW_AUTODIFF_TAMC
194    - merged some sliced AD support routines
195    
196    checkpoint49
197    merged from ecco-branch:
198    o exf:
199      - Enable initialisation of forcing fields to constant
200        (runtime) values.
201      - in exf_getffields.F
202        Reduce i-/j-loop to interior domain, discarding overlaps.
203        That also fixes wrong TAF-key computations for key_1, key_2
204        with bulf formulae.
205      - exf_init.F modify #ifdef for exf_init_evap
206      - exf_getffieldrec.F, ctrl_getrec.F
207        The following INT-usages are not safe:
208          fldsecs  = int(fldsecs/fldperiod)*fldperiod
209          fldcount = int(fldsecs/fldperiod) + 1
210        and were modified.
211    o autodiff: checkpoint_lev...
212      - updated storing for bulk formulae (some arrays were missing)
213      - added state for seaice package
214      - synchronized with main branch
215    o DIVA:
216      Modif.s in
217      - the_main_loop.F
218      - the_model_main.F
219      and added cost_final_restore.F cost_final_store.F
220      o With these changes, it is possible to fully separate
221        the first forward run to compute the cost function (mdthe_main_loop)
222        and adjoint runs over individual DIVA intervals (adthe_main_loop)
223        into separate model executions.
224        This enables better tuning of DIVA to given queue sizes.
225      o Loss of cost function value in consecutive DIVA runs is
226        fixed by storing to 'costfinal' file.
227      o Appropriate call of ctrl_unpack/_pack,grdchk_main at
228        beginning/end of adjoint integration is accounted for.
229      The current changes apply to TAF-1.4.26.
230      TAF has one remaining bug, requiring one manual change
231      (see MITgcm manual).
232    o cal: synchronized between MAIN and ecco-branch
233    
234    checkpoint48i_post
235    o Changes to restore differentiability of code w.r.t. previous tag
236      (mostly adding new routines to make list and replacing
237      pressure by totPhiHyd).
238    o Updated and merged grdchk package
239      - has both ADM and TLM checks
240      - works for single- and multi-proc.
241      - output cleaned
242      - worked successfully for parallel DIVA
243    o genmake:
244      - Adding -platform=SP4
245      - Modif. for DEC Alpha (many don't have makedepend; use mkdep instead).
246    o Modif. for DIVA:
247      ctrl_unpack should not be called in intermediate DIVA interval.
248      (similar thing would apply for active files such as
249      tbar, sbar, psbar, which should not be reinitialised;
250      only relevant for ecco-branch)
251    
252    checkpoint48h_post
253    o improve "ini_p_ground" when using finite difference form for calc_phi_hyd
254    o Added net flux to downward flux conversion to pkg/exf/exf_getffields.F
255    o Added SEAICE_initialHEFF to pkg/seaice
256    o ecco_the_model_main.F: SEAICE_WRITE_PICKUP must precede WRITE_CHECKPOINT
257    
258    checkpoint48g_post
259    --- EOS:
260    o compute locally the pressure for use in EOS: UNESCO, JMD95P, MDJWF
261      store total Potential in totPhyHyd for diagnostics & EOS.
262    o fix restart and overlap Pb when using Z-coord and EOS funct. of P
263    --- Pressure/geopotential gradient:
264    o use Ro_surf & R_low instead of hFac in cal_phi_hyd:
265    o NLFS + p-coord.: eta*Alpha' is not longer lagging 1.time-step behind
266      ( changes results of global_ocean_pressure )
267    o NLFS + z-coord.: add eta*Rho' contribution.
268    o accurate phiHyd when using interface-W at the middle between 2 centers
269     ( changes results of ideal_2D_oce )
270    o includes r* 2nd term in potential gradient.
271    
272    checkpoint48f_post
273    Merging from release1_p12:
274    o Modifications for using pkg/exf with pkg/seaice
275      - improved description of the various forcing configurations
276      - added basic radiation bulk formulae to pkg/exf
277      - units/sign fix for evap computation in exf_getffields.F
278      - updated verification/global_with_exf/results/output.txt
279    o Added pkg/sbo for computing IERS Special Bureau for the Oceans
280      (SBO) core products, including oceanic mass, center-of-mass,
281      angular, and bottom pressure (see pkg/sbo/README.sbo).
282    o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F
283      to avoid negative values in shallow regions.
284      - updated verification/natl_box/results/output.txt
285      - updated verification/lab_sea/results/output.txt
286    o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F
287    o Added useSingleCpuIO option (see PARAMS.h).
288    o Updated useSingleCpuIO option in mdsio_writefield.F to
289      work with multi-field files, e.g., for single-file pickup.
290    o pkg/seaice:
291      - bug fix in growth.F: QNET for no shortwave case
292      - added HeffFile for specifying initial sea-ice thickness
293      - changed SEAICE_EXTERNAL_FLUXES wind stress implementation
294    o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf,
295      kpp_transport_t.F, forward_step.F, and the_main_loop.F
296    o pkg/seaice:
297      - adjoint-friendly modifications
298      - added a SEAICE_WRITE_PICKUP at end of the_model_main.F
299    
300    checkpoint48e_post
301    o New S/R for diagnostic of bottom pressure (phi0surf was missing in c48d_post)
302    o dynamics: change definition of computational domain & adapt mom_fluxform
303      accordingly ; when viscA4=0, allows to run the dynamics with Olx=Oly=2.
304    o following exp works with Olx=Oly=2 (and pass through checkbounds option):
305        adjust_nlfs.cs-32x32x1 adjustment.128x64x1 adjustment.cs-32x32x1
306        exp0 exp1 exp2 exp4 exp5 hs94.cs-32x32x5 hs94.128x64x5 hs94.1x64x5
307        global_ocean.90x40x15 global_with_exf global_ocean_pressure
308        inverted_barometer solid-body.cs-32x32x1
309      (high order AdvScheme and/or multiDimAd works with Olx=Oly=2 ? not sure)
310    
311    checkpoint48d_post
312    o in preparation for r*:
313     a) use pre-computed gradient of hydrostatic potential:
314        changes in timestep.F & mom_cdscheme.F affects results of ideal_2D_oce
315     b) move phi0surf from calc_phi_hyd to calc_grad_phi_hyd:
316        => affects results of glob_oce_pressure (different truncation error)  
317      update output.txt of ideal_2D_oce & global_ocean_pressure
318    
319    checkpoint48d_pre
320    o in preparation for r*:
321      new S/R (calc_grad_phi_hyd.F) to compute Hydrostatic potential gradient.
322      pass the 2 comp. of the grad. as arguments to momentum S/R.
323      but for the moment, only used if it does not change the results.
324    o add finite volume form of calc_phi_hyd for buoyancyRelation OCEANIC & OCEANICP
325    
326    checkpoint48c_post
327    Modifications in treatment of initial flux forcing controls
328    to avoid extra storing of flux fields.
329    
330    checkpoint48c_pre
331    o Added tidal_basin_2d experiment (currently 1D!)
332    o can use r* Coordinate with OBC (but Orlanski Rad. BC not yet implemented)
333    
334    checkpoint48b_post
335    o r* coordinate added in #ifdef NONLIN_FRSURF block.
336     (modification to pressure gradient not yet implemented)
337    o mom_fluxform: new S/R mom_calc_rtrans.F computes vertical transports
338      (for U & V) that are used for vertical advection of momentum.
339    
340    checkpoint48a_post
341    o In preparation for r*, use temp. array to compute vertical transport
342       in flux-form momentum pkg. => change results of few test-exp.
343      Update output of: exp4, exp5, front_relax, global_ocean_pressure,
344                        lab_sea, natl_box & plume_on_slope
345    
346    checkpoint48
347    o fix small bug that was causing lot of warning (TIMER_STOP 'UPDATE_CG2D')
348    
349    checkpoint47j_post
350    o add new exp. (ideal_2D_oce) to test "exotic" parameters and options.
351    o moved adexch from forward_step to addummy_in_stepping
352    o added exch in ctrl_map_...
353    o aveFreq.=0. at end of cost_final to avoid overwrite in
354      reverse checkpointing loop
355    o Yet more changes in gmredi:
356      * adgmredi_calc_tensor
357        avoiding all recomputation of gmredi_slope_limit
358      * adgmredi_x/y/rtransport
359        added flag for excessive storing to avoid recomp. of
360        u/v/rtans, dTdx/y/z
361        -> this is not really necessary and very memory-consuming
362      * adgmredi_slope_psi:
363        consistency with gmredi_slope_limit in treatment of GM_slopeSqCutoff
364      * gmredi_slope_limit
365        re-activated full calculation of taperfct for case 'ac02'
366    o updating verification/ adjoints of carbon, global_ocean.90x40x15
367    
368    checkpoint47i_post
369    o GM_EXCLUDE_() replace GM_TAPER_(): by default, all the code is compiled.
370    o add GM_Small_Number & GM_slopeSqCutoff as run-time parameters (data.gmredi)
371      default values = 1.D-12 & 1.D+48 (=> give same results as checkpoint47f_post)
372    o cg2dTargetResWunit: define tolerance using deltaTmom (and not deltaTfreesurf)
373    o gmredi: fix few bugs.
374    
375    checkpoint47h_post (duplicate tag for PH's c48 tag, in order to move c48)
376    This will be a good checkpoint to plug into the ecco-branch.
377    o few modif.'s to get latest version adjointed
378      (mainly kick out code in ini_linear_phisurf)
379    o modif's to run adjoint with exactConserv
380    o case GM_BOLUS_ADVEC should be cleaned
381      S/R gmredi_slope_psi should be cleaned
382    o verification/carbon now has exactConserv=.TRUE.
383    
384    checkpoint47g_post
385    o time-average AIM output: becomes independent from statvars time-average
386      (can be used with #undef ALLOW_TIMEAVE) ; add new variables (e.g., RH)
387    o After TAF bug fix:
388      Tested adjoint of gmredi package.
389      Tests were done with checkpoint47 rather than with latest
390      checkpoint47f_post since the latter is broken for the adjoint
391      verification/carbon/ contains both ADM and TLM gradient checks.
392    Here they are, before they get changed/lost/stolen.
393    Mostly modif.'s to fix numerical sensitivities.
394    Gradient checks OK for
395    - GM_taper_scheme:
396      * clipping
397      * ac02
398      * linear
399      * glw91
400      * dm95
401      * ldd97
402    - GMREDI_OPTIONS:
403      * GM_VISBECK_VARIABLE_K
404      * GM_NON_UNITY_DIAGONAL
405      * GM_EXTRA_DIAGONAL
406      * GM_BOLUS_ADVEC
407    in conjunction with data.gmredi parameters to be checked in
408    in a few minutes under verification/carbon/code/
409    
410    checkpoint47f_post
411    Merging from release1_p10:
412    o modifications for using pkg/exf with pkg/seaice
413      - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING
414        and SEAICE_EXTERNAL_FLUXES
415      - pkg/exf CPP options EXF_READ_EVAP and
416        EXF_NO_BULK_COMPUTATIONS
417      - usage examples are Experiments 8 and 9 in
418        verification/lab_sea/README
419      - verification/lab_sea default experiment now uses
420        pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf
421    
422    checkpoint47e_post
423    o created a tag prior to creating a branch
424    
425    checkpoint47d_post
426    o fixed bug in the oceanic pressure coordinates code: vertical viscosity
427      at the bottom boundary had an erroneous half slip boundary condition
428    o added bottom drag and no slip boundary condition capabilities to
429      oceanic pressure coordinates code
430    o added new verification experiment global_ocean_pressure, this experiment is
431      also described in the tutorial section of the manual
432    checkpoint47d_pre
433    
434    checkpoint47c_post
435    o Added a verification experiment for a global cubed-sphere ocean run
436      -  verification/global_ocean.cubed32x32x30
437      -  uses pkg/therm_seaice and pkg/bulk_forcing
438    
439    o allow to run AIM physics with SPEEDY input files (from Franco Molteni)
440    o allow a more accurate definition of Ro_Surf (selectFindRoSurf=1)
441      when using P-coordinate; only implemented for atmospheric config.
442    o OCEANICP & realFreshWater: include P-E direct effect on wVel ;
443      NOTES: requires option NONLIN_FRSURF to be "#define".
444    o update advect_xz/results/output.txt (left from checkpoint44g_post)
445    
446    checkpoint47b_post
447    Merging from release1_p9:
448    o pkg/seaice
449      - removed GOTO's and added taf directives
450      - double precision constants to reduce the g77 (Linux)
451        to F77 (SGI) differences reported in release1_p8
452    o tools/genmake
453      - added SGI options
454    o verification/testscript
455      - updated to that of checkpoint47a_post
456    o verification/global_ocean.90x40x15/input/eedata
457      - modified for SGI f77 compatibility
458    o verification/lab_sea
459      - added description of sea-ice model
460      - added missing matlab routines
461      - added test of thermodynamics parallelization
462    
463    checkpoint47a_post
464    o new pkg: aim_v23
465     = F. Molteni atmos.physics (SPEEDY, ver23) adapted to MITgcm.
466       for now, keep the same surface forcing as before.
467     - Part-Cell implemented into AIM; check that Heat & Water are conserved
468     - aim.5l_cs: use new aim pkg (run 10yr & get better results than before)
469     - aim.5l_LatLon & aim.5l_Equatorial_Channel are still using old aim pkg
470    o add diagnostic of surface correction term in monitor output
471    
472    o bulk_force and therm_seaice
473    - Two packages:  bulk_force (Bulk forcing)
474      and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2
475    - Earlier integration from Stephaine Dutkiewicz
476      and Patrick Heimbach.
477    - Two ifdef statements for compile time,
478       ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE
479    
480    checkpoint47
481    differentiable version of checkpoint46n_post
482    o bug fix in quasihydrostaticterms
483    o * "clean" adjoint code (in terms of extensive recomputations)
484        can now be obtained for all GMREDI options (i.e. for
485        - GM_VISBECK_VARIABLE_K
486        - GM_NON_UNITY_DIAGONAL
487        - GM_EXTRA_DIAGONAL
488        - GM_BOLUS_ADVEC )
489      * However, wrong gradient check problem remains unsolved.
490      * New CPP options have been introduced for different
491        tapering schemes
492    o external_fields_load now part of differentiation list
493    o pressure needs multiple storing;
494      would be nice to have store_pressure at beginning or
495      end of forward_step, e.g. by having phiHyd global (5-dim.)
496      (NB: pressure is needed for certain cases in find_rho,
497      which is also invoked through convective_adjustment).
498    o recomputations in find_rho for cases
499     'JMD95'/'UNESCO' or 'MDJWF' are OK.
500    o #define ATMOSPHERIC_LOADING should be differentiable
501    o ini_forcing shifted to begining of initialise_varia
502    o Incorporating QNVS line search routines into MITgcm
503      (this is separate code, and therefore not under pkg)
504      lsopt/, optim/
505    o Updated verification/carbon/
506      - #define GM_VISBECK_VARIABLE_K
507      - GM_taper_scheme    = 'ldd97'    
508    
509    checkpoint46n_post
510    Merging from release1_p8:
511    o verification/natl_box:
512      updating new external_fields_load routine
513    o New package: pkg/seaice
514      Sea ice model by D. Menemenlis (JPL) and Jinlun Zhang (Seattle).
515      The sea-ice code is based on Hibler (1979-1980).
516      Two sea-ice dynamic solvers, ADI and LSR, are included.
517      In addition to computing prognostic sea-ice variables and diagnosing
518      the forcing/external data fields that drive the ocean model,
519      SEAICE_MODEL also sets theta to the freezing point under sea-ice.
520      The implied surface heat flux is then stored in variable
521      surfaceTendencyTice, which is needed by KPP package (kpp_calc.F and
522      kpp_transport_t.F) to diagnose surface buoyancy fluxes and for the
523      non-local transport term.  Because this call precedes model
524      thermodynamics, temperature under sea-ice may not be "exactly" at
525      the freezing point by the time theta is dumped or time-averaged.
526      N.B.: fairly large differences in accuracy occur across
527            different platforms/compilers; comparison between
528            g77 (Linux) and F77 (SGI Origin 2000/MIPSpro)
529            generated output gives:
530       T           S           U           V
531      C D M    c        m  s        m  s        m  s        m  s
532      n p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .
533      f n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d
534      g d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .
535    
536      Y Y Y Y  5  5  7  7  7  8 10  9  6  6  6  6  7  5  7  5  7 FAIL  lab_sea
537    o GAD:
538      - generated new common blocks to account for call of
539        same gad routines with differing traceridentities
540        (needed to modify tracerIdentity indices in GAD.h)
541      - generated separate common blocks for case useCubedSphereExchange
542        (Department of Futurology)
543      - parameter lists to gmredi_?transport: added tracerIdentity
544      - added new key indices to tamc.h
545    o external_fields_load:
546      - added this routine to TAF list
547      - needed to make some common blocks global and additional storing
548        along the same lines as exf package (checkpoint_lev?_directives.h)
549    o exf:
550      updated external forcing package
551      - bug fixes carried over from ecco-branch
552        (missing OBCS_OPTIONS.h in two routines)
553      - enable easy to use "no forcing".
554      - added exf I/O for atmospheric loading
555      - added exf I/O for runoff data
556      - transfered scaling between exf <-> MITgcm to exf namelist
557    o Adding new verification experiment global_with_exf.
558      This verification experiment is almost identical to the
559      global_ocean.90x40x15 experiment, except that it uses
560      the exf (and cal) package instead of the
561      external_fields_load routine (cf README file).
562    
563    checkpoint46m_post
564    o modified testscript to return -- when there are no lines of "%MON" output
565    o added new flag "quasiHydrostatic" for QH mode
566      and new routine quasihydrostaticterms()
567    o added 2*Omega*Cos(phi)*W to u equations (non-hydrostatic Coriolis term)
568      New routine: mom_u_coriolis_nh()
569    o fixed sign of non-hydrostatic metric terms in u and v equations.
570      Depend on correct sign of gravitySign.
571    o added work.pc* to .cvsignore in aim directories using ifc
572    o introduced flag for controllin non-hydrostatic metric terms
573    o removed gravitySign from PARM04
574    o switched to g77/ifc from pgf77 in aim experiments
575    
576    checkpoint46l_post
577    o made convective adjustment work with pressure coordinates:
578     - changed the direction of k-loop in convective_adjustment.F for the
579       case of pressure coordinates (OCEANICP,ATMOSPHERIC buoyancyRelation)
580     - adjusted the reference pressure k-index in convective_adjustment.F
581     - adjusted the convection condition in convect.F (in analogy to
582       calc_ivdc.F)
583     - convective_adjustment no longer computes anything on the halos
584     - removed the warnings about negative salinity from find_rho.F and
585       find_alpha.F; instead the new routine look_for_neg_salinity, called
586       at the beginning of find_rho, find_alpha, and find_beta, does a
587       check of the entire slice, if CPP-option
588       CHECK_SALINITY_FOR_NEGATIVE_VALUES is defined
589    checkpoint46l_pre
590    
591    checkpoint46k_post
592    o fixed the verification/global_ocean.90x40x15 experiment:
593     - new bathymetry (the world according to A., JMC, and M.)
594     - new initial fields and forcing fields (*.bin files)
595     - new POLY3.COEFFS (for the next release one should switch to a full
596       equation of state: JMD95P or MDJWF)
597     - fixed several errors and redundancies in the data file
598     - experiment uses looped cells
599     - added matlab directory with diagnostic scripts for plotting of output
600    
601    o S/R aim_initialise.F replace S/R aim_init from file aim_do_inphys.F:
602     - read AIM physics parameters from a file (data.aimphys)
603     - set defaults values = F.Molteni paper (Clim.Dyn., 2002)
604    
605    checkpoint46j_post
606    o split calc_exact_eta in 2 S/R : integr_continuity & update_etaH
607    o move wVel computation at the end of the time step, in S/R integr_continuity
608    o create specific S/R to exchange T,S before DYNAMICS (for stagger time step)
609    o update timeave pkg for wVel diagnostic.
610    checkpoint46j_pre
611    
612    checkpoint46i_post
613    o Clean up AIM package (and keep the results unchanged):
614      include CPP_OPTION and use IMPLICT NONE in all routines ;
615      declare all the variables _RL ; use _d 0 for all numerical constants.
616      use ifdef ALLOW_AIM everywhere. And now AIM can be used with g77 !
617    
618    checkpoint46h_post
619    o cleaned up the use of rhoNil and rhoConst.
620      - rhoNil should only appear in the LINEAR equation of state, everywhere
621        else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst
622        and the dynamical equations are all divided by rhoConst
623    o introduced new parameter rhoConstFresh, a reference density of fresh
624      water, to remove the fresh water flux's dependence on rhoNil. The default
625      value is 999.8 kg/m^3
626    o cleanup up external_forcing.F and external_forcing_surf.F
627      - can now be used by both OCEANIC and OCEANICP
628    checkpoint46h_pre
629    
630     Added code to convert surface volume flux (fresh water) into
631     a mass flux when using P coordinates in the ocean (OCEANICP).
632     Note: It assumes you have set rho0=rhoConst=density of fresh water.
633    
634    checkpoint46g_post
635    o Include a new diagnostic variable phiHydLow for the ocean model
636      - in z-coordinates, it is the bottom pressure anomaly
637      - in p-coordinates, it is the sea surface elevation
638      - in both cases, these variable have global drift, reflecting the mass
639        drift in z-coordinates and the volume drift in p-coordinates
640      - included time averaging for phiHydLow, be aware of the drift!
641    o depth-dependent computation of Bo_surf for pressure coordinates
642      in the ocean (buoyancyRelation='OCEANICP')
643      - requires a new routine (FIND_RHO_SCALAR) to compute density with only
644        Theta, Salinity, and Pressure in the parameter list. This routine is
645        presently contained in find_rho.F. This routine does not give the
646        correct density for 'POLY3', which would be a z-dependent reference
647        density.
648    o cleaned up find_rho
649      - removed obsolete 'eqn' from the parameter list.
650    o added two new verification experiments: gop and goz
651      (4x4 degree global ocean, 15 layers in pressure and height coordinates)
652    checkpoint46g_pre
653    
654    checkpoint46f_post
655    o Enable tangent linear (forward mode) gradient checks:
656      - extended active file handling to g_... files
657      - added TANGENT_SIMULATION to theSimulationMode
658      - extended grdchk package accordingly
659    o added tangent linear setup in verification/carbon/code_ftl
660    o added adjoint setup in verification/front_relax/code_ad
661    
662    checkpoint46e_post
663    o Added new equation of state -> MDJWF
664      - EOS of McDougall et al., 2002, JAOT, submitted
665      - caveat: the equation of state is only valid for a smaller (more
666        realistic?) range of values than JMD95P/Z and UNESCO
667      - added masks to the calculation of pressure in store_pressure
668      - added more check values for density in check_eos (ini_eos.F), some of
669        the old check values are out of the range of the MDJWF-eos, so don't
670        expect perfect matches for those
671    checkpoint46e_pre
672    
673    checkpoint46d_post
674    o fixed store_pressure to work with both buoyancy relation = 'OCEANIC' and
675      'OCEANICP', also initialised field pressure correctly in ini_eos in the
676      case of pressure coordinates. eosType='JMD95Z' in
677      combination with buoyancyRelation='OCEANICP' now causes an error.
678    o Changed p = pressure(i,j,k,bi,bj)  to  p = pressure(i,j,kRef,bi,bj)
679      in find_alpha/beta.
680    checkpoint46d_pre
681    
682    o Changed p = pressure(i,j,k,bi,bj)  to  p = pressure(i,j,kRef,bi,bj)
683      so that JMD95Z and JMD95P give approptiate static stability in find_rho.
684    
685    checkpoint46c_post
686    o Changes necessary for ocean in p-coordinates
687     -  Added new buoyancy relation = 'OCEANICP'
688     -  Added new parameters = gravitySign (this used to be contained inside
689        the factor dRdZ which I added when we first switched to R coordinates).
690     X GM/Redi is not compatible (yet)
691     X bottom drag and no-slip need to be debugged.
692    checkpoint46c_pre
693    
694    checkpoint46b_post
695    o Added new equation of state -> JMD95Z and JMD95P
696      - EOS of Jackett and McDougall, 1995, JAOT
697      - moved all EOS parameters into EOS.h
698      - new routines ini_eos.F, store_pressure.F
699    o Added UNESCO EOS, but not recommended because it requires
700      in-situ temperature (see JMD95)
701    o Modified formatting for knudsen2.f in utils/knudsen2 and added
702      unesco.f to be used with POLY3
703    checkpoint46b_pre
704    
705    checkpoint46a_post
706    o Added (atmospheric) pressure loading
707      - new field in FFIELDS.h, etc...
708      - new cpp flag ATMOSPHERIC_LOADING
709    o Changed hFacC to _hFacC in calc_phi_hyd.F
710    o Added SHORTWAVE_HEATING to some files for consistency
711    checkpoint46a_pre
712    
713    checkpoint46
714    further merges from release1_p5
715    o new ctrl package
716      - adopted from ECCO environment to enable optimization
717      - added Eliassen Palm fluxes to controls
718    o added Eliassen Palm flux controls to gradient check package
719    o cost package
720      - Compatible with new ctrl package
721      - added Eliassen Palm cost hooks
722      - modif's of existing cost functions
723    o Adjoint-related bug fixes in kpp:
724      - kpp_calc: sore of kpphbl avoids recomputation/call to S/R kppmix
725      - kpp_routines: store of Rib avoids partial recomputation bug of TAF.
726    o autodiff package
727      - flow directives:
728        + new for S/R do_the_model_io
729        + enhanced for S/R checkpoint
730        + new gmredi.flow
731      - Introduced CPP option ALLOW_AUTODIFF_MONITOR to
732        disable adcommon.h/g_common.h by default.
733      - fixed problem for adjoint of global_max
734    o modified verification/carbon/
735    o New setup for adjoint of global_ocean
736    o added hooks for Eliassen Palm fluxes (dynamics.F, ini_fields.F)
737    o cleaned TAF keys iikey, idkey (dynamics.F, thermodynamics.F)
738    o incorporated hooks for sponge layer code (external_forcing.F)
739    
740    checkpoint45d_post
741    o import 2 fixes from release1_p5 (CG2D.h & packages_readparms.F)
742    o use recip_dx*,recip_dy* instead of /dx*,/dy* in orlanski_E,W,N,S
743      (affects plume_on_slope "cg2d" output)
744    o add new parameter deltaTfreesurf for free-surface time stepping
745    o exchange gT,gS when using staggerTimeStep & GM & Oly<4
746    o NONLIN_FRSURF: rescale gNm1 to get a better conservation with A-B
747    o change phiMin in exp1 (to agree with documentation)
748    o add new flags:
749     - T,S forcing inside/outside Adams-Bashforth
750     - turn off temp,salt advection and/or forcing
751     - for each tracer, define internal flag for multiDimAdvection & A-B
752    o monitor: change definition of KE to check conservation of Energy
753    
754    checkpoint45c_post
755    o Removed f90 comments ("!")
756    o Modified initialisations to enable exf package for MITgcm
757      (without invoking ECCO_PACKAGE).
758    o modifications to gradient check package (Martin Losch)
759      - enable centered differences
760      - modified format of standard output
761    
762    checkpoint45b_post
763    o cleaned exchange calls in cg2d
764    o Included CPP option ALLOW_AUTODIFF_MONITOR in forward_step
765    o included CPP option SINGLE_LAYER_MODE in thermodynamics
766      to configure barotropic setup (Martin Losch)
767    o moved some initialisations within bi,bj loop in dynamics
768      (TAF flow dependency)
769    o in initialise_varia, moved call packages_init_variables
770      before convective_adjustment_init
771      (corresponding adjustment of TAF tape initialisation).
772    o in calc_diffusivity/calc_viscosity extended domain to full overlap.
773    
774    checkpoint45a_post
775    o compute Rho over the whole domain (extend iMin,jMin indices)
776    o specific exchange for X-slice domain (case Ny=1)
777    o argument futureIter of S/R obcs_calc missing in exp4 & internal_wave /code
778    o solve_for_pressure : set cg2d_x to zero where OBCS are applied
779    
780    checkpoint44h_post = checkpoint45
781    o Fix to restore differentiability:
782      place at which packages_init_variables is called in
783      initialise_varia is crucial for reverse control flow.
784    o modifications in GMRedi to enable stable adjoint
785      (corresponding modif's in thermodynamics, dynamics)
786    o added missing hook for sponge layer code in external_forcing
787    o modified test cost functions
788    o storing in gad_advection (plus removal of write(0,*)!
789    o missing headers TR1.h added in convective_adjustment routines
790    o errorMessageUnit set non-equal zero in eeboot
791      (conflict on some platforms, e.g. IBM SP3)
792    o modified carbon verif.
793    
794    checkpoint44h_pre
795    o vertical grid option: allow to put the Interface at the middle between
796      2 cell-centers ; replace delZ in pkg/kpp by drF.
797    o GM Advective form: Tracers are advected using the residual transport (=
798      Euler+GM-bolus); set param GM_AdvSeparate=T to return to previous form.
799    
800    checkpoint44g_post
801    o fix surface correction term in multiDimAdvection (affects plume_on_slope
802      results) ; ifdef missing in thermodynamics.F
803    
804    checkpoint44f_pre,checkpoint44f_post
805    o added PTRACERS package
806      This allows an arbitrary number of passive tracers to be integrated
807      forward simultaneously with the dynamicaly model.
808      + Implemented so far:
809        - basic forward algorithm (time-stepping, advection, diffusion, convection)
810        - I/O and checkpointing
811        - GM/Redi  *but*  using the GM/Redi coefficient of Salt
812      + Not implemented so far:
813        - KPP
814        - OBCS
815      + No specific example supplied (yet) but global_ocean.90x40x15 has the
816        necessary data.ptracer file. Simply use -enable=ptracers and uncomment
817        line in data.pkg.
818      + This package is disabled by default since it increases storage.
819    
820    
821    o testscript: added -cleanup option
822    o Shap_filt: a) new shap_filt S/R to use no-slip BC with S2 filter
823                 b) enable to filter 2D fields.
824    
825    checkpoint44e_pre,post
826    o re-wrote convective adjustment to use pre-calculated weights
827      Affects: model/src/convective_adjustment.F, convective_adjustment_ini.F
828      Adds:    model/src/convective_weights.F, convectively_mixtracer.F
829      Original calls to convect() still in place.
830    
831    chkpt44d_pre,post
832    o added missing EXCLUDE_MONITOR flags
833    o changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi
834      (incompatible typ in MIN/MAX expressions caused problems
835      on IBM SP3)
836    o in genmake added variable MAKEDEPEND
837      plus resetting for case SunOS
838    o added timer_stats.c routine for IBM SP3
839    o removed variables in dynamics
840    !!! I forgot to create tag chkpt44d_pre !!!
841    !!! But chkpt44d_pre = chkpt44c_post    !!!
842    
843    o real fresh water flux implemented with non-linear free-surface.
844    
845    chkpt44c_pre,post
846    o few fix (mask in shap_s2, EmPmR in external_field_load,
847      USE_NATURAL_BCS in solve_for_P);
848    o add arguments myIter & myTime to S/R obcs_calc & solve_for_P
849    
850    checkpoint44b_pre/_post
851    o merge of relevant stuff from the ecco-branch:
852      - genmake: removed $S64 overwrite for case SunOS
853      - pkg/exf: update and corrections for field swapping and obcs
854      - pkg/ecco: parameter lists for the_model_main, the_main_loop
855                  harmonized between ECCO and MITgcm
856      - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice
857                      updated checkpointing_lev... lists for obcs
858      - model/src: minor changes in forward_step, plot_field
859                   added directive for divided adjoint in the_main_loop
860      - pkg/mdsio: added mdsio_gl_slice
861    
862    o check parameters & config (chkpt44a_pre,post)
863    o OBC and NonLin_FrSurf.
864    
865    checkpoint44
866    o fix bug in mom_vi_del2uv
867    o select when filters are applied ; add options to zonal_filter (data.zonfilt)
868    o gmredi: fix Pb in the adiabatic form ; add options (.e.g. Bolus advection)
869    o update AIM experiments (NCEP input files)
870    o improve and extend diagnostics (Monitor, TimeAve with NonLin-FrSurf)
871    o added some stuff for AD
872    
873    checkpoint43
874    o added two new advection tests
875    o added global 4x4 degree ocean test
876    o added test of H&S94 with free surface on cube
877    o some final mods for gradient check, adjoint,...
878    
879    checkpoint42
880      Fixed AD-related problems:
881    o Store directives up-to-date with re-arranged Adams-Bashforth
882      (mainly thermodynamics.F)
883    o New store directives for multi-dim. advection schemes
884      * new CPP flag ALLOW_MULTI_DIM_ADVECTION
885      * new common block and key passkey
886      (mainly gad_advection.F)
887    o Modified store directives for split of dynamics/thermodynamics
888      for the case ALLOW_KPP
889    o Cleaned argument list for timestep_tracer.F
890    
891    checkpoint41
892    o re-formatted/added comments in prologues of key subroutines
893      to work with protex
894    
895    checkpoint40
896    o moved calc_gs, calc_gt and calc_tr1 back to model/src
897    o added FLT (floats) package from Arne along with demo. experiment
898    o re-arranged Adams-Bashforth scheme for tracers to allow easier
899      implementation of forward-in-time forcing terms
900    o more mods for non-linear free-surface including new variable
901    o modified multi-dim method to work on cube
902    o bug fix in KPP (from DM)
903    
904    checkpoint40pre9
905    o added DST advection schemes
906    o fix MPI bug on SGI's
907    o modifications for non-linear free-surface
908    o fixed conditionals for fixed flow/passive tracer only mode
909    o added tension/strain form of stress tensor
910    o changes to commenting of arguments for TAF/TAMC
911    o added/updated many matlab scripts
912    o added multi-dimensional advection method for tracers
913      
914    checkpoint40pre8
915    o new package rw/
916      Added method for dumping intermediate local arrays:
917      mdsio_writetile - same as mdsio_writefield except works from inside
918                        bi,bj loop
919      mdsio_writelocal - same as mdsio_writetile except works for local
920                         arrays
921      write_local_r? - higher-level wrapper for mdsio_writelocal
922      Controlled by diagFreq. Defaults to zero (ie. no dumps)
923      Example given at end of mom_vecinv.F that dumps some local arrays.
924    o replaced calc_mom_rhs.F by mom_fluxform.F/mom_vecinc.F to
925      control flux-form versus vector invariant code.
926      Switch is runtime flag vectorInvariantMomentum (defaults to false)
927      or genmake -DISABLE ...
928    o TAMC-related update to cope with mom_fluxform.F/mom_vecinc.F
929      (additional storing is now needed for case vecinv;
930      currently nothing implemented to switch this storing off
931      in case fluxform is used since no CPP flag available).
932    
933    checkpoint40pre7
934    o bug fix in dynamics.F
935      calc_viscosity called before k=1,Nr loop.
936    o added some #ifdef's ALLOW_PASSIVE_TRACER
937    o cleaned initialisations in ctrl_map_ini
938      related to TAF
939    
940    checkpoint40pre6
941    o split dynamics into thermodynamics & dynamics
942    o corresponding split of calc_diffusivity into
943      calc_diffusivity, calc_viscosity
944      (kpp_calc_diff, kpp_calc_visc).
945    o Added diffkr, kapgm to control variables
946    o bug fix in gmredi_slope_limit for ldd97
947    
948    checkpoint40pre5
949    o proper initialization of Adams-Bashforth time stepping
950      + uses forward step for very first step of model (iter=0)
951    o re-generated *all* output since almost all output is modified by this
952      change (sorry but we've been putting this one off for about 2 years)
953      + natl_box, aim.5l_Equatorial_Channel and aim.5l_zon-ave were
954        *not* regenerated since they are already out of date and I don't
955        want to create the impression that they are suddenly working.
956    o removed KAP stuff for DEC's
957    o modified/added many .cvsignore files in */code and */input
958    o added new expt "solid-body.cs-32x32x1"
959      + this uses an alternative form of ini_curvilinear_grid.F which
960        is not necessarily any better than the current one...
961    
962    checkpoint40pre4
963    o added re-initialisations of utrans,vtrans,rtrans in
964      calc_common_factors which are crucial for TAF.
965    o extended iMin,jMin range for calc_common_factors,
966      calc_diffusivity
967    o added option ALLOW_PASSIVE_TRACER
968    o a few minor updates and fixes
969    
970    checkpoint40pre3
971    o created calc_gtr1.F for gad package
972    o split the_main_loop and re-introduced forward_step
973    o some recomputations of nIter0 for TAMC
974    
975    checkpoint40pre2
976    o Updated to latest branch of AJA, JMC
977    o Added gradient check package
978    o Added routines for passive tracer handling
979    o Added carbon sequestration sensitivity experiment
980    
981    checkpoint39
982     o Modifications and fixes to support TAMC
983       (mainly missing or wrong directives)
984     o Corrected common blocks when fooling TAMC to produce adjoint I/O
985       in addummy_in_stepping
986     o Updated verification/vero/ (bug fixes in code/, correct pickups in input/)
987     o Enabled "sliced" (xz-,yz-) exchanges, needed for obcs.
988     o Included following packages:
989       cal: calendar
990       exf: external forcing
991       ecco: essential routines to control use of cal, exf
992             (NB: this is not the full ECCO environment)
993     o disabled some packages by default in genmake
994    
995    checkpoint38
996     o see notes_c37_adj.txt
997     o corrected wrong layer index in external_forcing_t
998     o replaced the_main_loop/forward_step by the_main_loop
999     o removed forceoutput from write_state
1000       (replaced criteria for initial/final state)
1001     o added runtime flag for pre-C35 pickups: usePickupBeforeC35
1002    
1003    checkpoint37
1004     o mdsio.F routine split and packaged in pkg/mdsio
1005       (mdsio.F and mdsio_gl.F still exist in eesupp/src but are not
1006        used unless genmake -disable=mdsio)
1007     o allow a more precise surface-geopotential gradient for the atmosphere
1008       taking into account the change in space of Alpha (=1/rho) at the surface.
1009     o variable "etaN" (replace cg2d_x) is the surface R-anomaly [r unit]
1010       (ocean: sea surface height [m] / atmos: surface pressure anomaly [Pa])
1011     o Change units: Phi_Hydrostatic (=phiHyd), Phi_Surface(=cg2d_x) and
1012       Phi_NonHydrostatic (=cg3d_x), all have now the dimension of a potential
1013       [m2/s2] (pressure/rhoConst in the ocean ; Geo-Potential in the atmosphere).
1014     o Time-Average diagnostics defined as a pseudo package "timeave".
1015     o pickup files : old pickup (before c35) did not work with new code (c35
1016       and after) unless activating 2 commented lines in initialise-varia.
1017     o Non-Hydrostatic pickup file Pb fixed.
1018     o bug with Rigid-lid version (since c35) fixed.  
1019    
1020    checkpoint36
1021     o implement Crank-Nickelson barotropic time-stepping
1022     o recover Time-Average diagnostics
1023     o fix Pb in checkpoint (PR#19)
1024     o AIM become a standard package ; clean unused CPP_kees
1025    
1026    checkpoint35
1027     o subtantial rewrite of dynamics.f
1028     o allows staggered time-stepping
1029     o packaged obcs, aim (Atmospheric Physics), zonal_filt, shap_filt
1030     o added bottom drag (linear + quadratic)
1031    
1032    checkpoint34
1033     o Modified exchange routines for correct reverse simulation.
1034     o Added verification output to comply with bug fix in impldiff.F
1035       as of c33 (exp2, natl_box).
1036     o Corrected store directives in dynamics.F
1037     o Corrected array boundaries in impldiff.F
1038     o Corrected array dimensions in gmredi.
1039       Added temporary scalars to avoid storage by TAMC (gmredi, kpp).
1040     o Added routine GLOBAL_SUM_INT to global_sum.F
1041     o Added mdsio_gl.F for ECCO purposes.
1042    
1043    checkpoint33
1044     o Fixed bug in lower BC in impldiff.F
1045     o Fixed confusion about units of forcing arrays in FFIELDS.h
1046       namely Fu,Fv,Qnet,Qsw,EmPmR:
1047       - Removed verification/natl_box/code/external_fields_scale.F
1048         (did not differ from that in model/src)
1049       - Changed units of fu,fv,Qnet,Qsw,EmPmR back to proper units
1050         (see FFIELDS.h for description)
1051       - Scale fu,fv,Qnet,Qsw,EmPmR when used in external_forcing_surf.F,
1052         kpp_calc.F and kpp_transport_t.F
1053       - Removed model/src/external_fields_scale.F and calls to it
1054       - verification/natl_box uses flux data with "atmospheric" sign so
1055         a special version of external_fields_load.F is used to
1056         change the data as it's read in. This way, the arrays
1057         have the right units and signs at all times tha a user could
1058         possibly use them.
1059     o Corrected genmake to delete a temporary file during configuration
1060    
1061    checkpoint32
1062     o Scaling of forcing fields moved from external_forcing.F to
1063       external_fields_scale.F, called directly after loading fields.
1064     o Surface relaxation terms added to surface tendency fields in
1065       extra subroutine.
1066     o impldiff.F changed to avoid storing by TAMC of huge intermediate
1067       fields.
1068     o Changes in GMRedi to comply with packaging structure.
1069     o Modifications and bug fixes in KPP package.
1070     o Verification experiment for KPP added (verification/nat_box/)
1071    
1072    checkpoint31
1073     o Packages interface brought in line with defined standard
1074       -> new routines packages_...F
1075       -> changes in initialise_fixed.F, initialise_varia.F
1076       -> enables initialisation interface for ECCO package
1077     o Rescaling of external forcing fields immediately after read
1078       (removed from external_forcing.F)
1079       -> new: surface_fields_scale.F
1080       -> affects ini_foorcing.F, external_fields_load.F
1081     o Computation of surface tendencies before tendency updates.
1082       -> new: external_forcing_surf.F
1083     o Change of variable names useGMRedi, useKPP, useECCO
1084     o Further changes in dynamics.F, impldiff.F for TAMC
1085     o Tested for experiments 0, 2, 4.
1086       - not yet tested for GMRedi.
1087       - not yet tested for KPP.
1088    
1089    checkpoint30
1090     o Updates for OBCs
1091     o New experiment for test OBCs (internal_wave)
1092     o New output.txt in verification/exp4/results/
1093     o Updates for KPP: calculation of viscosity corrected, new variables
1094       kpp_dumpFreq and kpp_taveFreq
1095     o CPP'd calls to system routines for TARGET_CRAY_VECTOR (P.H.)
1096       and entry for T90 in genmake
1097    
1098    checkpoint29
1099     o packaged KPP and GM/Redi
1100    
1101    checkpoint28
1102     o Corrected initialization of hFacMin for difference vertical coordinates
1103     o Modified calculation of partial cell thickness to more robust algorithm
1104     o config_summary.F: replaced write_1D_... by write_0D_...
1105       read_write.F: added subroutines write_0D_...
1106     o routines calc_common_factors, calc_gs, calc_gt, calc_phi_hyd, find_rho:
1107       included some initialisations required for TAMC.
1108     o routine calc_isoslopes: modified sqrt computation to make it
1109       differentiable for zero argument.
1110     o routines dynamics, impldiff:
1111       included store directives and tape key computations required for TAMC.
1112     o ALL TAMC related changes are between ifdef ALLOW_AUTODIFF_TAMC
1113    
1114    checkpoint27
1115     o fixed calc_isoslopes() to so that cancellation of terms in tensor
1116       formulation works properly with variable resolution.
1117     o restructured the calling tree between the_model_main() and dynamics()
1118     o split initialise() into initialise_fixed() and initialise_varia()
1119     o introduced initialization file pSurfInitFile for free surface (cg2d_x)
1120       in new routine ini_psurf()
1121    
1122    checkpoint26
1123     o moved some #ifdef in optional routines to encompass everything
1124       except the argument declarations. This was using up some memory.
1125     o fixed macros like _ADT to work with both versions of Linux cpp
1126     o cleaned up some unused and uninitialized variables
1127       (helps when debugging with strict compile options)
1128     o split up CPP_EEOPTIONS.h into options and macros
1129       (macros are now in eesupp/inc/CPP_EEMACROS.h)
1130     o patch for 2 processor JAM mode
1131    
1132    checkpoint25
1133     o updates for OBCs and NH
1134     o dramatically reduced memory usage
1135     o added "JAM" routines for use on Artic network
1136     o parameterization of convection by implicit vertical diffusion
1137     o added a diagnostic of convective index
1138     o moved call to calc_divg_hat() from dynamics() to solve_for_pressure()
1139       (this is was partly for OBCs and NH but also in anticipation of
1140        an explicit free-surface option)
1141     o initial state input files for U and V
1142    
1143    checkpoint24
1144     o Removed some spurious "REAL"s
1145     o Updated KPP to latest version from JPL
1146     o Added a COS(latitude) in horizontal viscosity
1147    
1148    checkpoint23
1149     o Added del^4 diffusion for salt and temperature
1150     o Multiple minor fixes (implicit none's, arguments to global_sum, etc.)
1151    
1152    checkpoint22
1153     o Made many small changes: implicit none, format(i5), etc...
1154     o Introduced KPP mixing scheme (compiles and runs but *not* tested)
1155    
1156    checkpoint21
1157     o Introduced new I/O package that supports direct-access records (mdsio.F)
1158     o Split-up mid-level I/O routines
1159     o Updated input data for experiments 0,1,2,4 and 5
1160     o Finally removed the genmake.* scripts (everyone seems happy with genmake)
1161    
1162    checkpoint20
1163     o Tidied up open-boundaries some more
1164     o Added non-hydrostatic code
1165     o Fixed some input data
1166     o Modified MPI start-up to work in "coupled" context.
1167    
1168    checkpoint19
1169     o Tidied up directory structure for verification experiments.
1170     o Added new code for open boundaries.
1171     o Corrected advective terms near boundaries.
1172     o Added CPP flag for "old UV" geometry and corrected spherical geometry.
1173     o Implemented free-slip/no-slip BCs and del^4 dissipation.
1174     o Split default parameters out of ini_parms.F into set_defaults.F.
1175    
1176    checkpoint18
1177     o Further changes for optional code generation with
1178       CPP - ugh!
1179    
1180    checkpoint17
1181     o Beginning to incorporating modularity
1182       for supporting atmos. and ocean configs.
1183     o Small changes for TAMC complinace
1184     o New ultra simple test case. Barotropic box
1185       configuration "exp0".
1186    
1187    checkpoint16
1188     o Minor changes to exchange routines to support
1189       accumulation in reverse mode. Adjoint of an
1190       assignment is an addition.
1191     o Changes to support compilation by TAMC (LR(1)
1192       syntax) and by g77 under Linux ( 72 character
1193       limit ).
1194    
1195    checkpoint15
1196     Rewrote exchange routines to allow
1197     o General tile <-> tile connectivity.
1198     o TAMC reverse mode flag ( is this really needed? )
1199     o Variable width overlap and exchange region widths.
1200     o Hooks for sharing data via DMA, Arctic, Memory Channel,
1201       shmput/shmget, VIA, SYSV shmem and every other cool
1202       communication method.
1203    
1204    checkpoint14
1205     Consistent isomorphism chages made. These allow dynamical core
1206     to support both pressure and meters as a vertical coordinate.
1207    
1208    checkpoint13
1209     Release which corrects global_max problem and a couple
1210     of KGM time-averaging diagnostic errors. Also contains
1211     a double-gyre experiment setup as well as the baseline
1212     4 degree global template. The double gyre template is
1213     organised to allow it to be applied automatically to
1214     the baseline configuration.
1215    
1216    branch-point-rdot
1217     A few tidy-ups have been made bt the real point of this
1218     check-point (excuse the pun) is to allow a branch to be
1219     made for the purposes of adding the rDot alterations.
1220     I don't want to commit the rDot to the main-trunk until
1221     we've actually tested it...
1222    
1223    checkpoint12
1224     Tidy up and added generic genmake script (formerly
1225     configure script).
1226     Released to testers.
1227    
1228    checkpoint11
1229     Re-arranged initialise() and introduced ini_vertical_grid()
1230     and ini_masks_etc().
1231    
1232    checkpoint10
1233     Introduced the configure script.
1234     Separated out the diags package.
1235     Added template for writing time-averages of tile/intermediate quantities.
1236     Updated SIZE.h in exp2 and made the data big-endian.
1237    
1238    checkpoint9
1239     MPI fix. Filename changes (meta/data). salbin*y stuff.
1240     General tidy-up.
1241     SST.bin SSS.bin added to verification/exp2
1242    
1243  checkpoint8  checkpoint8
1244   Inludes time-dependant forcing and time-averaging.   Inludes time-dependant forcing and time-averaging.
1245   Works at 4x4 and 2.8125x2.8125 global   Works at 4x4 and 2.8125x2.8125 global

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.182

  ViewVC Help
Powered by ViewVC 1.1.22