/[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.317 - (hide annotations) (download)
Thu Jul 1 21:46:48 2004 UTC (19 years, 10 months ago) by jmc
Branch: MAIN
Changes since 1.316: +2 -1 lines
o prepare splitting of thermodynamics: store convect.counter in common block

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

  ViewVC Help
Powered by ViewVC 1.1.22