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

Annotation of /MITgcm/doc/tag-index

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


Revision 1.179 - (hide annotations) (download)
Thu Oct 2 17:43:57 2003 UTC (20 years, 7 months ago) by jmc
Branch: MAIN
Changes since 1.178: +2 -1 lines
o update advect_xz/output.txt (left from chekpoint50f_pre, ini_vel modif)

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

  ViewVC Help
Powered by ViewVC 1.1.22