$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.81 2002/08/15 17:25:26 adcroft Exp $ Notes on tags used in MITgcmUV ============================== checkpoint46c_post o Changes necessary for ocean in p-coordinates - Added new buoyancy relation = 'OCEANICP' - Added new parameters = gravitySign (this used to be contained inside the factor dRdZ which I added when we first switched to R coordinates). X GM/Redi is not compatible (yet) X bottom drag and no-slip need to be debugged. checkpoint46c_pre checkpoint46b_post o Added new equation of state -> JMD95Z and JMD95P - EOS of Jackett and McDougall, 1995, JPO - moved all EOS parameters into EOS.h - new routines ini_eos.F, store_pressure.F o Added UNESCO EOS, but not recommended because it requires in-situ temperature (see JMD95) o Modified formatting for knudsen2.f in utils/knudsen2 and added unesco.f to be used with POLY3 checkpoint46b_pre checkpoint46a_post o Added (atmospheric) pressure loading - new field in FFIELDS.h, etc... - new cpp flag ATMOSPHERIC_LOADING o Changed hFacC to _hFacC in calc_phi_hyd.F o Added SHORTWAVE_HEATING to some files for consistency checkpoint46a_pre checkpoint46 further merges from release1_p5 o new ctrl package - adopted from ECCO environment to enable optimization - added Eliassen Palm fluxes to controls o added Eliassen Palm flux controls to gradient check package o cost package - Compatible with new ctrl package - added Eliassen Palm cost hooks - modif's of existing cost functions o Adjoint-related bug fixes in kpp: - kpp_calc: sore of kpphbl avoids recomputation/call to S/R kppmix - kpp_routines: store of Rib avoids partial recomputation bug of TAF. o autodiff package - flow directives: + new for S/R do_the_model_io + enhanced for S/R checkpoint + new gmredi.flow - Introduced CPP option ALLOW_AUTODIFF_MONITOR to disable adcommon.h/g_common.h by default. - fixed problem for adjoint of global_max o modified verification/carbon/ o New setup for adjoint of global_ocean o added hooks for Eliassen Palm fluxes (dynamics.F, ini_fields.F) o cleaned TAF keys iikey, idkey (dynamics.F, thermodynamics.F) o incorporated hooks for sponge layer code (external_forcing.F) checkpoint45d_post o import 2 fixes from release1_p5 (CG2D.h & packages_readparms.F) o use recip_dx*,recip_dy* instead of /dx*,/dy* in orlanski_E,W,N,S (affects plume_on_slope "cg2d" output) o add new parameter deltaTfreesurf for free-surface time stepping o exchange gT,gS when using staggerTimeStep & GM & Oly<4 o NONLIN_FRSURF: rescale gNm1 to get a better conservation with A-B o change phiMin in exp1 (to agree with documentation) o add new flags: - T,S forcing inside/outside Adams-Bashforth - turn off temp,salt advection and/or forcing - for each tracer, define internal flag for multiDimAdvection & A-B o monitor: change definition of KE to check conservation of Energy checkpoint45c_post o Removed f90 comments ("!") o Modified initialisations to enable exf package for MITgcm (without invoking ECCO_PACKAGE). o modifications to gradient check package (Martin Losch) - enable centered differences - modified format of standard output checkpoint45b_post o cleaned exchange calls in cg2d o Included CPP option ALLOW_AUTODIFF_MONITOR in forward_step o included CPP option SINGLE_LAYER_MODE in thermodynamics to configure barotropic setup (Martin Losch) o moved some initialisations within bi,bj loop in dynamics (TAF flow dependency) o in initialise_varia, moved call packages_init_variables before convective_adjustment_init (corresponding adjustment of TAF tape initialisation). o in calc_diffusivity/calc_viscosity extended domain to full overlap. checkpoint45a_post o compute Rho over the whole domain (extend iMin,jMin indices) o specific exchange for X-slice domain (case Ny=1) o argument futureIter of S/R obcs_calc missing in exp4 & internal_wave /code o solve_for_pressure : set cg2d_x to zero where OBCS are applied checkpoint44h_post = checkpoint45 o Fix to restore differentiability: place at which packages_init_variables is called in initialise_varia is crucial for reverse control flow. o modifications in GMRedi to enable stable adjoint (corresponding modif's in thermodynamics, dynamics) o added missing hook for sponge layer code in external_forcing o modified test cost functions o storing in gad_advection (plus removal of write(0,*)! o missing headers TR1.h added in convective_adjustment routines o errorMessageUnit set non-equal zero in eeboot (conflict on some platforms, e.g. IBM SP3) o modified carbon verif. checkpoint44h_pre o vertical grid option: allow to put the Interface at the middle between 2 cell-centers ; replace delZ in pkg/kpp by drF. o GM Advective form: Tracers are advected using the residual transport (= Euler+GM-bolus); set param GM_AdvSeparate=T to return to previous form. checkpoint44g_post o fix surface correction term in multiDimAdvection (affects plume_on_slope results) ; ifdef missing in thermodynamics.F checkpoint44f_pre,checkpoint44f_post o added PTRACERS package This allows an arbitrary number of passive tracers to be integrated forward simultaneously with the dynamicaly model. + Implemented so far: - basic forward algorithm (time-stepping, advection, diffusion, convection) - I/O and checkpointing - GM/Redi *but* using the GM/Redi coefficient of Salt + Not implemented so far: - KPP - OBCS + No specific example supplied (yet) but global_ocean.90x40x15 has the necessary data.ptracer file. Simply use -enable=ptracers and uncomment line in data.pkg. + This package is disabled by default since it increases storage. o testscript: added -cleanup option o Shap_filt: a) new shap_filt S/R to use no-slip BC with S2 filter b) enable to filter 2D fields. checkpoint44e_pre,post o re-wrote convective adjustment to use pre-calculated weights Affects: model/src/convective_adjustment.F, convective_adjustment_ini.F Adds: model/src/convective_weights.F, convectively_mixtracer.F Original calls to convect() still in place. chkpt44d_pre,post o added missing EXCLUDE_MONITOR flags o changed "e" to "_d" in gmredi_slope_limit, gmredi_slope_psi (incompatible typ in MIN/MAX expressions caused problems on IBM SP3) o in genmake added variable MAKEDEPEND plus resetting for case SunOS o added timer_stats.c routine for IBM SP3 o removed variables in dynamics !!! I forgot to create tag chkpt44d_pre !!! !!! But chkpt44d_pre = chkpt44c_post !!! o real fresh water flux implemented with non-linear free-surface. chkpt44c_pre,post o few fix (mask in shap_s2, EmPmR in external_field_load, USE_NATURAL_BCS in solve_for_P); o add arguments myIter & myTime to S/R obcs_calc & solve_for_P checkpoint44b_pre/_post o merge of relevant stuff from the ecco-branch: - 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 added directive for divided adjoint in the_main_loop - pkg/mdsio: added mdsio_gl_slice o check parameters & config (chkpt44a_pre,post) o OBC and NonLin_FrSurf. checkpoint44 o fix bug in mom_vi_del2uv o select when filters are applied ; add options to zonal_filter (data.zonfilt) o gmredi: fix Pb in the adiabatic form ; add options (.e.g. Bolus advection) o update AIM experiments (NCEP input files) o improve and extend diagnostics (Monitor, TimeAve with NonLin-FrSurf) o added some stuff for AD 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