--- MITgcm/doc/tag-index 2002/04/06 01:36:25 1.70 +++ MITgcm/doc/tag-index 2003/02/18 05:33:53 1.134 @@ -1,8 +1,513 @@ -$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.70 2002/04/06 01:36:25 jmc Exp $ +$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.134 2003/02/18 05:33:53 dimitri Exp $ Notes on tags used in MITgcmUV ============================== +checkpoint48f_post +Merging from release1_p12: +o Modifications for using pkg/exf with pkg/seaice + - improved description of the various forcing configurations + - added basic radiation bulk formulae to pkg/exf + - units/sign fix for evap computation in exf_getffields.F + - updated verification/global_with_exf/results/output.txt +o Added pkg/sbo for computing IERS Special Bureau for the Oceans + (SBO) core products, including oceanic mass, center-of-mass, + angular, and bottom pressure (see pkg/sbo/README.sbo). +o Lower bound for viscosity/diffusivity in pkg/kpp/kpp_routines.F + to avoid negative values in shallow regions. + - updated verification/natl_box/results/output.txt + - updated verification/lab_sea/results/output.txt +o MPI gather, scatter: eesupp/src/gather_2d.F and scatter_2d.F +o Added useSingleCpuIO option (see PARAMS.h). +o Updated useSingleCpuIO option in mdsio_writefield.F to + work with multi-field files, e.g., for single-file pickup. +o pkg/seaice: + - bug fix in growth.F: QNET for no shortwave case + - added HeffFile for specifying initial sea-ice thickness + - changed SEAICE_EXTERNAL_FLUXES wind stress implementation +o Added missing /* */ to CPP comments in pkg/seaice, pkg/exf, + kpp_transport_t.F, forward_step.F, and the_main_loop.F +o pkg/seaice: + - adjoint-friendly modifications + - added a SEAICE_WRITE_PICKUP at end of the_model_main.F + +checkpoint48e_post +o New S/R for diagnostic of bottom pressure (phi0surf was missing in c48d_post) +o dynamics: change definition of computational domain & adapt mom_fluxform + accordingly ; when viscA4=0, allows to run the dynamics with Olx=Oly=2. +o following exp works with Olx=Oly=2 (and pass through checkbounds option): + adjust_nlfs.cs-32x32x1 adjustment.128x64x1 adjustment.cs-32x32x1 + exp0 exp1 exp2 exp4 exp5 hs94.cs-32x32x5 hs94.128x64x5 hs94.1x64x5 + global_ocean.90x40x15 global_with_exf global_ocean_pressure + inverted_barometer solid-body.cs-32x32x1 + (high order AdvScheme and/or multiDimAd works with Olx=Oly=2 ? not sure) + +checkpoint48d_post +o in preparation for r*: + a) use pre-computed gradient of hydrostatic potential: + changes in timestep.F & mom_cdscheme.F affects results of ideal_2D_oce + b) move phi0surf from calc_phi_hyd to calc_grad_phi_hyd: + => affects results of glob_oce_pressure (different truncation error) + update output.txt of ideal_2D_oce & global_ocean_pressure + +checkpoint48d_pre +o in preparation for r*: + new S/R (calc_grad_phi_hyd.F) to compute Hydrostatic potential gradient. + pass the 2 comp. of the grad. as arguments to momentum S/R. + but for the moment, only used if it does not change the results. +o add finite volume form of calc_phi_hyd for buoyancyRelation OCEANIC & OCEANICP + +checkpoint48c_post +Modifications in treatment of initial flux forcing controls +to avoid extra storing of flux fields. + +checkpoint48c_pre +o Added tidal_basin_2d experiment (currently 1D!) +o can use r* Coordinate with OBC (but Orlanski Rad. BC not yet implemented) + +checkpoint48b_post +o r* coordinate added in #ifdef NONLIN_FRSURF block. + (modification to pressure gradient not yet implemented) +o mom_fluxform: new S/R mom_calc_rtrans.F computes vertical transports + (for U & V) that are used for vertical advection of momentum. + +checkpoint48a_post +o In preparation for r*, use temp. array to compute vertical transport + in flux-form momentum pkg. => change results of few test-exp. + Update output of: exp4, exp5, front_relax, global_ocean_pressure, + lab_sea, natl_box & plume_on_slope + +checkpoint48 +o fix small bug that was causing lot of warning (TIMER_STOP 'UPDATE_CG2D') + +checkpoint47j_post +o add new exp. (ideal_2D_oce) to test "exotic" parameters and options. +o moved adexch from forward_step to addummy_in_stepping +o added exch in ctrl_map_... +o aveFreq.=0. at end of cost_final to avoid overwrite in + reverse checkpointing loop +o Yet more changes in gmredi: + * adgmredi_calc_tensor + avoiding all recomputation of gmredi_slope_limit + * adgmredi_x/y/rtransport + added flag for excessive storing to avoid recomp. of + u/v/rtans, dTdx/y/z + -> this is not really necessary and very memory-consuming + * adgmredi_slope_psi: + consistency with gmredi_slope_limit in treatment of GM_slopeSqCutoff + * gmredi_slope_limit + re-activated full calculation of taperfct for case 'ac02' +o updating verification/ adjoints of carbon, global_ocean.90x40x15 + +checkpoint47i_post +o GM_EXCLUDE_() replace GM_TAPER_(): by default, all the code is compiled. +o add GM_Small_Number & GM_slopeSqCutoff as run-time parameters (data.gmredi) + default values = 1.D-12 & 1.D+48 (=> give same results as checkpoint47f_post) +o cg2dTargetResWunit: define tolerance using deltaTmom (and not deltaTfreesurf) +o gmredi: fix few bugs. + +checkpoint47h_post (duplicate tag for PH's c48 tag, in order to move c48) +This will be a good checkpoint to plug into the ecco-branch. +o few modif.'s to get latest version adjointed + (mainly kick out code in ini_linear_phisurf) +o modif's to run adjoint with exactConserv +o case GM_BOLUS_ADVEC should be cleaned + S/R gmredi_slope_psi should be cleaned +o verification/carbon now has exactConserv=.TRUE. + +checkpoint47g_post +o time-average AIM output: becomes independent from statvars time-average + (can be used with #undef ALLOW_TIMEAVE) ; add new variables (e.g., RH) +o After TAF bug fix: + Tested adjoint of gmredi package. + Tests were done with checkpoint47 rather than with latest + checkpoint47f_post since the latter is broken for the adjoint + verification/carbon/ contains both ADM and TLM gradient checks. +Here they are, before they get changed/lost/stolen. +Mostly modif.'s to fix numerical sensitivities. +Gradient checks OK for +- GM_taper_scheme: + * clipping + * ac02 + * linear + * glw91 + * dm95 + * ldd97 +- GMREDI_OPTIONS: + * GM_VISBECK_VARIABLE_K + * GM_NON_UNITY_DIAGONAL + * GM_EXTRA_DIAGONAL + * GM_BOLUS_ADVEC +in conjunction with data.gmredi parameters to be checked in +in a few minutes under verification/carbon/code/ + +checkpoint47f_post +Merging from release1_p10: +o modifications for using pkg/exf with pkg/seaice + - pkg/seaice CPP options SEAICE_EXTERNAL_FORCING + and SEAICE_EXTERNAL_FLUXES + - pkg/exf CPP options EXF_READ_EVAP and + EXF_NO_BULK_COMPUTATIONS + - usage examples are Experiments 8 and 9 in + verification/lab_sea/README + - verification/lab_sea default experiment now uses + pkg/gmredi, pkg/kpp, pkg/seaice, and pkg/exf + +checkpoint47e_post +o created a tag prior to creating a branch + +checkpoint47d_post +o fixed bug in the oceanic pressure coordinates code: vertical viscosity + at the bottom boundary had an erroneous half slip boundary condition +o added bottom drag and no slip boundary condition capabilities to + oceanic pressure coordinates code +o added new verification experiment global_ocean_pressure, this experiment is + also described in the tutorial section of the manual +checkpoint47d_pre + +checkpoint47c_post +o Added a verification experiment for a global cubed-sphere ocean run + - verification/global_ocean.cubed32x32x30 + - uses pkg/therm_seaice and pkg/bulk_forcing + +o allow to run AIM physics with SPEEDY input files (from Franco Molteni) +o allow a more accurate definition of Ro_Surf (selectFindRoSurf=1) + when using P-coordinate; only implemented for atmospheric config. +o OCEANICP & realFreshWater: include P-E direct effect on wVel ; + NOTES: requires option NONLIN_FRSURF to be "#define". +o update advect_xz/results/output.txt (left from checkpoint44g_post) + +checkpoint47b_post +Merging from release1_p9: +o pkg/seaice + - removed GOTO's and added taf directives + - double precision constants to reduce the g77 (Linux) + to F77 (SGI) differences reported in release1_p8 +o tools/genmake + - added SGI options +o verification/testscript + - updated to that of checkpoint47a_post +o verification/global_ocean.90x40x15/input/eedata + - modified for SGI f77 compatibility +o verification/lab_sea + - added description of sea-ice model + - added missing matlab routines + - added test of thermodynamics parallelization + +checkpoint47a_post +o new pkg: aim_v23 + = F. Molteni atmos.physics (SPEEDY, ver23) adapted to MITgcm. + for now, keep the same surface forcing as before. + - Part-Cell implemented into AIM; check that Heat & Water are conserved + - aim.5l_cs: use new aim pkg (run 10yr & get better results than before) + - aim.5l_LatLon & aim.5l_Equatorial_Channel are still using old aim pkg +o add diagnostic of surface correction term in monitor output + +o bulk_force and therm_seaice +- Two packages: bulk_force (Bulk forcing) + and therm_seaice (thermodynamic_seaice) - adopted from LANL CICE.v2.0.2 +- Earlier integration from Stephaine Dutkiewicz + and Patrick Heimbach. +- Two ifdef statements for compile time, + ALLOW_THERM_SEAICE and ALLOW_BULK_FORCE + +checkpoint47 +differentiable version of checkpoint46n_post +o bug fix in quasihydrostaticterms +o * "clean" adjoint code (in terms of extensive recomputations) + can now be obtained for all GMREDI options (i.e. for + - GM_VISBECK_VARIABLE_K + - GM_NON_UNITY_DIAGONAL + - GM_EXTRA_DIAGONAL + - GM_BOLUS_ADVEC ) + * However, wrong gradient check problem remains unsolved. + * New CPP options have been introduced for different + tapering schemes +o external_fields_load now part of differentiation list +o pressure needs multiple storing; + would be nice to have store_pressure at beginning or + end of forward_step, e.g. by having phiHyd global (5-dim.) + (NB: pressure is needed for certain cases in find_rho, + which is also invoked through convective_adjustment). +o recomputations in find_rho for cases + 'JMD95'/'UNESCO' or 'MDJWF' are OK. +o #define ATMOSPHERIC_LOADING should be differentiable +o ini_forcing shifted to begining of initialise_varia +o Incorporating QNVS line search routines into MITgcm + (this is separate code, and therefore not under pkg) + lsopt/, optim/ +o Updated verification/carbon/ + - #define GM_VISBECK_VARIABLE_K + - GM_taper_scheme = 'ldd97' + +checkpoint46n_post +Merging from release1_p8: +o verification/natl_box: + updating new external_fields_load routine +o New package: pkg/seaice + Sea ice model by D. Menemenlis (JPL) and Jinlun Zhang (Seattle). + The sea-ice code is based on Hibler (1979-1980). + Two sea-ice dynamic solvers, ADI and LSR, are included. + In addition to computing prognostic sea-ice variables and diagnosing + the forcing/external data fields that drive the ocean model, + SEAICE_MODEL also sets theta to the freezing point under sea-ice. + The implied surface heat flux is then stored in variable + surfaceTendencyTice, which is needed by KPP package (kpp_calc.F and + kpp_transport_t.F) to diagnose surface buoyancy fluxes and for the + non-local transport term. Because this call precedes model + thermodynamics, temperature under sea-ice may not be "exactly" at + the freezing point by the time theta is dumped or time-averaged. + N.B.: fairly large differences in accuracy occur across + different platforms/compilers; comparison between + g77 (Linux) and F77 (SGI Origin 2000/MIPSpro) + generated output gives: + T S U V + C D M c m s m s m s m s + n p a R g m m e . m m e . m m e . m m e . + f n k u 2 i a a d i a a d i a a d i a a d + g d e n d n x n . n x n . n x n . n x n . + + Y Y Y Y 5 5 7 7 7 8 10 9 6 6 6 6 7 5 7 5 7 FAIL lab_sea +o GAD: + - generated new common blocks to account for call of + same gad routines with differing traceridentities + (needed to modify tracerIdentity indices in GAD.h) + - generated separate common blocks for case useCubedSphereExchange + (Department of Futurology) + - parameter lists to gmredi_?transport: added tracerIdentity + - added new key indices to tamc.h +o external_fields_load: + - added this routine to TAF list + - needed to make some common blocks global and additional storing + along the same lines as exf package (checkpoint_lev?_directives.h) +o exf: + updated external forcing package + - bug fixes carried over from ecco-branch + (missing OBCS_OPTIONS.h in two routines) + - enable easy to use "no forcing". + - added exf I/O for atmospheric loading + - added exf I/O for runoff data + - transfered scaling between exf <-> MITgcm to exf namelist +o Adding new verification experiment global_with_exf. + This verification experiment is almost identical to the + global_ocean.90x40x15 experiment, except that it uses + the exf (and cal) package instead of the + external_fields_load routine (cf README file). + +checkpoint46m_post +o modified testscript to return -- when there are no lines of "%MON" output +o added new flag "quasiHydrostatic" for QH mode + and new routine quasihydrostaticterms() +o added 2*Omega*Cos(phi)*W to u equations (non-hydrostatic Coriolis term) + New routine: mom_u_coriolis_nh() +o fixed sign of non-hydrostatic metric terms in u and v equations. + Depend on correct sign of gravitySign. +o added work.pc* to .cvsignore in aim directories using ifc +o introduced flag for controllin non-hydrostatic metric terms +o removed gravitySign from PARM04 +o switched to g77/ifc from pgf77 in aim experiments + +checkpoint46l_post +o made convective adjustment work with pressure coordinates: + - changed the direction of k-loop in convective_adjustment.F for the + case of pressure coordinates (OCEANICP,ATMOSPHERIC buoyancyRelation) + - adjusted the reference pressure k-index in convective_adjustment.F + - adjusted the convection condition in convect.F (in analogy to + calc_ivdc.F) + - convective_adjustment no longer computes anything on the halos + - removed the warnings about negative salinity from find_rho.F and + find_alpha.F; instead the new routine look_for_neg_salinity, called + at the beginning of find_rho, find_alpha, and find_beta, does a + check of the entire slice, if CPP-option + CHECK_SALINITY_FOR_NEGATIVE_VALUES is defined +checkpoint46l_pre + +checkpoint46k_post +o fixed the verification/global_ocean.90x40x15 experiment: + - new bathymetry (the world according to A., JMC, and M.) + - new initial fields and forcing fields (*.bin files) + - new POLY3.COEFFS (for the next release one should switch to a full + equation of state: JMD95P or MDJWF) + - fixed several errors and redundancies in the data file + - experiment uses looped cells + - added matlab directory with diagnostic scripts for plotting of output + +o S/R aim_initialise.F replace S/R aim_init from file aim_do_inphys.F: + - read AIM physics parameters from a file (data.aimphys) + - set defaults values = F.Molteni paper (Clim.Dyn., 2002) + +checkpoint46j_post +o split calc_exact_eta in 2 S/R : integr_continuity & update_etaH +o move wVel computation at the end of the time step, in S/R integr_continuity +o create specific S/R to exchange T,S before DYNAMICS (for stagger time step) +o update timeave pkg for wVel diagnostic. +checkpoint46j_pre + +checkpoint46i_post +o Clean up AIM package (and keep the results unchanged): + include CPP_OPTION and use IMPLICT NONE in all routines ; + declare all the variables _RL ; use _d 0 for all numerical constants. + use ifdef ALLOW_AIM everywhere. And now AIM can be used with g77 ! + +checkpoint46h_post +o cleaned up the use of rhoNil and rhoConst. + - rhoNil should only appear in the LINEAR equation of state, everywhere + else rhoNil is replaced by rhoConst, e.g. find_rho computes rho-rhoConst + and the dynamical equations are all divided by rhoConst +o introduced new parameter rhoConstFresh, a reference density of fresh + water, to remove the fresh water flux's dependence on rhoNil. The default + value is 999.8 kg/m^3 +o cleanup up external_forcing.F and external_forcing_surf.F + - can now be used by both OCEANIC and OCEANICP +checkpoint46h_pre + + Added code to convert surface volume flux (fresh water) into + a mass flux when using P coordinates in the ocean (OCEANICP). + Note: It assumes you have set rho0=rhoConst=density of fresh water. + +checkpoint46g_post +o Include a new diagnostic variable phiHydLow for the ocean model + - in z-coordinates, it is the bottom pressure anomaly + - in p-coordinates, it is the sea surface elevation + - in both cases, these variable have global drift, reflecting the mass + drift in z-coordinates and the volume drift in p-coordinates + - included time averaging for phiHydLow, be aware of the drift! +o depth-dependent computation of Bo_surf for pressure coordinates + in the ocean (buoyancyRelation='OCEANICP') + - requires a new routine (FIND_RHO_SCALAR) to compute density with only + Theta, Salinity, and Pressure in the parameter list. This routine is + presently contained in find_rho.F. This routine does not give the + correct density for 'POLY3', which would be a z-dependent reference + density. +o cleaned up find_rho + - removed obsolete 'eqn' from the parameter list. +o added two new verification experiments: gop and goz + (4x4 degree global ocean, 15 layers in pressure and height coordinates) +checkpoint46g_pre + +checkpoint46f_post +o Enable tangent linear (forward mode) gradient checks: + - extended active file handling to g_... files + - added TANGENT_SIMULATION to theSimulationMode + - extended grdchk package accordingly +o added tangent linear setup in verification/carbon/code_ftl +o added adjoint setup in verification/front_relax/code_ad + +checkpoint46e_post +o Added new equation of state -> MDJWF + - EOS of McDougall et al., 2002, JAOT, submitted + - caveat: the equation of state is only valid for a smaller (more + realistic?) range of values than JMD95P/Z and UNESCO + - added masks to the calculation of pressure in store_pressure + - added more check values for density in check_eos (ini_eos.F), some of + the old check values are out of the range of the MDJWF-eos, so don't + expect perfect matches for those +checkpoint46e_pre + +checkpoint46d_post +o fixed store_pressure to work with both buoyancy relation = 'OCEANIC' and + 'OCEANICP', also initialised field pressure correctly in ini_eos in the + case of pressure coordinates. eosType='JMD95Z' in + combination with buoyancyRelation='OCEANICP' now causes an error. +o Changed p = pressure(i,j,k,bi,bj) to p = pressure(i,j,kRef,bi,bj) + in find_alpha/beta. +checkpoint46d_pre + +o Changed p = pressure(i,j,k,bi,bj) to p = pressure(i,j,kRef,bi,bj) + so that JMD95Z and JMD95P give approptiate static stability in find_rho. + +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, JAOT + - 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