/[MITgcm]/MITgcm/doc/tag-index
ViewVC logotype

Diff of /MITgcm/doc/tag-index

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1605 by dimitri, Sat Mar 3 16:04:38 2012 UTC revision 1.1685 by jmc, Sat Jul 7 01:54:30 2012 UTC
# Line 4  $Name$ Line 4  $Name$
4      Notes on tags used in MITgcmUV      Notes on tags used in MITgcmUV
5      ==============================      ==============================
6    
7  o pkg/seaice :  o AD_CONFIG.h file:
8     - in genmake2: remove "#undef ALLOW_ECCO_OPTIMIZATION" from AD_CONFIG.h;
9     - remove #include "AD_CONFIG.h" from all included OPTIONS files and
10       add it explicitly in each fortran src file where it is needed.
11       motivation: header file AD_CONFIG.h is generated/modified after "make depend"
12       thus introducing potentially wrong dependency; therefore, better to include
13       it only where it's really needed, and after any other included OPTIONS file
14       (less tempting to bring conditional includes according to ALLOW_ADJOINT_RUN
15       or ALLOW_TANGENTLINEAR_RUN).
16    
17    checkpoint63p (2012/07/06)
18    o pkg/autodiff:
19      - rename S/R INI_AUTODIFF to AUTODIFF_INIT_VARIA ;
20      - create new header file "AUTODIFF_PARAMS.h" for pkg/autodiff parameters
21        which are now read from new parameter file "data.autodiff" (inAdExact
22        previously in "data", use{KPP/GMRedi/SEAICE}inAdMode previously in data.pkg)
23      - add file "data.autodiff" in all verification/*/input_ad/ directories.
24      - add run-time parameter to turn On/Off SEAICEuseFREEDRIFT in adjoint/forward
25        mode (used in global_ocean.cs32x15.seaice_dynmix test exp.)
26    o verification/tutorial_tracer_adjsens/
27      - add extra sub-verification which uses "SOM" advection scheme
28        (2nd Order-Moment Advection Scheme, Prather Limiter) with
29          #define GAD_ALLOW_TS_SOM_ADV in GAD_OPTIONS.h
30        and in data:
31          multiDimAdvection=.TRUE.,
32          tempAdvScheme=81,
33          saltAdvScheme=81,
34    o model/src:
35      - introduce ALLOW_BALANCE_RELAX which allow the removal
36       of the global mean of relaxation terms by setting
37       balanceThetaClimRelax and balanceSaltClimRelax
38      - disable balanceEmPmR and balanceQnet in the case when useSeaice.
39       This case is now treated appropriately in seaice_growth.F
40    o pkg/seaice:
41      - do balanceEmPmR and balanceQnet based on the net fluxes
42        (SItflux) that enter the ocean+ice system rather than QNET
43        and EMPMR. Works best in real fresh water.
44      - SIatmFW, SIatmQnet, and SItflux computations had to be moved
45        out of the diagnotics bloc, and stored in global arrays.
46    
47    checkpoint63o (2012/06/29)
48    o vertical mixing schemes:
49      - remove unused S/R CALC_BUOYANCY (left from branch-atmos merging)
50      - replace computation of density (in Function STATE1, opps_calc.F) by a call
51        to S/R FIND_RHO_SCALAR
52      - pass sigmaR to S/R PP81_CALC, MY82_CALC (but not yet used) and to GGL90_CALC
53        and use it for N^2 calculation in ggl90_calc.F (save 2 density computations);
54        affects output (vermix.ggl90) at truncation level.
55    o testreport:
56      - change adjustment of SIZE.h for mpi+mth testing: preserve enough tiles
57        (nSx,nSy) for the number of threads (from eedata.mth)
58    o model/src:
59      - remove 2nd set of calls at the top of initialise_varia.F (Adjoint part)
60        related to Non_Lin Free-Surf or Bottom-Control (but not longer necessary).
61    o verification/tutorial_tracer_adjsens/
62      - compile with ALLOW_CG2D_NSA
63      - run with nonlinFreeSurf=3
64      - update reference output_adm.txt
65    o tools/genmake2:
66      - add "-DHAVE_NETCDF" to the DEFINES list when NetCDF is available ;
67        refine usePROFILES switching off (only when NetCDF is not available).
68    o verification (atmospheric set-up):
69      - change eosType='IDEALGAS' to eosType='IDEALG' to match variable declaration
70    o pkg/profiles : refine profiles and files handling.
71    o model/src and pkg/ecco : introduce run-time switch usePROFILES.
72    o model/src/the_main_loop.F, forward_step.F and pkg/exf/EXF_OPTIONS.h :
73      - changes to use model/src/the_main_loop.F rather than the ecco version
74        in ecco type adjoint runs.
75    o model/src:
76      - move computation of recip of grid distance & area from INI_MASKS_ETC to INI_GRID
77      - move setting of h0Fac[C,W,S] from INI_LINEAR_PHISURF to INI_MASKS_ETC
78      - update_masks_etc.F: rename SMOOTH*_R4,R8 function to the corresponding type (RS,RL)
79    o model/src:
80      - fix S/R UPDATE_CG2D for ALLOW_DEPTH_CONTROL case (was empty before);
81        update output of test experiment bottom_ctrl_5x5.
82    o pkg/generic_advdiff:
83      - implement vertical bi-harmonic diffusion (for now, only for T & S and
84        only explicitly).
85    o verification/bottom_ctrl_5x5/
86      update reference output (results changed quite some time ago,
87      not sure when; but new reference results look ok in terms of grdchk)
88    o verification/1D_ocean_ice_column/
89      For verification purposes, the exact adjoint rather than an approx.
90      should be used (e.g., to comare against F.D. or TLM).
91      removed autodiff_inadmode*_ad.F routines in code_ad/
92      Update results/ accordingly.
93    o pkg/cal:
94      - change cal_getdate.F so that output date is function of input time only
95        (less ambiguous, not mixed up with input iteration number).
96      - fix calendarDumps for non-zero phase-lag (S/R CAL_TIME2DUMP).
97    o pkg/diagnostics:
98      - implement calendarDumps also for stats-diags
99      - implement calendarDumps also for snap-shot output (negative freq)
100      - for now, ignores calendarDumps if non-zero phase-lag.
101    
102    checkpoint63n (2012/06/04)
103    o model/src:
104      - recompute rSurfW & S to ensure consistent column thickness (needed for rStar)
105        between Sum_k(hFac*drF) and rSurf-rLow, for now only when using pkg/shelfice;
106      - use h0FacC, W & S to compute hFac_surfC, W & S in calc_surf_dr.F (more
107        similar to calc_r_star.F); update results of experiment internal_wave and
108        tutorial_global_oce_in_p (affected @ truncation level).
109    o pkg/shelfice:
110      - add parameterisation of advective-diffusive flux into the ice shelf
111        according to Holland and Jenkins (1999), eq.22-33, as suggested by Jan De Ryd
112      - simply eps3/3a computation
113    o eesupp:
114     - add new CPP option (DISCONNECTED_TILES) to disconnect tiles (no exchange
115       between tiles, just fill-in edges assuming locally periodic subdomain) and
116       add corresponding exchange subroutines (EXCH0);
117     - new CG-solver version (_EX0) for disconnected-tiles special case.
118    o model/src (CG-solvers):
119     - modify Single-Reduction version (CG2D_SR) in case cg2dMaxIters is reached
120       (similar final residual output and max-Iter number as with standard version);
121     - allows to store and use lowest-residual solution (standard & _SR versions);
122     - cleaning up (remove old, commented out code, LETS_MAKE_JAM ...).
123     - by default, also compile CG2D_SR version (define ALLOW_SRCG in CPP_OPTIONS.h)
124    o eesup/src:
125     - global_vec_sum.F cleaning: add a BARRIER ; update comments ; remove ndef
126       ALWAYS_USE_MPI (no longer needed after fixing usingMPI settings - March 2012)
127    o pkg/salt_plume added to lab_sea/input_ad.noseaicedyn
128    
129    checkpoint63m (2012/04/27)
130    o pkg/shelfice:
131     - account for partical cells in surface level below ice-shelf for hydrostatic
132       pressure calculion (set uniformFreeSurfLev to F); update isomip experiments.
133    o ad test experiments:
134     - update and rename to "ad_optfile.local" local AD-optfile specific to a
135       particular adjoint verification experiment (in verification/*/code_ad/)
136    o pkg/seaice & pkg/exf:
137     - Part two of ECCO-CLIVAR code merges.
138       Completes merge of seaice area relax. code.
139       Requires unified CPP option EXF_ALLOW_SEAICE_RELAX
140       to be set in EXF_OPTIONS.h since this pkg controls its I/O
141       (and avoids second CPP option in SEAICE_OPTIONS.h)
142     - change default value of costIceStart & costIceEnd to a valid date.
143     - add snowPrecip to HSNOW in seaice_growth
144    o pkg/ptracers:
145     - move ptracers summary and setup check into separated S/R ; add a check for
146       valid PTRACERS_Iter0 value (error+stop or just warning).
147    o pkg/cal (+ pkg/ecco):
148     - avoid calling a S/R with 2 times the same arg (FWD: unless both are only used
149       as input; and for AD, unless both are not differentiable (e.g., k index)).
150    o model/src:
151     - define internal flag "uniformFreeSurfLev" (=T when free-surface level-index
152       is everywhere k=1) to speed-up some calculations (by pass kSurf reference);
153       temporary set to usingZCoords value (to be changed to F when using shelfice).
154     - hydrostatic pressure: implement partial cell near the surface also for
155       Z-coordinates (for the case where uniformFreeSurfLev=F); replace test on
156       usingZCoords with test on uniformFreeSurfLev where needed (in NonHyd code).
157    o pkg/ctrl/ctrl_init.F:
158     - add a formal parameter to s/r ctrl_init_rec to print
159       xx_$(ctrl_valiable)_file for easier debugging
160     - move call of cal_* routines into the if-block where they are really
161       needed so that xx_$(ctrl_variable)_period can be 0 or -12 without having
162       to specify a startdate
163    o pkg/seaice:
164     - update comments in SEAICE_OPTIONS.h (+ similar update of lab_sea/code and
165       global_ocean.cs32x15/code versions).
166     - turn on seaice Multi-category (in data.seaice, SEAICE_multDim=7) for
167       verification experiment global_ocean.cs32x15.seaice and update results.
168    o pkg/exf:
169     - new S/R EXF_GETFIELD_START to return starting-time of a forcing field
170       (according to useExfYearlyFields).
171    o pkg/cal:
172     - move calendar setting & summary (previously in cal_readparams.F) into new
173       S/R CAL_INIT_FIXED to be called later in the initialisation process, once
174       length of the simulation is set (after SET_PARMS call); This is an attempt
175       to fix Pb when, e.g.: pkg/longstep, modifies the length of the run.
176     - For safety: keep a record of pkg/cal parameter settings status
177               to allow to STOP if one pkg/cal S/R is called too early.
178     - add a stop in all basic pkg/cal subroutines if called before setting is done.
179     - modify cal_getdate.F: stop when nothing was returned;
180       if called with myIter=-1, simply retrun modelBaseDate (1,2 = startDate_1,_2);
181       this allows to remove "cal.h" from seaice_read_parms.F & init_mnc_vars.F.
182    
183    checkpoint63l (2012/04/04)
184    o pkg/bbl:
185      - fix call to FIND_RHO_2D in bbl_calc_rho.F (case multi-tiles per proc);
186        update global_with_exf output.yearly.txt file.
187    o pkg/cal:
188      - start to clean-up cal_set.F ; fix for the case where baseTime is non-zero.
189      - remove 2 unsused and very short (1 line only) functions ;
190      - remove unsused subroutines from AD-Diff list.
191    o model/src:
192      - start to implement clean wait to stop in initialization S/R (config_check.F,
193         packages_check.F, ini_parms.F and pkg/obcs/obcs_check.F + pkg/mypackage)
194    o folowing PRINT_MESSAGE changes:
195      - remove reminder multiple print to the same file (STDOUT) when multi-threads.
196    o pkg/bbl:
197      - modification so it can work with z*
198      - replace deltaT with dTtracerLev(k) for asynchronous time stepping
199      - global_with_exf/input.yearly verification; changes output.yearly.txt
200    o eesupp/src:
201      - PRINT_MESSAGE: use OpenMP critical instruction (similar to PRINT_ERROR);
202        writing to unit 0 (if unit=errorMessageUnit) extended to the case myThid=1
203      - CHECK_THREADS: specific code if using OpenMP threading: improve checking of
204        # of threads across processors (e.g., different env OMP_NUM_THREADS setting)
205      - improve special preliminary call to EESET_PARMS (if eedata is read 2 times).
206      - when using MPI, always set usingMPI=T ; set default accordingly and stop
207        if not consistent.
208      - ALL_PROC_DIE: add a BARRIER after MPI_FINALIZE call ; skip this when thread
209        argument is zero (in case called within single-thread section).
210    o pkg/fizhi:
211        clean-up turbulence cold-start switch: decided in fizhi_init_vars.F, stored
212        in common bloc (fizhi_coms.h) and then passed as argument up to S/R TURBIO.
213    o pkg/exch2:
214      - add argument "updateCorners" to S/R exch2_get_uv_bounds (enable to
215        activate EXCH_IGNORE_CORNERS in vector EXCH S/R).
216      - switch 1rst EXCH call to IGNORE_CORNERS (instead of UPDATE_CORNERS)
217        but keep the 2nd with UPDATE_CORNERS: this prevents overwriting good data
218        with bad ones coming from a not-yet-updated halo.
219        This should fix the problem when sNx <> sNy and GCD(sNx,sNy) < 2*Olx.
220    o pkg/frazil:
221        move FrzForcT diag from frazil_diagnostics_state.F to frazil_calc_rhs.F
222        http://mitgcm.org/pipermail/mitgcm-devel/2012-March/005384.html
223    o model/src/config_check.F: add a check for OLx>sNx/OLy>sNy
224    o verification/lab_sea
225      * #undef SEAICE_EXCLUDE_FOR_EXACT_AD_TESTING
226      * #define ALLOW_SST_CONTROL & ALLOW_SST_CONTROL
227      * nTimeSteps 3 -> 4
228      * changed reference output accordingly
229    o pkg/ctrl:
230      * fix ctrl_get_gen for xx_sst, xx_sss
231    o pkg/fizhi:
232      - fix 2 calls to S/R GRD2MSC (argument igrd) in update_earth_exports.F
233        update results of exp. fizhi-cs-32x32x40 (fail with only 6 digits for cg2d)
234      - by default, use new version of S/R GETPWHERE (#define TRY_NEW_GETPWHERE);
235        fix few out-of-bounds indices in referencing vars (initialise igrd to 1);
236        clean-up fizhi_turb.F (remove unused & uninitialised qdiaglsm array).
237    o pkg/gmredi:
238      - add diagnostic of Redi (main diagnonal) vertical diffusive flux of Temp
239    o pkg/fizhi:
240      - fix few initialisation and multi-tile Pb: aqualev & gridalt now pass the
241        (old)aces open64 tuv test.
242    o pkg/icefront: fix bug and reorder loop in icefront_init_varia.F
243    o pkg/mom_vecinv:
244      - fix 1 loop range in mom_vecinv.F to be like all the other loops which
245        set/update gu,gv/Diss (fix Pb of uninitialised fVerUkp in admom_vecinv
246        with non-lin free-surf).
247    o model/src: move k-loop outside of i/j-loops when (re-)computing R_low
248      in ini/update_masks_etc.F in order to avoid -O3 optimization problems with
249      some compilers (gfortran 4.6.0 on MacOS)
250    o momentum:
251      - separate fVer?(:,:,kUp) & fVer?(:,:,kDown) in argument list of MOM_FLUXFORM
252        & MOM_VECINV subroutines (to help TAF). This fixes Pb of uninitialised
253        fVer?(kUp) in admom_fluxform with non-lin free-surf or bottom control.
254    
255    checkpoint63k (2012/03/17)
256    o model/src:
257       - selectAddFluid (ALLOW_ADDFLUID): add missing term in horizontal momentum
258         flux-form (mom_fluxform.F) and vertical momentum (calc_gw.F) equations.
259       - SOLVE_DIAGONAL: switch default to use adjoinable & vectorized version
260         (#undef SOLVE_DIAGONAL_LOWMEMORY); update output of exp. front_relax.bvp.
261    o model/src: solve_*diagonal.F
262       - replace division with multiplication by inverse (similar to original version)
263         update output of AD exp. global_ocean.90x40x15.
264       - fix pkg/gmredi/gmredi_calc_psi_bvp.F & pkg/ggl90/ggl90_calc.F
265         to enable the use of the vectorized & differentiable solve_tridiagonal.F
266       - test exp. global_ocean.90x40x15/input_ad: switch to advection scheme 20 for
267         vertical advection (to get solve_tridiagonal tested in AD mode).
268    o pkg/seaice: ECCO-CLIVAR merge:
269      1. seaice AREA relaxation
270         * CPP option: SEAICE_ALLOW_AREA_RELAXATION
271         * runtime flag: SEAICE_tauAreaObsRelax
272      2. modified global mean cost imbalance code: CPP option
273          ALLOW_SSH_GLOBMEAN_COST_CONTRIBUTION
274    o another iteration on solve_*diagonal.F
275       Make choices independent of AUTODIFF
276       Default will be the adjoinable vectorized version.
277       Alternative choices are:
278       * non-adjoinable original version with low memory footprint:
279         #define SOLVE_DIAGONAL_LOWMEMORY
280       * still adjoinable but does not vectorize (k as inner-most loop):
281         #define SOLVE_DIAGONAL_KINNER (keeping SOLVE_DIAGONAL_LOWMEMORY undef)
282    o testreport
283     - add option to use a home made wrapper around "make"
284     - remove MITGCM_IEEE env. variable (no longer active)
285    o pkg/shelfice
286     - improve computation of friction velocity for velocity dependent
287       exchange coefficients: include velocities into SHELFICEBoundaryLayer
288       block to average velocities vertically
289     - add TAF store directives for SHI_ALLOW_GAMMAFRICT
290    o Modify diagonal solvers, now three versions (upon request):
291      #ifndef SOLVE_DIAGONAL_AUTODIFF
292        1. default version (dating back a while ago)
293      #else /* def SOLVE_DIAGONAL_AUTODIFF */
294      # ifdef SOLVE_DIAGONAL_KINNER
295        2. adjoinable version with k-innermost loop (G. Forget)
296      # else
297        3. adjoinable vectorized version of 2.
298      # endif
299      #endif /* SOLVE_DIAGONAL_AUTODIFF */
300      All flags are currently set within routines, but could/should be moved to CPP-options.
301      Array bounds for 1. are as before, for 2.,3. cover the entire domain
302      (could be changed for 1. too).
303    o verification/lab_sea (fwd):
304      - update the 4 fwd lab_sea test experiment: no longer SEAICE_GROWTH_LEGACY,
305        use 7 categories (except hb87), new solve4temp params (except salt_plume),
306        constant salinity (=4) or variable salinity (salt_plume) done through
307        SItracer.
308    o pkg/seaice:
309      - rename parameters: SIsalFrac to SEAICE_saltFrac & SIsal0 to SEAICE_salt0;
310      - remove old parameters ( SEAICE_freeze, SEAICEturbFluxFormula, SEAICE_gamma_t,
311         SEAICE_gamma_t_frz, SEAICE_availHeatTaper & SEAICE_availHeatFracFrz)
312        from SEAICE_PARMS.h ; still need to fix seaice_cost_sst.F (broken when
313        SEAICE_freeze got retired) but already better than previously with
314        SEAICE_freeze=123456.7 deg.C;
315      - move setting of facOpenGrow/Melt from SEAICE_INIT_FIXED to SEAICE_READPARMS
316        (safer multi-threaded setting); always set SEAICEuseEVP;
317      - setting of ocean-ice turb. flux coeff: moved from SEAICE_CHECK to
318        SEAICE_READPARMS & SEAICE_INIT_FIXED (this fixes wrong summary report);
319        stop if multiple specifications for the same coeff; make sure default
320        SEAICE_mcPheePiston is compatible with drF(1) & deltaT.
321    o pkg/obcs:
322      - allow to switch to upwind 1rst order advection scheme for the advective
323        flux computation at the open-boundary; disabled for adjoint built.
324    o pkg/ptracers:
325      - rename PTRACERS_RESTART.h -> PTRACERS_START.h
326      - rename ptracers_fields_blocking_exchanges.F -> ptracers_fields_blocking_exch.F
327      - add parameter to decide when to start a tracer; use internal flag to
328        know which tracer to step-forward; switch this internal flag at the top
329        of forward_step.F (new S/R PTRACERS_SWITCH_ONOFF); for now, not enabled
330        for adjoint built.
331    o pkg/seaice:
332      - add SEAICE_SIZE.h anywhere in the code where SEAICE.h is included ;
333      - move MULTDIM declaration and setting from SEAICE.h to SEAICE_SIZE.h ;
334      - keep experiment offline_exf_seaice truly single category (set MULTDIM=1).
335    o pkg/ecco:
336      - fix writing of output file DiagnosCost_ClimSalt/Theta
337        and DiagnosCost_DriftSalt/Theta (if multi-tiles per proc).
338    o pkg/seaice:
339      - add missing initialisation of COR_ICE array in dynsolver.F
340      - merging SEAICE_MULTICATEGORY define and undef cases. Now the same code is
341        compiled either way, and is tested in all exps (multidim was only tested
342        in lab_sea ad before).
343      - cosmetic change to prepare for future addition of ITD. no change to results.
344        no defaults change.
345      - added run time param SEAICE_multDim (7 for SEAICE_MULTICATEGORY, 1 otherwise).
346      - by lack of adequate verification experiments, I further used custom versions
347        of global_ocean.cs32x15 to test multicat or not, with pickup or not. All
348        should be correct.
349      - avoid recomputations in ad.
350    o array initialisation in adjoint mode:
351      1) pkg/mom_common/mom_calc_ke.F:
352        add full array initialisation of KE inside mom_calc_ke.F (ALLOW_AUTODIFF_TAMC):
353        The S/R which calls MOM_CALC_KE initialises KE but in some recomputation
354        part this initialisation is gone, resulting in Floating Point Exception
355        (caught by open64 compiler with debug option).
356      2) model/src/convective_weights.F
357        set output convectCount over the full array range (instead of doing
358        an update): this fix a similar issue when called within recomputation (adjoint)
359        which could by-pass the initialisation (normally done in the caller S/R).
360    o pkg/seaice:
361    - final version of turbulent flux params, as agreed at MIT ice meet:    - final version of turbulent flux params, as agreed at MIT ice meet:
362         SEAICE_mcPheePiston (default is ~ 0.000875)         SEAICE_mcPheePiston (default is ~ 0.000875)
363         SEAICE_mcPheeTaper (default is 0.)         SEAICE_mcPheeTaper (default is 0.)
# Line 12  o pkg/seaice : Line 365  o pkg/seaice :
365         SEAICE_mcPheeStepFunc (default is false)         SEAICE_mcPheeStepFunc (default is false)
366    - changes results at trunction error level    - changes results at trunction error level
367    - ifdef SEAICE_EXTERNAL_FLUXES, disallow SEAICE_waterAlbedo    - ifdef SEAICE_EXTERNAL_FLUXES, disallow SEAICE_waterAlbedo
368  o added pkg/frazil - see frazil_description.tex for details  o added pkg/frazil:
369      - see frazil_description.tex for details
370      - verification experiment is global_with_exf/input.yearly; changes output.yearly.txt
371  o pkg/shelfice/shelfice_thermodynamics.F  o pkg/shelfice/shelfice_thermodynamics.F
372    - fix exponents for velocity dependent exchange coefficients: change    - fix exponents for velocity dependent exchange coefficients: change
373      from 2/3(=0) to 0.66666666666666667      from 2/3(=0) to 0.66666666666666667
374    - move computation of velocity dependent exchange coefficients into    - move computation of velocity dependent exchange coefficients into
375      separate loop, so that it applies to both thermodynamics      separate loop, so that it applies to both thermodynamics
376    - move some divisions by constants out of loops    - move some divisions by constants out of loops
377    

Legend:
Removed from v.1.1605  
changed lines
  Added in v.1.1685

  ViewVC Help
Powered by ViewVC 1.1.22