--- MITgcm/doc/tag-index 2007/05/10 16:55:58 1.812 +++ MITgcm/doc/tag-index 2007/08/17 20:51:27 1.859 @@ -1,10 +1,180 @@ -$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.812 2007/05/10 16:55:58 heimbach Exp $ +$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.859 2007/08/17 20:51:27 jmc Exp $ $Name: $ Notes on tags used in MITgcmUV ============================== +o add few EXCH S/R (UV_BGRID, UV_DGRID, SM) for B & D-Grid velocity & 2nd Moment Sxy. +o pkg/cd_code: use the right EXCH calls (for CS-grid); but problem remains + at face corners. +o pkg/generic_advdiff: + - in GAD.h, define as parameters (iMinAdvR,iMaxAdvR,jMinAdvR,jMaxAdvR) + loop range indices for computing vertical advection tendency + and do the calculation in the interior only (no overlap) ; + for now, only implemented for SOM advection (to save CPU time). + - add argument "withSigns" to S/R FILL_CS_CORNER_TR_RL (needed for SOM_xy moment) +o exch2 adjoint + First set of changes: + - add exch2 hand-written adjoint templates + - exch2 hand-written no longer use TAF-flag 'nownew_arg' + This will require cleanup in pkg/autodiff/*.F + (changed routines currently kept separate in verif. code/) + - Comment all relevant #ifndef ALLOW_AUTODIFF_TAMC + that used to hide exch2 or cubed-sphere specific code + (commented via 'cph-exch2') +o pkg/seaice + - Close southern and western boundaries for UICE/VICE when useOBCS=.TRUE. +o pkg/bulk_force: fix loading into Qsw of Short-Wave flux; and update + output of global_ocean.cs32x15.thsice . + +checkpoint59e +o exch2: new S/R that only use the cube-tracer (center-position) exchange: + for B-grid vector (not yet tested) and C-grid vector (<- only used + when option W2_USE_R1_ONLY in W2_OPTIONS.h is defined). +o starting implementation of Duffy et al. (GRL 1999) salt plume scheme + (#ifdef ALLOW_SALT_PLUME) +o gather_2d/scatter_2d: removed halo regions +o gmredi: add option (GM_taper_scheme='fm07') for Ferrari & McWilliams 2007 + scheme and the corresponding test case (under front_relax dir). For now, + only available with Skew-flux form and not yet tested in realistic set-up. + adjoint: store directives updated, but gradient checks deteriorated, + so maybe GM/Redi adjoint is now broken. +o seaice adjoint + * add AREA, HEFF, HSNOW as control variable + (should not change lab_sea results) + * CTRL_OPTIONS.h needs new flag: CTRL_SET_OLD_MAXCVARS_40 +o pkg/seaice: + * added computation of saltFlux in seaice_growth; + For time being, sea ice salinity is assumed constant + contribution of snow flooding to freshening of sea ice is neglected. + SEAICE_salinity is set in SEAICE_PARM01 of data.seaice and it + defaults to 0.0 in order to maintain backward compatibility. + Typical values for SEAICE_salinity are 4 to 10 g/kg. + * replaced dRf(1) with dRf(kSurface)*hFacC(kSurface) in seaice_growth.F + * added SEAICE_availHeatFrac, which specifies fraction of surface level + heat content used to melt or grow ice + * commented out cap of HICE: it helps keep ice thinner + * reintroduced cap of HEFF via MAX_HEFF and SEAICE_CAP_HEFF option + * applied OBCS T/S mask to HEFFM sea ice mask + +checkpoint59d +o standard name: {PKG}_DIAGNOSTICS_STATE to fill diagnostics array + for {PKG} state variables, and called from DO_STATEVARS_DIAGS. + (keep {PKG}_DIAGNOSTICS_FILL for non-state variables diagnostics) +o pkg/gmredi (gmredi_readparms.F): add some missing "_d 0" + and change default value of parameter "GM_Small_Number"; + update output of exp: lab_sea (x2), cfc_example, global_ocean.90x40x15, + global_ocean.cs32x15 (x4), global_ocean_ebm, global_with_exf, + tutorial_global_oce_biogeo, tutorial_global_oce_latlon +o pkg/ecco: cost function when applying pkg/smooth to controls +o pkg/ctrl: add forcingPrecond run time parameter +o pkg/seaice: + - replace ZMIN=4.e8 with ZMIN=0. in dynsolver.F as in C-grid code + - fix bug in metric terms of u-equation in LSR solver (implicit part), + changes verification/lab_sea + - rearrange implicit part of u-equation in LSR solver to make it easier to + read, understand, and debug. This causes changes at the truncation level. + - fix (serious) bug in the boundary conditions (sign error in the implicit + part) of the LSR solver. Changes all LSR results. + - fixed problem with HSNOW initialization to avoid thick snow when AREA + is initilized with small values - does not change lab_sea results. + - added HsnowFile initialization capability +o pkg/smooth: addition to model/src and pkg/ctrl so allow + initialization of pkg/smooth and application to control vector +o pkg/seaice: fix another bug in the LSR no-slip boundary conditons +o dependencies: pkg/profiles requires pkg/cal +o pkg/profiles: + - added option ALLOW_PROFILES_GENERICGRID + -> pkg/profiles can thus be used with any grid (e.g. cs32x15) assuming + that interpolation information (grid points and coefficients) is provided + within the netcdf input files. + -> sample matlab scripts can be found in MITgcm_contrib/gael + that allow you to prepare netcdf input files. + - also modified: cleaner include statements, cleaner error print statements, + cleaner stops when error, and more tests of the netcdf input files consistency. +o additional test (in global_ocean.cs32x15) using seaice+thsice pkgs. +o pkg/seaice: + - move seaice-diagnostics from seaice_do_diags to do_statevars_diags; this + requires a new routine: seaice_diagnostics_fill.F + - make sure that seaice does not move if not forced (pressure replacement + method, Hibler and Ip, 1995), changes results + - and new damping criterion for EVP solver according to Hunke, JCP, 2001 + - SEAICE_evpDampC = > 0. turns it on (615. is the recommended value). + It is turned off by default (=-1.), because it changes the results. + - make it possible to read AREA from a file, too. + +checkpoint59c +o add S/R and diagnostics for oceanic mixed-layer depth +o move GMRedi call after all vertical mixing schemes (including KPP) +o pkg/thsice: + - ensure iceMask > iceMaskMin : this problem appeared after May-04 modifs + (melt only laterally if thin ice): update output of global_ocean.cs32x15.thsice +o pkg/obcs: + - bug fix for balance code +o pkg/seaice: + - allow values of SEAICE_elasticParm > 1 + - add new parameter SEAICE_evpTauRelax as an alternative + to SEAICE_elasticParm + - make lsr boundary conditions free slip (by default), changes result + - add code for no slip boundary conditions for lsr + - set minimum of zeta to zero (and not 4e8) (changes results) + - add a cap on AREA after advecting AREA if seaice_growth is not called +o change calculation of Visbeck K: + - no longer depend on tapering scheme; instead, compute slope (limited + by GM_maxSlope). this is equivalent to what was comuted before with + clipping or linear tappering. + - fix vertical averaging (wrong by 1/2 level) + - leave the old version (but will not be maintained) within + #ifdef OLD_VISBECK_CALC / #endif + - update output of exp. ideal_2D_oce +o change error catch in calc_r_star to improve vectorization +o exf runoff and seaice: remove ALLOW_SEAICE from exf pkg files and + add #define ALLOW_RUNOFF in SEAICE_OPTIONS.h (when not using exf). +o adjoint: + Re-organized adjoint checkpointing according to Matt Mazloff + (but with modifs/completions/cleanups) + Storing is now bundled into large arrays to optimized I/O + (and second step in cleanup of the_main_loop) + +checkpoint59b +o coupler (pkg/atm_ocn_coupler, pkg/ocn_compon_interf, pkg/atm2d): + - export/import (between ocean & coupler) fields needed for ocean DIC. +o pkg/seaice: + - get rid of three more exchanges seaice_calc_viscosities (required + different loop boundaries in seaice_lsr and seaice_ocean_stress) + - bug fix in seaice_ocean_stress (update of lab_sea required) + - reduce loop boundaries to necessary minimum also in seaice_evp + - go back to the old way of computing deltaC/Z as the adjoint likes that + better +o Refresh of tutorial_global_oce_latlon (includes changing salinity-like + passive tracer to an Age Tracer) + update output.txt +o pkg/exf: + - implement A-grid / C-grid selection for wind-stress input files. + - clean-up exf_wind.F (remove us, use wspeed instead ; add wStress) + for now, in exf_bulk_largeyeager04.F only : + - change implementation for case where windspeed + 2. components wind-stress + are read-in. AND use rhoConstFresh to convert evap. +o pkg/seaice: + - use correct EXCH_UV for wind-forcing (on A-grid). + - change SEAICE_OPTIONS.h to limit the number of option combinations (regarding + SEAICE_EXTERNAL_FORCING & SEAICE_EXTERNAL_FLUXES); add corresponding stops. +o pkg/exf: + - default EXF options are now set in EXF_OPTIONS.h (ifndef ALLOW_AUTODIFF_TAMC) + EXF_INTERPOLATION: + - merge global_with_exf/code version of exf_interp_read.F + to the main code ; + - Add new option: EXF_INTERP_USE_DYNALLOC to use Dynamical Allocation when + reading the file ; Important: This options needs to be defined to recover + previous code. + otherwise, use fixed size array to read in (size=exf_interp_bufferSize). + - no longer loose real*8 precision along the way when using exf_iprec=64. o pkg/seaice: rearrangement of common blocks (really needs more cleaning up) + - change discretisation of evp-solver in order to avoid another exchange + (changes lab_sea) and clean up a little + - replace SQRT(MAX(deltaC,SEAICE_EPS)) by MAX(SQRT(deltaC),SEAICE_EPS) + help the adjoint (this also changes the results slightly) + - add a few "_d 0" where they had been missing in seaice_evp.F + - cleaning up: remove unused seaice_calc_rhs.F o pkg/exf: some cleaning-up: - change various "constants" into runtime parameters - cleaned-up Large&Yeager04 routine which should eventually @@ -18,7 +188,7 @@ o pkg/thsice: fix few little problems, in thsice_calc_thickn.F: - growth vertically (and not laterally) if iceFrac == iceMaskMax - - melt laterally only if hIce < hThinIce (as the comments say) + - melt only laterally if hIce < hThinIce (as the comments say) and in thsice_extend.F: - allow to form ice even when iceFrac == iceMaskMax (by increasing thickness) - start to form ice as soon as the minimum ice-volume is reachable.