/[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.381 - (hide annotations) (download)
Thu Nov 4 20:19:17 2004 UTC (19 years, 5 months ago) by edhill
Branch: MAIN
Changes since 1.380: +3 -1 lines
 o add build dirs

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

  ViewVC Help
Powered by ViewVC 1.1.22