--- MITgcm/doc/tag-index 2008/02/25 20:59:01 1.961 +++ MITgcm/doc/tag-index 2008/11/26 15:27:02 1.1045 @@ -1,11 +1,283 @@ -$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.961 2008/02/25 20:59:01 mlosch Exp $ +$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.1045 2008/11/26 15:27:02 mlosch Exp $ $Name: $ Notes on tags used in MITgcmUV ============================== +o pkg/obcs: fix a CPP-flag, bug reported by Jeff Blundell +o gather_2d.F/scatter_2d.F: suppress vectorisation on NEC SX in respond to + a still unfixed compiler/optimization bug + +checkpoint61f +o pkg/seaice, LSR solver: fix bug in GLOBAL_MAX calls ; + update results of global_ocean.cs32x15.icedyn test. +o move getcon.F from model/src to pkg/fizhi. +o pkg/exf: add parameter for extrapolation of temp up to the surface + and option to prevent negative evap (in bulk_largeyeager04 only). +o Prather Advection scheme: fix tracer conservation for divergent flow + (e.g., when using NonLin Free-Surface). +o kpp: retire KPPmld diagnostics --> use MXLDEPTH instead +o gmredi (Visbeck-variable-K): + - add more parameters to Visbeck-variable-K. + - use a 5 points average for dSigmaR in Visbeck-K calculation + (more "homogenous": same stencil and same weights as in dSigmaH) + - update output of ideal_2D_oce experiment. +o fix CPP-flag REAL4_IS_SLOW, when _RS expands into real*4 + (#undef REAL4_IS_SLOW) + - pkg/mnc/mnc_cw_cvars.F: write _RS-grid variable as netcdf-real*4 + coordinate variable + - pkg/monitor/monitor.F: call mon_printstats_rs for _RS variables + (surface forcing fields), removes some of the functionality + - model/src/write_grid.F: write _RS variables as RS-netcdf variables + - model/src/diags_oceanic_surf_flux.F: fix a few diagnostics, but + probably not all: copy _RS surface flux fields to RL field before + calling DIAGNOSTICS_FILL + - model/inc/CPP_EEMACROS.h: make the _EXCH_*_RS macros expand into + real*4 (CALL EXCH_*_RS) versions. + - tested in 2 experiments: inverted_barometer & solid-body.cs-32x32x1 + (generate new output). + +checkpoint61e +o gmredi (Visbeck-variable-K): + - fix the "OLD_VISBECK_CALC" option + move the #undef to GMREDI_OPTIONS.h + - change computation of Visbeck-K where Slope > Smax : + now: N*min(Slope,Smax) (similar to OLD_VISBECK_CALC with gkw91 taperFct) + previously was: M*sqrt(min(Slope,Smax)) ; update ideal_2D_oce output. +o bottom-drag in P-coord.: change units of bottomDragLinear & bottomDragQuadratic + to be the same as with Z-coord. (i.e., m/s & no-units respectively). +o calc_viscosity: fix index range (was wrong for CD-Scheme & explicit Visc) +o pkg gmredi, linear & fm07 tapering: put an upper limit on Slope^2 so that Kwz + does not become too large (to avoid precision problems in implicit-diffusion + solver); update ideal_2D_oce output. +o pkg ggl90: + - in ggl90_cal.F: compute only one set of visc/diff, used to + step forward TKE/T/S/momentum + - default value of GGL90viscMax/GGL90diffMax larger and equal (to + have Prandlt =1) +o gmredi (fm07): + - add lower limit on Transition layer thickness + lower limit on 1/lambda + - allow to set few more params from data.gmredi +o pkg ggl90: + - add missing sqrt(2) factor in computation of mixing length + scale in ggl90_calc.F + (see Eq. (2.35) in Blanke and Delecluse, JPO, 1993) + +checkpoint61d +o adjoint modifs + - adapt to new field rhoInSitu + - allow to revert from StoreDynVars2D, StoreDynVars3D + to individual fields + (switches AUTODIFF_USE_OLDSTORE_2D, AUTODIFF_USE_OLDSTORE_3D) +o store 3-D (in-situ) density in commom block (DYNVARS.h) + - save 1 rho computation. + - no longer modify T & S inland when using down_slope pkg. +o gad_som : allow to switch to SOM advection for T & S without corresponding + pickup files (using new S/R: MDS_CHECK4FILE). +o keep removing _BEGIN/_END_MASTER between MDSIO S/R call + (for useSingleCpuIO to work in multi-threaded) +o pkg/shelfice: + - disentangle parameters: retire shelfIceFile in data/PARM05 and substitute + with SHELFICEtopoFile in data.shelfice + - move code for reading ice shelf topography and modifying hFacC into separate + subroutines of the shelfice package + - separate initialisation of "fixed" and "variable" variables + - kTopC is not (yet) replaced by kSurfC, although this is possible +o fix broken diagnostic SIatmFW and changed the units from m/s to kg/m^2/s +o add initialisation of deepFac if using Pcoords (new S/R set_grid_factors) + and rename: + ini_phiref.F --> set_ref_state.F (+ set anelastic factors) + ini_reference_state.F --> load_ref_files.F (- set anelastic factors) +o change FIND_RHO_SCALAR : return rho (instead of rho - rhoConst) + +checkpoint61c +o add option ALLOW_ADDFLUID and run-time selector "selectAddFluid" + to add mass source/sink of fluid in the interior (3-D generalisation + of oceanic real-fresh water flux). +o pkg/monitor: fix recip_dr argument in mon_advcflw2 call (-> advcfl_W_hf_max) +o vermix test experiment: switch from LINEAR EOS to MDJWF (not tested before) +o new pkg: down_slope + density-driven downsloping flow parameterisation (Tellus, 1999, 412-430). + - presently, modify T & S inland (dwnslp_calc_rho.F). + can be avoided if rho was stored in common bloc and used in calc_phi_hyd. + - implementation for ocean in P-coords not tested. + - add secondary test to global_ocean.90x40x15 (input.dwnslp) to check this pkg. +o move kSurfC,kSurfW & kSurfS from SURFACE.h to GRID.h (next to kLowC) + (to facilitate conversion of oceanic pkg to p-coordinate). +o change FIND_RHO to FIND_RHO_2D : + pass arguments tFld & sFld as local (tile) 2D-arrays ; +fix EOS_CHECK. +o new pkg: cheapaml + +checkpoint61b +o exch2: + change index bounds in rx2_cube exchanges (new S/R: EXCH2_GET_UV_BOUNDS) + - no longer depend on the order sequence (N,S,E,W). + - 3rd exchange no longer needed (tested with 24 tiles). + - same modif to hand-written adjoint S/R (global_ocean.cs32x15: zero diff) + - exch_UV_A-grid readily available (but not yet tested). + comment out 3rd exch call and remove copy of V to U at SE & NE face-corners + (both are no longer needed) in exch_uv: no effect in forward run; but + get truncation error differences with adjoint exch. +o exch2: + - change index-bounds storage (moved from target to local tile, + more intuitive this way) ; rename/remove some variables. + - change utils/exch2/matlab-topology-generator & code_mods accordingly. + +checkpoint61a +o exch2/matlab-topology-generator: + fix bug in index bounds for N-S internal exchange (hard to tell if this + had any effect on the solution). +o pkg/mnc: small fix in mnc_handle_err: make sure that length of msgbuf + is exceeded +o testreport: modify syntax of awk, so that it works also with + awk, and not only with nawk and gawk + +checkpoint61 +o autodiff + Change default for TAF usage by removing argument '-nonew_arg' + This changes TAF subroutine argument list (ordering of active var.) + Omission of this flag leads to incompatibility w.r.t. TAMC + To restore TAMC-compatibility, need following modifs: + * use adoptfile tools/adjoint_options/adjoint_tamc_compatibility + * use CPP option #define AUTODIFF_TAMC_COMPATIBILITY + Tested TAF version is 1.9.22 + N.B.: exch2 hand-written adjoint code currently not TAMC compatible + +checkpoint60 +--->>> This is the last checkpoint for which generating the adjoint +--->>> is done via the TAMC-compatibility TAF-flag "-nonewarg" +--->>> by default. +--->>> Future checkpoints will ommit this flag by default. +o pkg/generic_advdiff, os7mp: simplify and avoid division by zero. +o pkg/grdchk: Add gradient check to etan0 perturbations. +o pkg/exf: read ice area from file (#ifdef ALLOW_ICE_AREAMASK). +o pkg/autodiff: more flexibility in zeroadj. + model/src: modifying do_oceanic_phys.F accordingly. +o pkg/ctrl: Bounds for (kapgm,kapredi,eddypsi) parameter estimation. +o model/src and pkg/gmredi: GMREDI_WITH_STABLE_ADJOINT CPP option + special setup of gmredi for which the adjoint is stable + enough for parameter optimization. +o bridging the gap between eddy stress and GM. + -> eddyTau is replaced with eddyPsi (eddyTau = f x rho0 x eddyPsi) + along with a change in CPP option (now ALLOW_EDDYPSI). + -> when using GM w/ GM_AdvForm: + The total eddy streamfunction (Psi = eddyPsi + K x Slope) + is applied either in the tracer Eq. or in momentum Eq. + depending on data.gmredi (intro. GM_InMomAsStress). + -> ALLOW_EDDYPSI_CONTROL for estimation purpose. + The key modifications are in model/src/taueddy_external_forcing.F + pkg/gmredi/gmredi_calc_*F pkg/gmredi/gmredi_*transport.F + +checkpoint59r +o new S/R (pkg/mdsio/mdsio_facef_read.F) reading of sNx+1 x sNy+1 array + from per-face file (take S/R READSYMTILE_RS out of ini_curvilinear_grid.F); + fix option to read coriolis(@ cell-corner) from files with CS-grid. +o pkg/mnc: add some attributes to standard 1D-coordinate variables +o pkg/diagnostics: enforce missing_value attribute for scalar variables at + mass points, when using mnc for output + - add runtime parameter (missing_value, missing_value_int) to override + default (which is the value of getcon('UNDEF')) +o pkg/mnc: prepare mnc for the actual use of missing values with the + diagnostics package: small fix in mnc_cw_readwrite.template and more + initialisation of never used fields + - replace mnc_common.h and mnc_id_header.h with corresponding upper case + versions +o pkg/thsice/thsice_ini_vars.F added default initial values so that + thermodynamics sea ice solver does not blow up when some initial fields + are missing. +o move from external_forcing_surf.F to ini_forcing.F + the p-coord. hack consisting in using pLoad to set phi0surf ; + update output of tutorial_global_oce_in_p (affected @ truncation level). +o Freshen up a bit hs94.1x64x5, notably: + remove rotationPeriod and tRef=5*0. (adjoint only), and add + exactConserv=.TRUE. +o pkg/generic_advdiff: + change option GAD_ALLOW_SOM_ADVECT to GAD_ALLOW_TS_SOM_ADV which only + applies to files where Temperature & Salinity 2nd Order moments are used. +o pkg/ptracers: add second-order moment advection schemes (80 and 81); + this uses a dynamically allocated internal state data structure + (#define PTRACERS_ALLOW_DYN_STATE in PTRACERS_OPTIONS.h) + and requires a fortran 90 compiler + +checkpoint59q +o pkg/mom_vecinv: Add energy & enstrophy conserving scheme (selectVortScheme=3) + (from Sadourny, described by Burridge & Haseler, ECMWF Rep.4, 1977) +o Refresh tutorial_global_oce_biogeo, notably: + - change bathymetry (put back seamounts in ACC, use hFacs) + - change EOS (POLY3 --> JMD95Z) + - use Bryan-Lewis vertical diffusivity + - use multidimensional advection + - remove old virtual virtual in dic pkg, now done through ptracer pkg + - change a couple of parameters in dic pkg +o pkg/ctrl: change formula in adctrl_bound.F and add a parameter to ctrl_map_ini_gen.F +o pkg/obcs: change default to OBCSfixTopo = .true., + - set OBCSfixTopo=.false. in exp4/input/data.obcs to reproduce old result + - replace "debugMode" with "debugLevel .GE. debLevB" +o implementation of TAF directives for gchem,cfc,dic +o remove "exp5" (replaced by tutorial_deep_convection). +o pkg/obcs: add code to fix topography gradients normal to open boundaries; + this requires computing the index fields OB_Jn/Js/Ie/Iw in obcs_readparms; + the code can be turned on by setting OBCSfixTopo = .true. in data.obcs + --> changes results in exp4, seaice_obcs +o tutorial_deep_convection : + update the set-up and increase resolution and domain size ; start + from pseudo initial conditions = output at t=120mn in order to see + something happening when running testreport. +o pkg/seaice: add os7mp as an advection scheme + add check for advection schemes + add a flag for restoring T and S underneath sea ice +o pkg/my82: add netcdf-support and diagnostics +o thsice pkg: + - Now hsMax limits snow height by turning it into ice following + flooding scheme (and now conserving energy) + - Slight rewriting of the formula in thsice_calc_thick.F + - Parameter rhowi eliminated to be replaced by floodFac = (rhosw-rhoi)/rhos + --> changes results of global_ocean.cs32x15.icedyn and global_ocean.cs32x15.thsice + +checkpoint59p +o gchem / dic / cfc : + - add useDIC, useCFC , read from "data.gchem" (& hold in GCHEM.h); + - add new parameter files: "data.dic" & "data.cfc" ; + - various re-arrangement in initialisation & header file ; + - fix tutorial_global_oce_biogeo for multi-threaded test. +o pkg/dic: test for "pickup_dic" file when restarting ; + if no pickup-file, can restart with a re-initialised pH (same as it did + before) providing pickupStrictlyMatch is set to False. +o change argument list of S/R PTRACERS_WRITE_PICKUP & MYPACKAGE_WRITE_PICKUP + + fix call to S/R GGL90_WRITE_PICKUP & DIC_WRITE_PICKUP +o add a "warning" (to Error msg file) when an Active Tracer is not using AB-2 + and staggerTimeStep is off (needed for stability of Internal-wave dynamics). +o move out of PARAMS.h & data the last pieces of old-ptracer code: tauTr1ClimRelax, + & lambdaTr1ClimRelax ; put those 2 params in PTRACERS_PARAMS.h & data.ptracers + (note: not clear to me what lambdaTr1ClimRelax is still used for ...) +o pkg/mom_vecinv: - new parameter "selectVortScheme" to select which + scheme to use for vorticty-term ; + - compute upwindVorticity=T case within mom_vi_u/v_coriolis_c4.F + (with default selectVortScheme, return to original discretisation) + - remove weird combination (e.g.: upwindVorticity & highOrderVorticity) +o pkg/seaice: add a line to the summary to indicate grid type (B/C) +o in mom_calc_visc, fix average value of viscAh_W & viscA4_W next to the + bottom ; only used with variable horizontal viscosity and non-hydrostatic. + also fix diagnostics VISCAHW & VISCA4W. + +checkpoint59o +o dome/code/obcs_calc.F: avoid division by zero (detected using gfortran). +o change the loop ordering in most gad_*_adv_x.F to improve vectorization: + move a few statemens out the main loop into separate loops +o pkg/shelfice: + - sort out freshwater flux; convert freshwater fluxes to mass fluxes + (kg/m^2/s), does not break tests, because in verification/isomip, + rhoConstFresh=rhoConst (by accident) + - rearrange computation of tLoc, sLoc, pLoc to make code more efficient + - move S/R find_rho_scalar, pkg/ecco/sw_ptmp.F, pkg/ecco/sw_adtg.F into + new file model/src/seawater.F, so that they are available for all pkgs. + - convert potential temperature into in-situ temperature. This changes the + isomip tests => update tests o add a flag writePickupAtEnd (default=true) to be able to suppress writing a pickup at the last timestep +o tools/mpack-1.6 : + - disable automake (not working) and autoconf (not needed). + - update to version 1.6.4 which fix MD5 code on some 64 bits platforms + also cleaner with much less compilation warnings. o pkg/profiles: rename profiles_interp_mean_genericgrid as profiles_interp_mean_gg (for "less than 32 characters name" compiler requirement)