--- MITgcm/doc/tag-index 2012/06/07 17:17:04 1.1665 +++ MITgcm/doc/tag-index 2012/07/27 18:29:17 1.1696 @@ -1,9 +1,159 @@ -$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.1665 2012/06/07 17:17:04 jmc Exp $ +$Header: /home/ubuntu/mnt/e9_copy/MITgcm/doc/tag-index,v 1.1696 2012/07/27 18:29:17 heimbach Exp $ $Name: $ Notes on tags used in MITgcmUV ============================== +o pkg/ctrl: + enable the use of a variable number (maxCtrlArr2D, maxCtrlArr3D) of + generic control variables via + #define ALLOW_GENARR2D_CONTROL and/or #define ALLOW_GENARR3D_CONTROL + Only required customization should be S/R ctrl_map_ini_genarr.F + (routine in repository contains example) +o pkg/exf: + - fix and refine checking of surface-relaxation setting when using EXF +o verification (adjoint exp): + - reduce length of simulation by half for experiment global_ocean.cs32x15 + (std, seaice & seaice_dynmix) and exp tutorial_dic_adjoffline; update output. +o pkg/mom_common (mom_u/v_bottomdrag), pkg/shelfice (shelfice_u/v_drag) + - replace if statements KE.ne.0 with KE.gt.0 to avoid sqrt of negative numbers + of KE that can occur with aggressive optimization + + put quadratic bottom drag calculation in separated loops (only done if + using bottomDragQuadratic) +o model/src: CG2D_NSA + - clean-up: stop if cg2dNormaliseRHS=T and AUTODIFF + and replace GLOBAL_SUM calls with GLOBAL_SUM_TILE. + - in test-exp that uses CG2D_NSA (bottom_ctrl & tutorial_tracer_adjsens), + change cg2d residual target to be expressed in Wunits (=> do not normalise + RHS ; this fix global_max Pb with TAF); update output. +o verification/tutorial_tracer_adjsens: + improve parameter consistency (and get rid of warnings): + - use deltaTFreeSurf=deltaTtracer (better with NonLin FreeSurf); + - switch Temp Adv Scheme from 81 to 80 (no limiter since theta < 0 is physical) + - use staggerTimeStep (for stability) in som81; use default rotation period. +o pkg/exch2: + - with empty facet: fix compact-format (W2_mapIO=1) definition (was previously + reset to 0 = 1 long line in X) +o pkg/mdsio: + - fix reading of dimensions from meta file for large-size domain +o model/src: + - fix saltIsActiveTr setting for IdealGas eosType (eosType is 6 character long); + - to refine CS-grid check, add logical flag "hasWetCSCorners": true if using + Cubed-Sphere Exch with CS-corners inside the domain; + make new S/R INI_GLOBAL_DOMAIN from code in ini_linear_phisurf.F to calculate + globalArea and to set hasWetCSCorners. + - add warning if usingCurvilinearGrid and momAdvection in flux-form (missing + metric terms); stop if hasWetCSCorners=T and momAdvection in flux-form. + - re-activate the stop if useCDscheme and hasWetCSCorners=T (previously if + useCDscheme and useCubedSphereExchange). +o pkg/seaice/seaice_growth.F : + - compute the SEAICE_DISABLE_HEATCONSFIX term accordingly + for the (.NOT.useRealFreshWaterFlux).OR.(nonlinFreeSurf.EQ.0) + when the previous code was not correct. + - in all cases diagnoze the boundary condition mismatch to SIaaflux + - in the case of useRealFreshWaterFlux.AND.(nonlinFreeSurf.GT.0) add + that term to QNET (essentially to set the melt/freeze water to 0degC). + when SEAICEheatConsFix is true, so that the ocean+ice budget heat is closed. +o verification/global_ocean.cs32x15/input.seaice : + - add SEAICEheatConsFix in data.seaice, ensuring closed ocean+ice heat budget. + - add diagnostics (commented out) for budget test using my matlab codes (gcmfaces). + - update results (output.seaice.txt) accordingly. +o verification/lab_sea/input/data.seaice : + - remove SEAICEheatConsFix, which is now be tested + in global_ocean.cs32x15. The presently coded fix + is only consistent with real fresh water + nlfs. + - update results (output.txt) accordingly. +o pkg/salt_plume: added diagnotic for salt tendency (oceSPtnd). +o AD_CONFIG.h file: + - in genmake2: remove "#undef ALLOW_ECCO_OPTIMIZATION" from AD_CONFIG.h; + - remove #include "AD_CONFIG.h" from all included OPTIONS files and + add it explicitly in each fortran src file where it is needed. + motivation: header file AD_CONFIG.h is generated/modified after "make depend" + thus introducing potentially wrong dependency; therefore, better to include + it only where it's really needed, and after any other included OPTIONS file + (less tempting to bring conditional includes according to ALLOW_ADJOINT_RUN + or ALLOW_TANGENTLINEAR_RUN). + +checkpoint63p (2012/07/06) +o pkg/autodiff: + - rename S/R INI_AUTODIFF to AUTODIFF_INIT_VARIA ; + - create new header file "AUTODIFF_PARAMS.h" for pkg/autodiff parameters + which are now read from new parameter file "data.autodiff" (inAdExact + previously in "data", use{KPP/GMRedi/SEAICE}inAdMode previously in data.pkg) + - add file "data.autodiff" in all verification/*/input_ad/ directories. + - add run-time parameter to turn On/Off SEAICEuseFREEDRIFT in adjoint/forward + mode (used in global_ocean.cs32x15.seaice_dynmix test exp.) +o verification/tutorial_tracer_adjsens/ + - add extra sub-verification which uses "SOM" advection scheme + (2nd Order-Moment Advection Scheme, Prather Limiter) with + #define GAD_ALLOW_TS_SOM_ADV in GAD_OPTIONS.h + and in data: + multiDimAdvection=.TRUE., + tempAdvScheme=81, + saltAdvScheme=81, +o model/src: + - introduce ALLOW_BALANCE_RELAX which allow the removal + of the global mean of relaxation terms by setting + balanceThetaClimRelax and balanceSaltClimRelax + - disable balanceEmPmR and balanceQnet in the case when useSeaice. + This case is now treated appropriately in seaice_growth.F +o pkg/seaice: + - do balanceEmPmR and balanceQnet based on the net fluxes + (SItflux) that enter the ocean+ice system rather than QNET + and EMPMR. Works best in real fresh water. + - SIatmFW, SIatmQnet, and SItflux computations had to be moved + out of the diagnotics bloc, and stored in global arrays. + +checkpoint63o (2012/06/29) +o vertical mixing schemes: + - remove unused S/R CALC_BUOYANCY (left from branch-atmos merging) + - replace computation of density (in Function STATE1, opps_calc.F) by a call + to S/R FIND_RHO_SCALAR + - pass sigmaR to S/R PP81_CALC, MY82_CALC (but not yet used) and to GGL90_CALC + and use it for N^2 calculation in ggl90_calc.F (save 2 density computations); + affects output (vermix.ggl90) at truncation level. +o testreport: + - change adjustment of SIZE.h for mpi+mth testing: preserve enough tiles + (nSx,nSy) for the number of threads (from eedata.mth) +o model/src: + - remove 2nd set of calls at the top of initialise_varia.F (Adjoint part) + related to Non_Lin Free-Surf or Bottom-Control (but not longer necessary). +o verification/tutorial_tracer_adjsens/ + - compile with ALLOW_CG2D_NSA + - run with nonlinFreeSurf=3 + - update reference output_adm.txt +o tools/genmake2: + - add "-DHAVE_NETCDF" to the DEFINES list when NetCDF is available ; + refine usePROFILES switching off (only when NetCDF is not available). +o verification (atmospheric set-up): + - change eosType='IDEALGAS' to eosType='IDEALG' to match variable declaration +o pkg/profiles : refine profiles and files handling. +o model/src and pkg/ecco : introduce run-time switch usePROFILES. +o model/src/the_main_loop.F, forward_step.F and pkg/exf/EXF_OPTIONS.h : + - changes to use model/src/the_main_loop.F rather than the ecco version + in ecco type adjoint runs. +o model/src: + - move computation of recip of grid distance & area from INI_MASKS_ETC to INI_GRID + - move setting of h0Fac[C,W,S] from INI_LINEAR_PHISURF to INI_MASKS_ETC + - update_masks_etc.F: rename SMOOTH*_R4,R8 function to the corresponding type (RS,RL) +o model/src: + - fix S/R UPDATE_CG2D for ALLOW_DEPTH_CONTROL case (was empty before); + update output of test experiment bottom_ctrl_5x5. +o pkg/generic_advdiff: + - implement vertical bi-harmonic diffusion (for now, only for T & S and + only explicitly). +o verification/bottom_ctrl_5x5/ + update reference output (results changed quite some time ago, + not sure when; but new reference results look ok in terms of grdchk) +o verification/1D_ocean_ice_column/ + For verification purposes, the exact adjoint rather than an approx. + should be used (e.g., to comare against F.D. or TLM). + removed autodiff_inadmode*_ad.F routines in code_ad/ + Update results/ accordingly. +o pkg/cal: + - change cal_getdate.F so that output date is function of input time only + (less ambiguous, not mixed up with input iteration number). + - fix calendarDumps for non-zero phase-lag (S/R CAL_TIME2DUMP). o pkg/diagnostics: - implement calendarDumps also for stats-diags - implement calendarDumps also for snap-shot output (negative freq)