--- MITgcm/doc/tag-index 2007/11/28 00:18:16 1.912 +++ MITgcm/doc/tag-index 2009/04/02 21:47:23 1.1084 @@ -1,9 +1,559 @@ -$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.912 2007/11/28 00:18:16 dimitri Exp $ +$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.1084 2009/04/02 21:47:23 jmc Exp $ $Name: $ Notes on tags used in MITgcmUV ============================== +o experiment fizhi-cs-aqualev20: + switching to new version of S/R GETPWHERE (#define TRY_NEW_GETPWHERE) + and generate new output. Note: new output is much closer to the old + one (v1.8) generated with pgf77 -O2 on Mar 14 2007 than it is from + the previous one (v1.9) generated with pgf77 -O0 on Jun 13 2007. +o pkg/fizhi: + - change to avoid indices going deliberately over array-bounds + - remove unnecessary MPI stuff + - perpetual spring equinox with "#define FIZHI_USE_FIXED_DAY" + - new version of S/R GETPWHERE available with #define TRY_NEW_GETPWHERE: + does not go over array-bounds and therefore returns reliable output. + - in fizhi_driver.F & fizhi_turb.F, fix "get_alarm" calls: + this S/R has 4 output arguments, which are used inside "get_alarm"; + when it is called with the same variable "ndum" in place of several + output arguments, this produces weird side effect inside "get_alarm" + (e.g., datein=dates(n) is overwritten by timein=times(n) since both + datein & timein, resp. 2nd and 3rd arg., are pointed to the same "ndum" + address) and produces error. +o lab_sea experiment: change from 2x1 tiles to 2x2 tiles and regenerate output +o pkg/seaice: fix bug in new version of S/R SEAICE_LSR.F: + update lab_sea.lsr & lab_sea.salt_plume results +o pkg/seaice: + Major overhaul of the LSOR solver: change discretization from original + finite differences to finite volume. The old routine is still in the + file seaice_lsr.F and can be turned on with the CPP-flag + SEAICE_OLD_AND_BAD_DISCRETIZATION + Along with this change, the discretization of the strain rates is changed. + The same flag turns on the old discretization in seaice_calc_strainrates.F + All verification experiments with seaice are affected (except for + seaice_exf_offline); global_ocean.cs32x15/input.icedyn recovers the old + results by setting the above flag. + Further changes involve changes in defaults: + - ALLOW_FLOODING is defined and turned on by default + - SEAICE_advSnow = .true. is now the default + - SEAICE_advSalt = .true. is now the default + - SEAICE_advAge = .true. is now the default + - SEAICE_clipVelocities = .false. is now the default + (as per J. Zhang's recommendation) + - B-grid, and thus not tested: SEAICE_TEST_ICE_STRESS_1/EXPLICIT_SSH_SLOPE + is defined, SEAICE_TEST_ICE_STRESS_1 is renamed into SEAICE_BICE_STRESS + - seaice_growth: replace computation of UG by a simple copy from wspeed + +checkpoint61k +o pkg/seaice: a few bug fixes mostly concerning the metric terms: + seaice_lsr: fixed a few metric terms, + affects lab_sea.lsr, lab_sea.salt_plume, seaice_obcs + add more debugging diagnostics + seaice_evp: removed superfluous many metric terms of FV discretization + of stress divergence + affects lab_sea, lab_sea.hb87 + seaice_ocean_stress: removed superfluous many metric terms of FV discretization + of stress divergence for non-evp solver + (this part is not tested anywhere) + seaice_calc_strainrates: fixed a bug in no-slip boundary conditions, + they were effectively only half slip + affects lab_sea.hb87 + updated all relevant verification experiments (except lab_sea//output_adm.txt + which was left over, but fails at level 7 & 6) + +checkpoint61j +o pkg/seaice: turn a few hard wired parameters into run time parameters +o pkg/seaice/exf/monitor: turn netcdf coordinate variable T into model + time in seconds as promised by the usints in seaice_monitor and exf_monitor +o pkg/mnc: fix the coordinate variables for multi-tile curvi-linear grids + that are not cubed-sphere grids +o pkg/seaice: fix a bug for the rare case of SEAICE_VECTORIZE_LSR +o pkg/ctrl: + fix bug in ctrl_depth_ini.F (EXCH_XYZ was applied to 2-D field xx_r_low) +o non-hydrostatic (calc_gw.F): + fix viscA4 on CS-grid + fix diagnostics: Wm_Diss & Wm_Advec + update output of exp. global_ocean.cs32x15.viscA4 +o remove backward compatibility for thetaMin,phiMin + (replaced by xgOrigin,ygOrigin on Jan 27, 2009) +o pkg/exf: fix a serious bug in exf_set_uv.F: do a rotation of the + interpolated wind field not only for curvilineargrid=.true., but also + for a rotated grid (rotateGrid=.true.) +o pkg/exf: add capability to bypass interpolation for runoff + by setting yet another CPP-flag +o eesupp/src, B-grid exchange: + add simple (6 tiles, non MPI) CS exch + standard interface S/R. +o autodiff + new CPP option ALLOW_TAMC_SINGLEPREC_COMLEV + allows to switch to single-prec common blocks; + corresponding switch occurs in tamc.h, integer isbyte + TAF store directivs "byte" and "kind" seem equivalent; + Most tamc.h have been updated correspondingly. + +checkpoint61i +o autodiff: + fix autodiff_sore/_restore indices for obcs + (spotted by I. Hoteit, M. Mazloff) +o pkg/autodiff, pkg/ctrl: + Add flag to reduce all tapelev I/O to single-prec. + In data.ctrl set + doSinglePrecTapelev = .TRUE. +o model/src/ini_curvilinear_grid.F, new grid-file format without EXCH2: + check in hack for SX8 compiler (for dxV, dyU); remove it afterwards. +o pkg/shelfice: fix bug with SHELFICEconserve flag, prepare for + real fresh water flux (not yet) +o pkg/mdsio & rw: + - add argument & option to S/R MDS_WRITEVEC_LOC (avoid Open/Close & write-meta) + - add simple interface S/R to MDS_WRITEVEC_LOC in pkg/rw: WRITE_GLVEC_RX. +o pkg/flt: + - replace FLT_INIT by 3-steps standard initialization S/R: readparms, + init_fixed & ini_varia. + - clean-up & simplify linear interpolation S/R: + move flt_bilinear.F -> flt_interp_linear.F ; add arg. myThid. + - fix some indices (mainly vertical index) ; add IMPLICIT NONE. + - more efficient I/O, using new options of MDS_WRITEVEC_LOC S/R. + - add vert. coordinate & horiz. indices to output files. + - change vertical position in initial condition, from index to depth [m]. + - store horizontal (decimal) indices i,j in common block (instead of coord. x,y) + (easier to get to a curvilinear grid) ; delX,delY no longer used. +o pkg/ggl90: a few modifications: + - fix bottom boundary condition, and interpolation of KappaE + near top and bottom + - use same set of viscosity/diffusivity for TKE/momnetum/tracer + - add smoothing option as in Blanke and Delecluse (1993) (--> ALLOW_GGL90_SMOOTH) + - add a few options for mixing-length upper limit (--> mxlMaxFlag) +o rename thetaMin,phiMin -> xgOrigin,ygOrigin + (maintain temporary backward compatibility, until next checkpoint) + +checkpoint61h +o pkg/diagnostics with "periodic averaging diagnostics": + fix S/R DIAGNOSTICS_COUNT ; hack diagnostics_out.F to get NetCDF output. +o pkg/my82: add missing "_d 0" ; update output of exp. vermix.my82 +o pkg/obcs: fix loop ranges for balancing code +o pkg/flt: + - improve criteria for finding which tile owns a float. + - fix FLT_EXCH for case without MPI ; apply cyclic BC + fix also the MPI case. +o Add well-mixed CO2 box in aim_v23 (which includes changes in pkg + aim_compon_interf, ocn_compon_interf, gchem, and dic to get coupling + with ocean biogeo) +o pkg/flt: + - do some cleaning and fix the restart ; + - add output.txt in flt_example/results to get this pkg tested. +o genmake2: add an EXTENDED_SRC option and flag. + for now, cannot be turned on on command line (only through genmake_local) +o pkg/mdsio: read/write vector: + - singleCpuIO: fix RL/RS in MDSWRITEVECTOR by calling new S/R MDS_BUFFERtoRL/RS + - singleCpuIO=F: fix arrType & filePrec & _BYTESWAPIO in both MDSREADVECTOR + & MDSWRITEVECTOR by calling new S/R MDS_RD/WR_VEC_RL/RS. + - affects gradient of test-exp "bottom_ctrl_5x5" (not due to _BYTESWAPIO) + (drop to 4 digits matching for grad). But this test does not look very + reliable (was already failling on eddy, fc5, at 6.digits). Update output. + +checkpoint61g +o pkg/flt: + - move FLT_CPPOPTIONS.h to FLT_OPTIONS.h (standard name) + + make OPTIONS file more standard. + - rename S/R MDSREADVECTOR_FLT to FLT_MDSREADVECTOR (to mach src file name) + - fix _BYTESWAPIO CPP-Flag + - standard reading of file-parameter "data.flt" + - fix argument list of S/R FLT_RESTART + still need to fix _BYTESWAPIO in pkg/mdsio/mdsio_writevector.F +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) +o pkg/obcs and pkg/exf: added capability to specify seaice open boundary + conditions that have a different sampling frequency than S/T/U/V obcs +o pkg/diagnostics (stats-diags): + - fix global Min/Max in case 1 processor get only empty tiles +o genmake2: replace (4 times) + make genmake_tc_1.o >> genmake_warnings 2>&1 + with + COMM="$CC $CFLAGS -c genmake_tc_1.c" + echo $COMM >> genmake_warnings + $COMM >> genmake_warnings 2>&1 + to make genmake2 always see the value of CC as specified in the optfile. +o generic_advdiff: - prather advection scheme (SOM) coded for CS-grid. + - add diagnostics for 1srt & 2nd Order moments and sub-grid variance. + - modify verification advect_cs test to test SOM-advection on CS-grid. +o pkg/ctrl: + - Rewrite of ctrl_map_ini_ecco.F, + introducing a generic routine (ctrl_map_ini_gen.F). + - Modification of ctrl_bound/adctrl_bound handling control vector bounds. + +checkpoint59n +o pkg/diagnostics: for large number of diagnostics, store diagnostic mate + number in dedicate array "hdiag": + - new version of S/R DIAGNOSTICS_ADD2LIST : DIAGNOSTICS_ADDTOLIST + with 1 more argument (mate number); modify old version DIAGNOSTICS_ADD2LIST. + - many small changes (integer format) for large number of diagnostics + - start to use DIAGNOSTICS_ADDTOLIST (necessary for diagnostics with + a counter mate) in pkg diagnostics, ptracers, thsice & aim_v23. +o add parameter rotateGrid and Euler angles EulerPhi/Theta/Psi. For + usingSphericalGrid, this allows to define the rotated grid coordinates + via phiMin/thetaMin/dxSpacing/dySpacing, etc., but then re-compute the + geographical coordinates according to the inverse of the rotation defined + by the Euler angles, so that Coriolis parameter and online-interpolation by + exf works with the geographical coordinates on XC/YC/XG/YG. + Naturally, this feature does not work with all packages, so some + combinations are prohibited in config_summary (flt, flt_zonal, ecco, + profiles), because there the coordinates are assumed to be regular + spherical grid coordinates. +o pkg/gmredi,ctrl,ecco,autodiff,grdchk and model/src,inc: + - introduce isopycnal diffusion coefficient control. +o tools/adjoint_options: + - additional control vector components. +o pkg/mnc: have mnc create marginally meaning full coordinate variables + (that is the grid indices) if usingCurvilinearGrid and NOT EXCH2 +o pkg/mypackage: + - add example of read/write pickup for state-var ; + - add entry points to the main code for state-vars diags & write-pickup. +o pkg/exf: rewrite of exf_getffieldrec.F to properly deal with year + transitions for useExfYearlyFields + - add new subroutine that determines the file to read from for + use*YearlyFields = .TRUE. and .FALSE. + - add a verification experiment to global_with_exf that tests + useExfYearlyFields with USE_EXF_INTERPOLATION defined +o pkg/obcs/exf: add useOBCSYearlyFields (=.FALSE.) to obcs with exf in + analogy to useExfYearlyFields; rearrange obcs_prescribe_read: two new + subroutines (which could be generated from a template, because they are + almost identical), for now they are included in obcs_prescribe_read.F for + simplicity +o pkg/exf: + - add a little more diagnostic to exf_interp_read (in analogy to + mds_read_field, can be turned off with debugLevel < debugLevA=1) + - improve vectorizability of exf_interp for TARGET_NEC_SX, makes code + ugly but fast by unrolling short inner loops, inserting a unroll=8 + directive in routine lagran, and splitting a loop and making do while the + outermost loop (the latter requires the intoduction of index arrays) +o pkg/obcs: replace obcs_apply_area/heff/hsalt/hsnow with obcs_apply_seaice +o pkg/seaice: moved DIFFERENT_MULTIPLE from seaice_model to seaice_dynsolver + http://forge.csail.mit.edu/pipermail/mitgcm-devel/2008-January/003173.html +o verification/seaice_obcs: updated for restart test and latest options +o pkg/seaice: add a new flag SEAICEuseTEM to use a slightly different + ice rheology (so-called truncated ellipse, that gets rid of tensile stress); + for now this is only available for the C-grid code and also within + #ifdef SEAICE_ALLOW_TEM, because this option may slow down the EVP code + +checkpoint59m +o pkg/seaice: use different time constant for melting (SEAICE_gamma_t) + and freezing (SEAICE_gamma_t_frz) ice due to mixed layer temperature +o gad_som : fix flux output (& diagnostics) to have same units as other + advection scheme fluxes (was previously multiplied by deltaT). +o added verification/seaice_obcs both to test seaice open boundaries + and to provide an example matlab scrpt for generating them +o added verification/lab_sea/input.salt_plume for testing pkg/salt_plume +o pkg/salt_plume: clean up salt_plume_frac.F to + remove redundancy in PlumeMethod 1 and 4 +o pkg/kpp: added saltplume diagnostics +o pkg/obcs and pkg/seaice: + - do not set uice and vice to zero when OB*icefile are unspecified + - OBCS_SEAICE_AVOID_CONVERGENCE is undefined by default + - moved seaice tracer obcs after call to seaice_growth +o pkg/salt_plume: added various options for salt plume depth + criterion and for vertical distribution of the salt + +checkpoint59l +o pkg/ptracers: new version of ptracers pickup: + read meta file and write only fields which are needed to restart. + ( same logic as main pickup file ; also using pickupStrictlyMatch ) +o pkg/seaice: + - add timescale for melting due to warm mixed layer as a means of + setting SEAICE_availHeatFrac more conveniently + - add a CPP-flag/runtime parameter check for flooding algorithm + - reformulated availHeat in seaice_growth.F to be independent of AREA +o change units attribute of EmPmR netcdf variables to kg/m^2/s to reflect recent + unit changes +o pkg/obcs: added OBCS_SEAICE_AVOID_CONVERGENCE constraint +o cg2d.F: add 3 compiler directives that speed up this routine by 30% on a NEC + SX vector computer. +o pkg/seaice: + - removed SEAICE_FFIELDS.h and seaice_get_forcing.F + seaice forcing fields can now be read only through pkg/exf + - removed some unused halos +o no longer write pickup from THE_MODEL_MAIN but always from FORWARD_STEP +o pkg/exf: added useRelativeWind EXF_PARAM.h option for subtracting U/VVEL + or U/VICE from U/VWIND before computing U/VSTRESS + +checkpoint59k +o pkg/seaice: ICE2WATR=SEAICE_rhoIce/rhoConst for consistency between + dynamics and thermodynamics. Set ICE2WATR=0.92 to reproduce older results. +o fix un-initialised variable problem (in mom_vecinv & shap_filt): + all experiments pass when compile with un-initialised var. checking option. o added pkg/salt_plume o script to test restart (for now, in MITgcm_contrib/jmc_script) o pkg/seaice: new read/write pickup version. @@ -1896,7 +2446,7 @@ - my82 (Mellor and Yamada, 1982) level 2 turbulence closure scheme - these scheme operate in a similar manner as KPP (without ghat, of course), however there is only one diffusivity that is used for both - temperature and salinity (and passive tracers)ç + temperature and salinity (and passive tracers) o add offline package o add "verification/dic_example" which contains a dic-gchem-ptracer setup provided by Stephanie Dutkiewicz