/[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.305 - (hide annotations) (download)
Wed Jun 2 13:23:55 2004 UTC (19 years, 11 months ago) by adcroft
Branch: MAIN
Changes since 1.304: +4 -2 lines
Added Sadourny discretization of Coriolis in V.I. mode
 - moved some PARAMETERS from mom_*_coriolis.F to PARAMS.h
 - re-enabled use of omega3 in mom_vecinv.F

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

  ViewVC Help
Powered by ViewVC 1.1.22