/[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.1401 by mlosch, Fri Mar 18 10:50:53 2011 UTC revision 1.1453 by jmc, Sun Jun 12 19:20:28 2011 UTC
# Line 4  $Name$ Line 4  $Name$
4      Notes on tags used in MITgcmUV      Notes on tags used in MITgcmUV
5      ==============================      ==============================
6    
7  o model/inc/scr and pkg/autodiff: add parameters that allow to turn  o pkg/diagnostics:
8    of parts of the adjoint code at run time. For now, there are only    - move MNC code from diagnostics_out.F into new diagnostics_mnc_out.F (2 S/R).
9    useKPPinAdMode, useGMrediInAdMode, and useSEAICEinAdMode. These    - rename S/R GETDIAG to DIAGNOSTICS_GET_DIAG and change type of 1rst argument
10    parameters are set in data.pkg.      (was _RL, now integer) with option = 0 to retrieve all levels.
11    This is the lazy coward's version of doing this, but still useful for  o model/src (rStar):
12    debugging. In order to do it right, everything needs to be moved to    - add rStar scaling factor in diags_phi_hyd.F (similar to calc_grad_phi_hyd.F);
13        affect solution only if z* with full pressure in EOS;
14        update output of test-exp global_ocean.90x40x15.
15    o pkg/seaice:
16      - introduce siEps=1e-5 parameter
17      - use areaMax in AREA update (part 4), consistent with ridging step (part 2.5).
18      - re-organize SEAICE_ADD_SUBLIMATION_TO_FWBUDGET code.
19      - introduce ALLOW_SITRACER and seaice_tracer_phys.F to handle generic seaice tracer.
20        For now it covers, and was tested for, ice salinity and age (attached to HEFF),
21        as well as ice cover age and ridging index (attached to AREA).
22        For now the run time parameters (in data.seaice/SEAICE_PARM03) are
23        SItrName (e.g. 'age') and SItrMate ('HEFF', which is the default, or 'AREA').
24        Up to SItrMaxNum=3 tracers can be used simultaneously.
25    o pkg/salt_plume:
26      -introduce SPsalFRAC run time parameter that sets the fraction of the
27       salt by-product of ice growth (SPsalFRAC*(1-SIsalFRAC)*salt typically)
28       that gets vertically redistributed (fluxed down) by pkg/salt_plume.
29    o model debug options:
30      - Switch reading of debugMode from S/R INI_PARMS (parameter file "data", stored
31        in PARAMS.h) to S/R EESET_PARMS (parameter file "eedata", stored in EEPARAMS.h).
32      - Refine debug-msg printing selection (3 new levels):
33        debugMode  : controls printing of debug messages (sequence of S/R calls).
34        debugLevel : controls printing of algorithm-relevant auxiliary/debug messages
35         debLevZero =  0 ; /* level of disabled aux. msg printing */
36         debLevA =  1 ; /* level of minimum  aux. msg printing */
37         debLevB =  2 ; /* level of low aux. print (report read-file opening)*/
38         debLevC =  3 ; /* level of moderate debug prt (most pkgs debug msg) */
39         debLevD =  4 ; /* level of enhanced debug prt (add DEBUG_STATS prt) */
40         debLevE =  5 ; /* level of extensive debug printing */
41        New debugLevel default: with default debugMode value (=F),
42          = 2 (debLevB) or = 1 (debLevA) in case ALLOW_AUTODIFF is defined.;
43          and if debugMode=T, default debugLevel = 4 (debLevD).
44        Relation with previous settings:
45         debLevB (=2) corresponds to former debLevA (=1)
46         debLevD (=4) corresponds to former debLevB (=2)
47        Note:
48         a) if debugLevel=0, skip WRITE_GRID call when nIter0 > 0 (same as before);
49         b) default debugLevel=1 is convenient in AD runs (avoid many file opening msgs);
50            to recover previous default, set debugLevel=2 (e.g. AD-test hs94.1x64x5)
51      - Add new parameter (printResidualFreq, read from PARM02 namelist) to print
52        detailed CG solvers convergence; off (=0) by default, except if debugLevel=5.
53    o pkg/obcs:
54      - change OBCSfixTopo default from True to False (should not change the results);
55        keep OBCSfixTopo=T in verification-exp. seaice_obcs.
56    o pkg/thsice:
57      - fix bug in thsice_calc_thickn.F (was introduced in version 1.18) in
58        2nd layer seaice sublimation (unlikely to happen)
59      - use Interior mask for OBCS in thsice_advection.F (similar to what is
60        done in gad_advection & seaice_advection).
61    o adjoint:
62      bug fix spotted by Gael Forget:
63      seaice_advection and thsice_advection still had
64      legacy CPP options to avoid CS corner updates for adjoint
65    o pkg/seaice:
66      => Change some of the defaults (2011/05/29):
67         - change SEAICEuseFluxForm default (from False to True)
68         - change DIFF1 default (from 0.004 m/s to 0. m/s)
69         And print warnings if DIFF1 is not set in data.seaice and centered
70          avection scheme is used without any diffusion.
71      also:
72      - fix seaice_diffusion calls in default AdvScheme part of seaice_advdiff.F;
73      - set SEAICEdiffKh[] default in the same way as SEAICEadvSch[]
74      - stop if DIFF1<>0 with SEAICEadvScheme <> 2, if DIFF1<>0 with any
75        other non-zero SEAICEdiffKh[] diffusivity, if SEAICEadvSalt=T with
76        #undef SEAICE_VARIABLE_SALINITY, if SEAICEadvAge=T with #undef SEAICE_AGE.
77      update results of test exp.:
78         lab_sea: output.fd (switch to AdvScheme=33 with diffKh=20)
79             output.hb87, output_adm.evp (SEAICEuseFluxForm=T and diffKh=200)
80             output_adm.noseaicedyn (SEAICEuseFluxForm=T)
81         offline_exf_seaice: output.seaicetd, output_adm (SEAICEuseFluxForm=T)
82         seaice_obcs: output (SEAICEuseFluxForm=T)
83      and prescribe old default for SEAICEuseFluxForm (=F) and DIFF1 (=0.004)
84          for standard fwd & AD lab_sea tests (to keep the same output).
85    o pkg/seaice/seaice_growth.F:
86      - use Ian Fenty's capping formulas for actual ice
87      thickness thoughout EVOLUTION branch.
88      - put treatment pathological case #2) in CPP brackets
89      (ALLOW_AVOID_INFINITESIMAL_AREA, undef by default).
90      - update global_ocean.cs32x15 and 1D_ocean_ice_colum results accordingly.
91    o pkg/seaice:
92      - seaice_diffusion.F : remove the min(DX,DY) factor permanently;
93      pass the Laplacian diffusivity (in m^2/s) diffKh as a parameter;
94      also pass fac as a param, which can be 1. (to update the tendency
95      field) or the time step (to update the field itself).
96      - seaice_advdiff.F: for multidim, call seaice_diffusion with
97      e.g. SEAICEdiffKhHeff and with fac=1; for single-dim, call
98      seaice_diffusion with e.g. SEAICEdiffKhHeff and with fac=time step.
99      - SEAICE_PARAMS.h, seaice_readparms.F, seaice_check.F :
100      hooks to handle SEAICEdiffKhHeff, SEAICEdiffKhArea, etc.
101    o pkg/seaice:
102      diffusion with centered advection scheme (diffus.F & advect.F):
103      - simplify S/R DIFFUS (put deltaT & DIFF1 factor outside, move EXCH outside)
104        to just compute the laplacian of input-field.
105      - unroll k loop (harmonic,biharmonic diff) in advect.F to save 1 exch call.
106      - fix flux-form version in diffus.F to conserve tracer.
107      update output of lab_sea.fd & lab_sea.hb87 (1rst set of modif affects
108       machine truncation) and lab_sea.salt_plume (conservative flux-form modif)
109    
110    checkpoint62y (2011/05/26)
111    o pkg/seaice:
112     - seaice_growth.F : in EVOLUTION branch, always include
113       a_QSWbyATM_cover in qnet (as it should be).
114     - verification/global_ocean.cs32x15 : update results accordingly
115       (output.seaice.txt output_adm.seaice.txt).
116    o pkg/seaice + obcs:
117     - use maskInW & maskInS in multi-dim advection and biharmonic diffusion:
118       equivalent of assuming no tracer gradient outside the OB region.
119       update output of seaice_obcs (uses DIFF1 <>0 => biharmonic diffusion)
120     - remove calls to OBCS_COPY_TRACER after EXCH calls (no longer needed
121       after changes above);
122     - obcs+seaice cleaning: apply seaice-tracer OB values to tracer field
123       only at OB location (instead of over a band of OLx width).
124    o pkg/seaice:
125     - fix wrong indices in old (non Flux-Form) diffusion default S/R diffus.F
126       (dxG(I+1, ...) changed to dxG(I, ...), no impact on Lat-Lon grid)
127    o pkg/obcs:
128      - split header file "OBCS.h" into 4 separated files:
129        OBCS_PARAMS.h, OBCS_GRID.h, OBCS_FIELDS.h & OBCS_SEAICE.h
130       Note: OBCS_PARAMS.h & OBCS_GRID.h can be included without OBCS_OPTIONS.h
131         (contain no conditional statement which depends on OBCS options).
132      - move "useOBCSYearlyFields" from "data.obcs" (hold in OBCS_PARAMS.h)
133        to parameter file "data.exf", namelist EXF_NML_OBCS (in EXF_PARAM.h).
134    o ctrl, cost, grdchk & autodiff pkgs:
135      - make options file more standard (like other {PKG}_OPTIONS.h file but
136        with AD_CONFIG.h); clean-up some of the included header files.
137    o pkg/obcs:
138      - do not mask tracer when applying OB (tracer == 0 could generate problems)
139      - apply tracer OB values to tracer field only at OB location (instead of
140        over a band of OLx width)
141      - clean-up obcs_apply_w.F & obcs_apply_eta.F (since less calls to these S/R)
142      - remove OBCS_MULTIDIM_OLD_VERSION code in gad_advection.F and remove
143        obcs_apply_tloc.F & obcs_apply_sloc.F
144    o obcs in model/src:
145      - call OBCS_APPLY_W only if NonHydrostatic.
146      - call OBCS_APPLY_ETA only if NonLinFreeSurf.
147      - reset dEtaHdt and wVel to zero outside OB interior region ;
148      - leave tracer unchanged outside OB interior region: This has no effect
149        on the solution but just to prevent unrealistic tracer value outside OB.
150      - zero out velocity outside OB interior region: This has no effect on
151        the solution but just to prevent unrealistic velocity outside OB.
152    o obcs and non-lin free-surf:
153       move call to OBCS_APPLY_R_STAR from update_r_star.F to calc_r_star.F
154       and call to OBCS_APPLY_SURF_DR from update_surf_dr.F to calc_surf_dr.F
155       + add argument "etaFld" to OBCS_APPLY_R_STAR & OBCS_APPLY_SURF_DR:
156       this fixes missing EXCH + get consistent eta OB value (+ fix restart).
157       update results of test-exp. exp4(nlfs).
158    o exp4 (nlfs) test-exp:
159       use OBC for Eta at Western & Eastern OB (to test prescribing Eta
160       with NonLin-FreeSurf); update output.nlfs.txt
161    o obcs and 2d/3d solver norm:
162       use interior masks (maskInC) to cancel out cg2d & cg3d matrix coeff at OB
163       and outside OB interior region (will allow to place OB further inside the
164       domain). Depending on the domain, can affects cg2d-Norm (previous
165       cancellation outside OB was only partial), e.g. in exp4 & obcs_ctrl,
166       and cg3d-Norm (previous Norm was computed before canceling OB terms),
167       e.g. in tutorial_plume_on_slope.
168      - update output of exp.: exp4 (x2), obcs_ctrl and tutorial_plume_on_slope.
169    o pkg rbcs:
170      - split RBCS.h into 3 files: RBCS_SIZE.h, RBCS_PARAMS.h & RBCS_FIELDS.h
171      - add capability to apply relaxation to horizontal velocity uVel & vVel.
172    o pkg/grdchk: add gradient check for control variable xx_shifwflx
173    o pkg/shelfice/shelfice_init_fixed.F
174      fix CPP-flag combinations
175    o pkg/seaice: Merge iceage code of Pierre Rampal
176      * update/change/correct ice age calculations
177      * add age updates for pathological cases
178      Probably needs more testing...
179    
180    checkpoint62x (2011/05/13)
181    o pkg/mom_vecinv:
182       high-order vorticity scheme: use interior masks (maskInW & S)
183       to zero-out (outside OB) gradient of vorticity.
184    o verification exp.:
185       turn on "useEnergyConservingCoriolis" (better discretisation) in exp.
186       hs94.128x64x5 and seaice_obcs ; update results.
187    o pkg/obcs:
188      fix bug in OBeta for YZ sections in obcs_exf_load.F
189    o pkg/ctrl, pkg/shelfice, and optim:
190      - add new control variable xx_shifwflx (fresh water flux underneath ice
191        shelves). This is almost as tedious as obcs-ctrl, because the
192        variables needs its own mask.
193      - add a cost function term that penalizes the deviation of xx_shifwflx
194        from the first guess (zero) in analogy to other control variables
195    o pkg/shelfice:
196      - start basic adjoint
197    o pkg/ctrl:
198      - remove extra 2D field "for good measure" when initializing in
199        ctrl_set_globfld_[xy/xz/yz].F
200      - replace hard coded precision 32 (a bug) in ctrl_map_ini_gen by ctrlprec
201      - improve error messages in ctrl_set_unpack_*
202    o OBC implementation in momentum:
203       use interior masks (maskInC,W & S) in momentum S/R:
204       - multiply divergence, tension and some del^i.u or del^j.v by maskInC
205       - multiply del2u,del2v by maskInW/S (biharmonic viscosity)
206       - multiply horiz. grad of vorticity by maskInW/S (in Leith scheme)
207       - multiply gradient of wVel by maskInW/S in del2w calculation (NonHyd)
208       Motivation: fix/clean implementation of OBC with biharmonic-viscosity
209        (and also with Leith/Smagorinsky harmonic-viscosity).
210       Update output of experiment dome and exp4 (+nlfs).
211    o exp4 test-exp:
212      - turn on: nonHydrostatic, exactConserv, viscA4 (with momDissip_In_AB=F)
213        and prescribe time-varying OB (without pkg/exf) for zonal-velocity
214        at Western & Eastern Boundaries (+/- 1 per-cent); Also prescribe
215        time-varying OB at Western-side for wVel (NonHyd); update output.
216      - add secondary set-up (.nlfs) using NonLin FreeSurf (z*) + mom_vecinv
217        and biharmonic-viscosity ; also use prescribed time varying OB.
218    o pkg/obcs:
219      fix bug in OBWeta,OBWeta indices in obcs_apply_r_star.F
220    o model/src:
221      - fix startTime setting when baseTime<>0 & nIter0=0 are specified ;
222      - initialise startTime & nIter0 with unlikely values: allows to set one
223        from the other without ambiguity.
224    o seaice_obcs test-exp.:
225      add small diffK4T,S to test biharmonic diffusivity with OBCS ; update output.
226    o pkg/obcs:
227      - remove calls to OBCS_COPY_TRACER after EXCH for T,S & pTracer:
228        no longer needed with maskInC,W,S in pkg/generic_advdiff.
229    o pkg/seaice:
230      - retired SEAICE_SALINITY and SEAICE_salinity in favor of
231        SEAICE_VARIABLE_SALINITY and SIsalFRAC, respectively.
232      - fixed bug in the initialization of sea ice salinity variable HSALT
233        in seaice_init_varia.F  (removed dependence on ICE2WATR)
234    o fizhi-cs test exp.:
235       switch reference output convention for these 2 non-standard test-exp,
236        from: pgi  6.1-5 on faulks (FC.6, -of linux_ia32_pgf77+authors_fc5)
237          to: ifort 11.1 on baudelaire (FC.13, -of linux_amd64_ifort11)
238       reason: faulks might get retired soon and pkg/fizhi has still Pb with gfortran
239    o model/inc:
240      - change type of PmEpR array (from _RS to _RL) to fix restart (with "-use_r4")
241        of exp. global_ocean.90x40x15 (Suncronous time-stepping + Real-FW + NonLin-FS)
242    o pkg/seaice:
243      - fix calculation of saltFlux and saltPlumeFlux when using SEAICE_SALINITY
244    o verification/lab_sea, 1D_ocean_ice_column, seaice_obcs, global_ocean.cs32x15
245      - updated output*.txt files due to bug fixes in salt, saltPlumeFlux,
246        and initial HSALT
247    
248    checkpoint62w (2011/04/26)
249    o pkg/mom_fluxform:
250      - fix calculation of del2u & del2v (no-slip BC) when using Non-Lin Free-Surf.
251      - use parameter "sideDragFactor" in no-slip BC side-drag part.
252      - update output of exp. global_ocean.90x40x15
253    o pkg/mom_vecinv:
254      mask del2u & del2v (no effect on results, but cleaner & closer to mom_fluxform)
255    o update seaice exp.:
256      use more consistent parameter values (remove "backward compatability only":
257       ICE2WATR, SEAICE_lhSublim, SEAICE_cpAir, SEAICE_rhoAir + set rhoConstFresh)
258      related to thermodynamics seaice. Update output (fwd+AD) of exp.:
259       1D_ocean_ice_column (x2), lab_sea (x8), ioffline_exf_seaice (x2) & seaice_obcs
260    o update test-exp global_ocean.90x40x15:
261      o use default CD_CODE_OPTIONS file (Adams-Bashforth on CD Mom & Coriolis).
262      o increase Overlap size from 2 to 3 (to allow to test bi-harmonic Visc.)
263      o new pickup-files from a 100.yr run with pkg/down_slope (input.dwnslp params)
264      o turn on zStar & viscA4 in standard set-up (dir input/)
265        and update output files: output.txt & output.dwnslp.txt
266    o new AD-test experiment: obcs_ctrl
267      (From Matt MITgcm_Contrib/SOSE/BoxAdj) to test OBCS as control vector.
268    o pkg/dic:
269      fix two bugs in handling water vapour pressure in carbonate chemistry
270      and air-sea fluxes. Found by Val Bennington and Galen McKinley
271      (add DIC Option = WATERVAP_BUG to recover old results)
272      update output of tutorial_global_oce_biogeo (fwd+AD) & tutorial_dic_adjoffline
273    o adding allowInteriorFreezing option to check for water below freezing point
274      at depth and bring the negative heat anomaly to the surface level
275    o pkgs _fields_load:
276      - extend GET_PERIODIC_INTERVAL to deal with non-periodic case (from pkg/rbcs)
277      - use new S/R GET_PERIODIC_INTERVAL in pkgs:
278        bulk_force, cheapaml, cfc, dic, obcs (+ ctrl/ctrl_get_gen_rec), offline and
279        rbcs to get interpolation weights and time reccord number.
280      - fix multi-threading in aim_fields_load.F
281      - apply EXCH to temp arrays [0,1] after reading in dic_fields_load.F
282    o external_fields_load:
283      new S/R GET_PERIODIC_INTERVAL to calculate which time-record (and linear
284       interpolation weights) to use in a periodic time-series ; do not divide by
285       time-step to convert to integer:
286       - this fixes case where externForcingPeriod is not multiple of time-step
287          (Thanks to Christopher L. Wolfe)
288       - this fixes case where externForcingPeriod is an odd multiple of time-step
289         (was wrong by half of time-step); update results of tutorial_global_oce_in_p.
290      store index of time-record which is currently loaded:
291       - works without any assumption on sequence of calls to EXTERNAL_FIELDS_LOAD ;
292       - needed for the adjoint but not yet used because of extensive recomputations;
293         (to be fixed soon)
294    
295    checkpoint62v (2011/04/02)
296    o verification/1D_ocean_ice_column added to test Ian Fenty's
297      pkg/seaice_growth.F modifications for improving sea ice code differentiability
298    o update output of exp4, internal_wave, seaice_obcs, tutorial_plume_on_slope
299      (new velocity statistics after changing maskInW & maskInS definition)
300    o pkg/generic_advdiff with OBCS:
301      use maksInW & maskInS in advective flux and in biharmonic diffusion calculation:
302      equivalent to assumption of no tracer gradient outside the OB region.
303      This will affect the results if using obcs+biharmonic diffusion.
304      update output_adm.txt of experiment bottom_ctrl_5x5 (not expected since no obc)
305    o pkg/obcs:
306      change definition of maskInW & maskInS: leave OB edges inside (maskIn=1)
307      (e.g., maskInW(OB_Ie)=1 ) so that velocity normal-component at OB is still
308      in Interior region. No impact on solution but affects Velocity monitor stats.
309    o pkg/ptracers (adjoint)
310      New option AUTODIFF_PTRACERS_SPLIT_FILES for writing separate
311      tape file for each tracer
312    o model/inc/src and pkg/autodiff: add parameters that allow to turn
313      of parts of the adjoint code at run time. For now, there are only
314      useKPPinAdMode, useGMrediInAdMode, and useSEAICEinAdMode. These
315      parameters are set in data.pkg.
316      This is the lazy coward's version of doing this, but still useful for
317      debugging. In order to do it right, everything needs to be moved to
318    pkg/autodiff.    pkg/autodiff.
319  o pkg/autodiff: fix global_sum_tile_ad.F by resetting adsumPhi at  o pkg/autodiff: fix global_sum_tile_ad.F by resetting adsumPhi at
320    the end; this fixes the adjoint balancing code for open boundaries.    the end; this fixes the adjoint balancing code for open boundaries.
321  o pkg/ctrl:  o pkg/ctrl:
322    - change behavior of xx_${varname}period to be analogous to exf-conventions:    - change behavior of xx_${varname}period to be analogous to exf-conventions:
323      xx_${varname}period =   0.,  means time-independent control part      xx_${varname}period =   0.,  means time-independent control part
324      xx_${varname}period = -12., means one-year-periodic monthly control part      xx_${varname}period = -12., means one-year-periodic monthly control part
325    - introduce helper routine ctrl_init_rec (part of ctrl_init.F) to    - introduce helper routine ctrl_init_rec (part of ctrl_init.F) to
326      clean up ctrl_init a little, remove unused variables      clean up ctrl_init a little, remove unused variables
327    - ctrl_init: fixed the handling of the start/endrec for obcs-variables    - ctrl_init: fixed the handling of the start/endrec for obcs-variables

Legend:
Removed from v.1.1401  
changed lines
  Added in v.1.1453

  ViewVC Help
Powered by ViewVC 1.1.22