$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.53.4.12 2002/04/04 11:22:52 heimbach Exp $ Notes on tags used in MITgcmUV ============================== ecco_c44_e22 o Finally, the merges with the Scripps cost function terms: Various additions, modifications, quality checks. o Plus: Included switch ALLOW_AUTODIFF_MONITOR to handle monitoring of adjoint state. o Plus: removed comm_stats, ini_communication_patterns from diff. list (no more need to "keep" MPI headers for adjoint generation) o Plus: exf changes: o added run-off routine o additional storing needed for ustress,vstess because of state-dependent quality check o added missing initialisations o Plus: genmake with MAKEDEPEND variable was still missing in ecco-branch NB: - verification/natl_box_adjoint/ 240 steps run * looks ok under Linux (twain.lcs.mit.edu) * looks ok on MIT SUN's (fjord.mit.edu) * NaN in reverse mode on Scripps SUN's at iter=214 * NaN in reverse mode on IBM SP3 (BlueHorizon) at iter=204 - 1 year forward int. global 2x2 deg. produces similar cost functions * all cost terms of new code are slightly smaller (0.5 to 3%). ecco_c44_e21 o reversed order of ctrl/cost initialisation o gmredi_slope_psi.F: Inconsistent types in MIN/MAX expressions o modified to enable ctrl field swapping o bug fix for global sum of ncvarlength in ctrl_init o no more call to ctrl_unpack from ctrl_init o no more write of ctrl vector in ctrl_pack however, init. of control vector from ctrl_unpack o various bug fixes & consistent nobcs handling in ctrl_pack/unpack routines (by G. Gebbie) o optim package: Added obcs control part for lsopt I/O (by G. Gebbie) o missing call to obcs_diags o moved calls in packages_init_fixed to packages_readparms because some quantities are needed earlier. ecco_c44_e20 o before major merges from the Scripps setup here are two small updates: - field swapping for surface flux controls enabled (remains t.b.d. for atmos. state plus obcs) - bug fix in active_file.F for xz-/yz- routines - added missing xz-/yz- routines to active_file_ad.F ecco_c44_e19 o merged necessary patches: - AD-related changes for GMRedi - fixes i KPP (delZ -> drF) - hook to OBCS songe layer code in external_forcing - errorMessageUnit non-zero in eeboot.F - included GMREDI, EXACT_CONSERV to natl_box_adjoint verif. ecco_c44_e18 o sponge layer code for obcs was missing - added hook in external_forcing.F - added storing for TAF o new routine cost_init_barfiles to initialise adjoint fields adtbar, adsbar, adpsbar (needed in conjunction with corrected ladinit for active I/O) o cleaned up and corrected order in packages_readparms, ecco_readparms o corrected and simplified weights for obcs controls - weight fields simplified - bug fix in ctrl_pack - no more write of control vector in ctrl_pack o i/j index bug fixes in cost_ssh_mean ecco_c44_e17 o bug fixes in cost package * wrong identifier for active I/O of monthly mean psbar (cost_averagesfields, cost_ssh) xx_psbar_dummy * cleaned all identifier for active I/O of monthly fields * wrong ladinit in various cost routines o merge with interval (chkpt44c_post - chkpt44d_post) * added missing EXCLUDE_MONITOR flags * changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi (incompatible typ in MIN/MAX expressions caused problems on IBM SP3) * in genmake added variable MAKEDEPEND plus resetting for case SunOS added timer_stats.c routine for IBM SP3 * removed variables in dynamics ecco_c44_e16 o new ECCO checkpoint, the first since ecco_c43_e15 which is branched from MITgcm. All changes were merged in between (see ecco-branch-mod? tags). o last changes: * assuming path for TAF and TAMC are known (e.g. in $path) * genmake: - added tools/xmakedepend to circumvene shortcoming of SUN's makedepend (size too small) - invoking ../tools/xmakedepend instead of makedepend - changed compiler flags for case SunOS ecco-branch-mod5 o mod's to reproduce open boundary run o enable field swapping for OB's and climatology o update store directives for OB control o added option ALLOW_OBCS_PRESCRIBE o call of getobcs now out of obcs_calc (param. list modified) ecco-branch-mod4 o this is the second part of changes necessary to reconcile the natl_box_adjoint verification (with and without grdchk). >>>!!! CHANGES BETWEEN THE TAGS ecco-branch-mod3 !!!<<< >>>!!! AND ecco-branch-mod4 !!!<<< >>>!!! SHOULD BE MERGED INTO THE MAIN TRUNK !!!<<< - genmake: removed $S64 overwrite for case SunOS - pkg/exf: update and corrections for field swapping and obcs - pkg/ecco: parameter lists for the_model_main, the_main_loop harmonized between ECCO and MITgcm - pkg/autodiff: added flow directives for obcs, mdsio_gl_slice updated checkpointing_lev... lists for obcs - model/src: minor changes in forward_step, plot_field - pkg/mdsio: added mdsio_gl_slice ecco-branch-mod3 o this is the first part of changes necessary to reconcile natl_box_adjoint verification (with and without grdchk). This set of changes is relevant for ECCO only. The next set/tag of changes (ecco-branch-mod4) should be merged into the main trunk. - update some options - parameter lists of ecco_the_model_main and ecco_the_main_loop differed from those of the MITgcm counterparts. ecco-branch-mod2 o update ecco-branch-mod1 to checkpoint44 o exclude from updates: - verification/ - adjoint/ - pkg/cost - pkg/ctrl - pkg/ecco - pkg/obcs - model/src/the_model_main.F - model/src/the_main_loop.F checkpoint44 o apply Shapiro filter on T&S before calc_PhiHyd (stagger time stepping) o fix bug in mom_vi_del2uv o added some stuff for AD ecco-branch-mod1 o based on c43 o replaced packages cost, ctrl, ecco, obcs o removed MITgcm verif.'s, added ECCO verif.'s o added lsopt, optim for line search optimization. checkpoint43 o added two new advection tests o added global 4x4 degree ocean test o added test of H&S94 with free surface on cube o some final mods for gradient check, adjoint,... checkpoint42 Fixed AD-related problems: o Store directives up-to-date with re-arranged Adams-Bashforth (mainly thermodynamics.F) o New store directives for multi-dim. advection schemes * new CPP flag ALLOW_MULTI_DIM_ADVECTION * new common block and key passkey (mainly gad_advection.F) o Modified store directives for split of dynamics/thermodynamics for the case ALLOW_KPP o Cleaned argument list for timestep_tracer.F checkpoint41 o re-formatted/added comments in prologues of key subroutines to work with protex checkpoint40 o moved calc_gs, calc_gt and calc_tr1 back to model/src o added FLT (floats) package from Arne along with demo. experiment o re-arranged Adams-Bashforth scheme for tracers to allow easier implementation of forward-in-time forcing terms o more mods for non-linear free-surface including new variable o modified multi-dim method to work on cube o bug fix in KPP (from DM) checkpoint40pre9 o added DST advection schemes o fix MPI bug on SGI's o modifications for non-linear free-surface o fixed conditionals for fixed flow/passive tracer only mode o added tension/strain form of stress tensor o changes to commenting of arguments for TAF/TAMC o added/updated many matlab scripts o added multi-dimensional advection method for tracers checkpoint40pre8 o new package rw/ Added method for dumping intermediate local arrays: mdsio_writetile - same as mdsio_writefield except works from inside bi,bj loop mdsio_writelocal - same as mdsio_writetile except works for local arrays write_local_r? - higher-level wrapper for mdsio_writelocal Controlled by diagFreq. Defaults to zero (ie. no dumps) Example given at end of mom_vecinv.F that dumps some local arrays. o replaced calc_mom_rhs.F by mom_fluxform.F/mom_vecinc.F to control flux-form versus vector invariant code. Switch is runtime flag vectorInvariantMomentum (defaults to false) or genmake -DISABLE ... o TAMC-related update to cope with mom_fluxform.F/mom_vecinc.F (additional storing is now needed for case vecinv; currently nothing implemented to switch this storing off in case fluxform is used since no CPP flag available). checkpoint40pre7 o bug fix in dynamics.F calc_viscosity called before k=1,Nr loop. o added some #ifdef's ALLOW_PASSIVE_TRACER o cleaned initialisations in ctrl_map_ini related to TAF checkpoint40pre6 o split dynamics into thermodynamics & dynamics o corresponding split of calc_diffusivity into calc_diffusivity, calc_viscosity (kpp_calc_diff, kpp_calc_visc). o Added diffkr, kapgm to control variables o bug fix in gmredi_slope_limit for ldd97 checkpoint40pre5 o proper initialization of Adams-Bashforth time stepping + uses forward step for very first step of model (iter=0) o re-generated *all* output since almost all output is modified by this change (sorry but we've been putting this one off for about 2 years) + natl_box, aim.5l_Equatorial_Channel and aim.5l_zon-ave were *not* regenerated since they are already out of date and I don't want to create the impression that they are suddenly working. o removed KAP stuff for DEC's o modified/added many .cvsignore files in */code and */input o added new expt "solid-body.cs-32x32x1" + this uses an alternative form of ini_curvilinear_grid.F which is not necessarily any better than the current one... checkpoint40pre4 o added re-initialisations of utrans,vtrans,rtrans in calc_common_factors which are crucial for TAF. o extended iMin,jMin range for calc_common_factors, calc_diffusivity o added option ALLOW_PASSIVE_TRACER o a few minor updates and fixes checkpoint40pre3 o created calc_gtr1.F for gad package o split the_main_loop and re-introduced forward_step o some recomputations of nIter0 for TAMC checkpoint40pre2 o Updated to latest branch of AJA, JMC o Added gradient check package o Added routines for passive tracer handling o Added carbon sequestration sensitivity experiment checkpoint39 o Modifications and fixes to support TAMC (mainly missing or wrong directives) o Corrected common blocks when fooling TAMC to produce adjoint I/O in addummy_in_stepping o Updated verification/vero/ (bug fixes in code/, correct pickups in input/) o Enabled "sliced" (xz-,yz-) exchanges, needed for obcs. o Included following packages: cal: calendar exf: external forcing ecco: essential routines to control use of cal, exf (NB: this is not the full ECCO environment) o disabled some packages by default in genmake checkpoint38 o see notes_c37_adj.txt o corrected wrong layer index in external_forcing_t o replaced the_main_loop/forward_step by the_main_loop o removed forceoutput from write_state (replaced criteria for initial/final state) o added runtime flag for pre-C35 pickups: usePickupBeforeC35 checkpoint37 o mdsio.F routine split and packaged in pkg/mdsio (mdsio.F and mdsio_gl.F still exist in eesupp/src but are not used unless genmake -disable=mdsio) o allow a more precise surface-geopotential gradient for the atmosphere taking into account the change in space of Alpha (=1/rho) at the surface. o variable "etaN" (replace cg2d_x) is the surface R-anomaly [r unit] (ocean: sea surface height [m] / atmos: surface pressure anomaly [Pa]) o Change units: Phi_Hydrostatic (=phiHyd), Phi_Surface(=cg2d_x) and Phi_NonHydrostatic (=cg3d_x), all have now the dimension of a potential [m2/s2] (pressure/rhoConst in the ocean ; Geo-Potential in the atmosphere). o Time-Average diagnostics defined as a pseudo package "timeave". o pickup files : old pickup (before c35) did not work with new code (c35 and after) unless activating 2 commented lines in initialise-varia. o Non-Hydrostatic pickup file Pb fixed. o bug with Rigid-lid version (since c35) fixed. checkpoint36 o implement Crank-Nickelson barotropic time-stepping o recover Time-Average diagnostics o fix Pb in checkpoint (PR#19) o AIM become a standard package ; clean unused CPP_kees checkpoint35 o subtantial rewrite of dynamics.f o allows staggered time-stepping o packaged obcs, aim (Atmospheric Physics), zonal_filt, shap_filt o added bottom drag (linear + quadratic) checkpoint34 o Modified exchange routines for correct reverse simulation. o Added verification output to comply with bug fix in impldiff.F as of c33 (exp2, natl_box). o Corrected store directives in dynamics.F o Corrected array boundaries in impldiff.F o Corrected array dimensions in gmredi. Added temporary scalars to avoid storage by TAMC (gmredi, kpp). o Added routine GLOBAL_SUM_INT to global_sum.F o Added mdsio_gl.F for ECCO purposes. checkpoint33 o Fixed bug in lower BC in impldiff.F o Fixed confusion about units of forcing arrays in FFIELDS.h namely Fu,Fv,Qnet,Qsw,EmPmR: - Removed verification/natl_box/code/external_fields_scale.F (did not differ from that in model/src) - Changed units of fu,fv,Qnet,Qsw,EmPmR back to proper units (see FFIELDS.h for description) - Scale fu,fv,Qnet,Qsw,EmPmR when used in external_forcing_surf.F, kpp_calc.F and kpp_transport_t.F - Removed model/src/external_fields_scale.F and calls to it - verification/natl_box uses flux data with "atmospheric" sign so a special version of external_fields_load.F is used to change the data as it's read in. This way, the arrays have the right units and signs at all times tha a user could possibly use them. o Corrected genmake to delete a temporary file during configuration checkpoint32 o Scaling of forcing fields moved from external_forcing.F to external_fields_scale.F, called directly after loading fields. o Surface relaxation terms added to surface tendency fields in extra subroutine. o impldiff.F changed to avoid storing by TAMC of huge intermediate fields. o Changes in GMRedi to comply with packaging structure. o Modifications and bug fixes in KPP package. o Verification experiment for KPP added (verification/nat_box/) checkpoint31 o Packages interface brought in line with defined standard -> new routines packages_...F -> changes in initialise_fixed.F, initialise_varia.F -> enables initialisation interface for ECCO package o Rescaling of external forcing fields immediately after read (removed from external_forcing.F) -> new: surface_fields_scale.F -> affects ini_foorcing.F, external_fields_load.F o Computation of surface tendencies before tendency updates. -> new: external_forcing_surf.F o Change of variable names useGMRedi, useKPP, useECCO o Further changes in dynamics.F, impldiff.F for TAMC o Tested for experiments 0, 2, 4. - not yet tested for GMRedi. - not yet tested for KPP. checkpoint30 o Updates for OBCs o New experiment for test OBCs (internal_wave) o New output.txt in verification/exp4/results/ o Updates for KPP: calculation of viscosity corrected, new variables kpp_dumpFreq and kpp_taveFreq o CPP'd calls to system routines for TARGET_CRAY_VECTOR (P.H.) and entry for T90 in genmake checkpoint29 o packaged KPP and GM/Redi checkpoint28 o Corrected initialization of hFacMin for difference vertical coordinates o Modified calculation of partial cell thickness to more robust algorithm o config_summary.F: replaced write_1D_... by write_0D_... read_write.F: added subroutines write_0D_... o routines calc_common_factors, calc_gs, calc_gt, calc_phi_hyd, find_rho: included some initialisations required for TAMC. o routine calc_isoslopes: modified sqrt computation to make it differentiable for zero argument. o routines dynamics, impldiff: included store directives and tape key computations required for TAMC. o ALL TAMC related changes are between ifdef ALLOW_AUTODIFF_TAMC checkpoint27 o fixed calc_isoslopes() to so that cancellation of terms in tensor formulation works properly with variable resolution. o restructured the calling tree between the_model_main() and dynamics() o split initialise() into initialise_fixed() and initialise_varia() o introduced initialization file pSurfInitFile for free surface (cg2d_x) in new routine ini_psurf() checkpoint26 o moved some #ifdef in optional routines to encompass everything except the argument declarations. This was using up some memory. o fixed macros like _ADT to work with both versions of Linux cpp o cleaned up some unused and uninitialized variables (helps when debugging with strict compile options) o split up CPP_EEOPTIONS.h into options and macros (macros are now in eesupp/inc/CPP_EEMACROS.h) o patch for 2 processor JAM mode checkpoint25 o updates for OBCs and NH o dramatically reduced memory usage o added "JAM" routines for use on Artic network o parameterization of convection by implicit vertical diffusion o added a diagnostic of convective index o moved call to calc_divg_hat() from dynamics() to solve_for_pressure() (this is was partly for OBCs and NH but also in anticipation of an explicit free-surface option) o initial state input files for U and V checkpoint24 o Removed some spurious "REAL"s o Updated KPP to latest version from JPL o Added a COS(latitude) in horizontal viscosity checkpoint23 o Added del^4 diffusion for salt and temperature o Multiple minor fixes (implicit none's, arguments to global_sum, etc.) checkpoint22 o Made many small changes: implicit none, format(i5), etc... o Introduced KPP mixing scheme (compiles and runs but *not* tested) checkpoint21 o Introduced new I/O package that supports direct-access records (mdsio.F) o Split-up mid-level I/O routines o Updated input data for experiments 0,1,2,4 and 5 o Finally removed the genmake.* scripts (everyone seems happy with genmake) checkpoint20 o Tidied up open-boundaries some more o Added non-hydrostatic code o Fixed some input data o Modified MPI start-up to work in "coupled" context. checkpoint19 o Tidied up directory structure for verification experiments. o Added new code for open boundaries. o Corrected advective terms near boundaries. o Added CPP flag for "old UV" geometry and corrected spherical geometry. o Implemented free-slip/no-slip BCs and del^4 dissipation. o Split default parameters out of ini_parms.F into set_defaults.F. checkpoint18 o Further changes for optional code generation with CPP - ugh! checkpoint17 o Beginning to incorporating modularity for supporting atmos. and ocean configs. o Small changes for TAMC complinace o New ultra simple test case. Barotropic box configuration "exp0". checkpoint16 o Minor changes to exchange routines to support accumulation in reverse mode. Adjoint of an assignment is an addition. o Changes to support compilation by TAMC (LR(1) syntax) and by g77 under Linux ( 72 character limit ). checkpoint15 Rewrote exchange routines to allow o General tile <-> tile connectivity. o TAMC reverse mode flag ( is this really needed? ) o Variable width overlap and exchange region widths. o Hooks for sharing data via DMA, Arctic, Memory Channel, shmput/shmget, VIA, SYSV shmem and every other cool communication method. checkpoint14 Consistent isomorphism chages made. These allow dynamical core to support both pressure and meters as a vertical coordinate. checkpoint13 Release which corrects global_max problem and a couple of KGM time-averaging diagnostic errors. Also contains a double-gyre experiment setup as well as the baseline 4 degree global template. The double gyre template is organised to allow it to be applied automatically to the baseline configuration. branch-point-rdot A few tidy-ups have been made bt the real point of this check-point (excuse the pun) is to allow a branch to be made for the purposes of adding the rDot alterations. I don't want to commit the rDot to the main-trunk until we've actually tested it... checkpoint12 Tidy up and added generic genmake script (formerly configure script). Released to testers. checkpoint11 Re-arranged initialise() and introduced ini_vertical_grid() and ini_masks_etc(). checkpoint10 Introduced the configure script. Separated out the diags package. Added template for writing time-averages of tile/intermediate quantities. Updated SIZE.h in exp2 and made the data big-endian. checkpoint9 MPI fix. Filename changes (meta/data). salbin*y stuff. General tidy-up. SST.bin SSS.bin added to verification/exp2 checkpoint8 Inludes time-dependant forcing and time-averaging. Works at 4x4 and 2.8125x2.8125 global checkpoint7-4degree-ref Branch from checkpoint7. Released for application to global modeling and general modeling - process studies, regional model etc.. Configured for verification/exp2 - 4 degree global, two process. checkpoint7 Created by cnh Simple 4 degree global simulation configuration. Includes climatological wind, hydrography, bathymetry etc Does not include Heat Flux and E-P checkpoint6 Created by cnh merged checkpoint5 with CD and spherical polar code. Still some problems with GM Redi abd full topography. checkpoint5 Created by AJA contains updates to GM Redi and reordered timestepping loop for Implicit Diffusion. checkpoint4 Created by cnh Contains memory saving macros ( _rdxc etc..) for when grid variations are limited. Contains polynomial coeffs for EOS and knudsen program for generation. checkpoint3 Created by cnh Added extra flags for runtime options Added this file Added implicit free-surface Added pre-conditioner Put compare01 into repository ( compare01/... ) Put data and eedata into repository ( verification/exp1 ) checkpoint2 Created by AJA Added GM/Redi checkpoint1 Created by AJA Restructured kloop in dynamics.F Added non-linear EOS baseline Original checked in code