/[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.1881 by m_bates, Tue Jun 18 21:30:33 2013 UTC revision 1.2024 by heimbach, Tue Jul 15 23:07:57 2014 UTC
# Line 4  $Name$ Line 4  $Name$
4      Notes on tags used in MITgcmUV      Notes on tags used in MITgcmUV
5      ==============================      ==============================
6    
7    o OpenAD
8      - clean up code_oad/ directories somewhat by moving files
9        dontCompile, dontTransform, keepOriginal to OAD_support/
10    o model/src:
11      - using MOM fluxform and Non-Lin Free-Surf with momDissip_In_AB=F
12        (not currently tested): add dissipation terms before NLFS rescaling of
13        tendencies (previously done after).
14    o pkg/diagnostics:
15      - write stats-diags in ascii file with more digits (same as in monitor).
16    o pkg/down_slope:
17      - drop the bi,bj dimension of argument recip_hFac in S/R DWNSLP_APPLY; with
18        NLFS (not tested), use new recip_hFac value in order to conserve tracer.
19    o model/src:
20      - new file "apply_forcing.F" containing all the code previously in
21        external_forcing.F, but with new argument list: pass, as new argument,
22        the current level tendency array to update (instead of a direct update
23        of the common bloc array). Change the corresponding calls.
24      - add CPP option USE_OLD_EXTERNAL_FORCING (default is undef) to use
25        EXTERNAL_FORCING_U,V,T,S subroutines (for backward compatibility).
26    o pkg/seaice/seaice_lsr, a little bit of clean up
27      - rearrange some code blocks, so that now all calculations for
28        setting up the right-hand-sides done within one single block
29        (I find that easier to read and understand)
30      - rearrange freedrift-code to reduce the number of ifdefs
31      - adjust some indentations and comments
32    
33    checkpoint64z (2014/07/10)
34    o model/src and several pkgs:
35      - change argument list of all S/R called from external_forcing.F and
36        called from ptracers_forcing.F (renamed to ptracers_apply_forcing.F)
37        to pass, as argument, the current level tendency array to update
38        (instead of a direct update of the common bloc array).
39      - change also (in the same way) argument list of PTRACERS_APPLY_FORCING;
40      - rename taueddy_external_forcing.f to taueddy_tendency_apply.F
41    o pkg/seaice/seaice_lsr.F
42      - always initialize local arrays in seaice_lsr_tridiagu/v
43      - add more local tapes to seaice_lsr_tridiagu/v
44      - move storing u/vice(:,:,bi,bj) out of seaice_lsr_tridiagu/v, but
45        keep it in bi/bj loop; this seems to be essential
46      - gradients are still wrong but only by 4-7 orders of magnitude
47        instead of 15 orders of magnitude, lab_sea improves a little
48    o pkg/seaice
49      - (pkg/autodiff) remove storing/restoring of seaiceMaskU/V that
50        generates unnecessary code in seaice_lsr_ad
51      - add more store directives in seaice_lsr to avoid unnecessary code
52        in seaice_lsr_ad
53      - exclude some residual computations in seaice_lsr when
54        ALLOW_AUTODIFF_TAMC is defined in order to avoid unnecessary code
55        in seaice_lsr_ad
56      - add more storing, a new tape (model/src/the_main_loop.F) and
57        another key for SEAICE_LSR_VECTORIZE_ZEBRA (the local keys ilockey
58        and klockey should be checked by a specialist)
59      - modify ( define SEAICE_VECTORIZE_LSR and SEAICE_LSR_ADJOINT_ITER )
60        and update lab_sea after previous changes in pkg/seaice below
61    o pkg/autodiff:
62      - introduce useSmoothCorrel2DinAdMode, SEAICEapproxLevInAd, and
63        viscFacInAd : run time parameters allowing for adjoint switches
64        note : logic for useSmoothCorrel2DinAdMode is in ctrl_readparms.F
65    o pkg/ecco:
66      - introduce cost_gencost_boxmean.F that computes a box mean
67        temperature (for use in adjoint sensitivity studies).
68    o model/src/set_defaults.F : initialize viscFacAdj to 1.
69    o pkg/mom_common/mom_calc_visc.F:
70      - ifdef ALLOW_AUTODIFF then include viscFacAdj factor.
71    o pkg/seaice/seaice_summary.F:
72      - statement for SEAICEadjMODE now in autodiff_readparms.F
73    o pkg/seaice:
74      - remove some store directives and add new ones in an effort to get
75        finally rid off the recomputation warnings. This is successful
76        when SEAICE_VECTORIZE_LSR ***and*** SEAICE_LSR_ADJOINT_ITER are
77        defined (i.e. no extensive recomputation warnings left), but there
78        are still too many recomputations on the solver iteration level
79      - define SEAICE_VECTORISZE_LSR in offline_exf_seaice/code_ad/SEAICE_OPTIONS.h
80      - move definition of MPSEUDOTIMESTEPS into TAMC-block in
81        SEAICE_SIZE.h
82      - add a store directive in S/R seaice_calc_viscosities
83    o pkg/seaice (ITD code):
84      - fix definition of Hlimit for multi-threaded case
85      - use double precision arithmetic to compute Hlimit: this affects results;
86        update output of experiment seaice_itd.
87    o replace content of verification/seaice_itd
88      - instead of a 1D column use the configuration of offline_exf_seaice
89        to test the ice thickness distribution code with ridging
90      - this is a first shot at this experiment
91      - change of some defaults of ridging parameters SEAICEhStar (from
92        100 to 25) and SEAICEmuRidging (from 5 to 3) in seaice_readparms.F
93        and lot of new comments.
94    
95    checkpoint64y (2014/06/20)
96    o pkg/seaice/seaice_reg_ridge.F:
97      - modify the regularization of very small volumes of ice; only check
98        total volume HEFF, and do not apply correction to individual ice
99        classes because that leads to funny patterns in the heat and fw-fluxes
100        into the ocean. Adjust seaice_itd/results/output.txt
101      - replace nITD by SEAICE_multDim in loop-ranges
102    o pkg/exf:
103      - add code to process the case field period = -12. with UV interpolation.
104      - move debug print (formerly active when exf_verbose=T) from EXF_getFFieldRec
105        into S/R that calls it (i.e., exf_set_gen.F, exf_set_uv.F & obcs_exf_load.F)
106    o verification/global_with_exf:
107      - switch all fields period to -12. (was previously untested) in input/data.exf
108        (but keep secondary test ".yearly" unchanged); update the reference output.
109    o pkg/cal:
110      - new calendar type "noLeapYear" for 365 days calendar without any leap year.
111    o pkg/exf:
112      - new integer parameter "exf_debugLev" (default set to main model debugLevel)
113        to replace logical switch "exf_verbose"
114      - report in STDOUT when loading a new record (if exf_debugLev >= 3)
115    o pkg/sbo:
116      - update from Katherine Quinn: evaluate mass directly from density and SSH
117        (budget using Finite Volume method) instead of from bottom pressure.
118      - allow testreport to collect few selected SBO output ; tested in exp.
119        global_ocean.90x40x15 (after updating the results, to include SBO output).
120      - fix some multi-threading issues (in output part).
121    o model/src & most packages:
122      - always call {PKG}_READPARMS even if corresponding use{PKG}=F;
123      - in {PKG}_READPARMS, in case use{PKG}=F: add a call to new S/R
124        PACKAGES_UNUSED_MSG to print a weak warning when parameter file
125        "data.{pkg}" exist ; and leave the S/R (return) just after.
126      - more standard LAND pkg interface (land_init_fixed.F, land_check.F).
127        + call LAND_READPARMS from packages_readparms.F
128    o pkg/seaice:
129      - remove code that resets useThSice in S/R seaice_readparms and
130        replace it by a warning in S/R seaice_check
131      - remove parameter MULTDIM, replace with nITD and runtime
132        parameter SEAICE_multDim (still hard-wired to nITD if
133        SEAICE_ITD is defined)
134    
135    checkpoint64x (2014/05/24)
136    o verification/lab_sea:
137      - update adjoint and TLM output following changes to pkg/salt_plume
138      - un-do the update after putting back local recip_Cp in few places.
139    o pkg/salt_plume: modifications by An Nguyen:
140      - add capability to do brine rejection (salt-plume) as function of
141        volume+tracers (instead of only salinity tracer).
142      - conserve volume by exchanging volume from each kLev to above to
143        accommodate in-coming brine volume
144      - store surface and klev exchanged fraction + volume in 4 new 3-d arrays
145      - switch KPP surf buoyancy due to brine forcing to 3-d
146        (3 more 3-d arrays, 2 for SPforcing[T,S], 1 for boplume)
147      - add salt_plume_volfrac, salt_plume_apply, salt_plume_tendency_apply_t
148      - unrelatedly, also add ad-hoc capability to vary salt_plume scheme
149        in East/West Arctic.
150    o pkg/sbo:
151      - incorporate modifications from Katherine Quinn to enable the use of sbo
152        pkg in ECCO-v4 set-up ; remove SBO-TimeAve output ; add monitor-like
153        output for future testreport verification (unfinished).
154    o pkg/atm_phys:
155      - change diagnostics (AtPh_Trf & AtPh_Qrf) of DARGAN_BETTSMILLER S/R:
156        skip the reseting of t_ref & q_ref to initial t & q ; this preserve the
157        output of S/R CAPECALCNEW (Parcel temp & q) for diagnostics.
158    o pkg/seaice
159      seaice_calc_ice_strength.F: modify expression to avoid divisions
160        (affects truncation)
161      seaice_do_ridging.F: clean up the insectarium
162      - fix a bug that was compensated by areaScaling (-> remove areaScaling code)
163      - added SEAICEsnowFracRidge to redistributed snow (2nd bug)
164      - set closing/openingRate to zero where no extra iteration is need (3rd bug)
165      - add some debugging information and error messages (warnings)
166    o model/src: modifications relatd to atmosphere p*:
167      - Switch to more accurate p* coordinate slope term (calc_grad_phi_hyd.F)
168      - With p* or Sigma-P, use constant reference Pot.Temp (thetaConst) instead
169        of vertical profile tRef in geopotential background and anomaly.
170      - Acount for true p* correction in theta <-> T conversion in pkg/aim_v23
171        and pkg/atm_phys.
172      - Update FWD output of experiments: aim.5l_cs (x2), fizhi-cs-32x32x40,
173        fizhi-cs-aqualev20, fizhi-gridalt-hs, tutorial_held_suarez_cs, cpl_aim+ocn.
174    o pkg/seaice: fix a bug in seaice_prepare_ridging.F, forgot a sqrt
175    o pkg/ptracers: compute ptracer source/sink due to linear free surface.
176        not used right now, but can be used in BGC packages to fix conservation.
177    o pkg/dic, pkg/gchem: move tracer_meanarea to gchem, so it can be used by
178        other packages too.
179    o pkg/seaice/seaice_calc_ice_strength.F: replace SEAICE_rhoSnow by
180        SEAICE_rhoIce in the Rothrock (1975)-type strength calculations (bug fix)
181    o model/src:
182      - since we have several heat capacity (even in model/src), define "recip_Cp"
183        as local variable (no longer in common block) to avoid any confusion.
184      - add thetaConst in PARAMS.h (to be used with pStar or sigma-P coords).
185    o pkg/exf:
186      - from Jeff Scott: add option (#define EXF_CALC_ATMRHO) to calculate local
187        air density as function of air Temp, Humidity and atm pressure.
188    
189    checkpoint64w (2014/05/02)
190    o verification:
191      - update output_adm.txt files for experiment global_ocean.cs32x15 (seaice &
192        seaice_dynmix) and lab_sea (primary test & noseaicedyn): moving/changing
193        code from seaice_growth.F & seaice_advdiff.F to new ridging routines
194        seaice_reg_ridge.F seaice_do_ridging.F affects AD gradient
195        (down to 8-7 matching digits for global_ocean and 5-6 for lab_sea).
196    o model/src: for atmosphere in p* coords:
197      - store factor rStarFacC**atm_kappa (= pStarFacK) in common block
198      - implement more accurate p* coordinate slope term (in calc_grad_phi_hyd.F),
199        but not yet activated.
200    o pkg/seaice: fix restart problem for ITD with new ice strength parameterisation:
201      - move computation of opnWtrFrac = 1-AREA to before computing ice strength
202      - this changes the results (but not for any verification experiment, because
203        none tests this), but avoids having an extra field in the restart files
204    o pkg/seaice: remove global variable TICE (not needed)
205      - replace by TICES or local variable where necessary (cost_seaice_test,
206        seaice_diagnostics_state)
207      - move copying TICE to TICES from seaice_check_pickup to seaice_read_pickup
208      - use specific read/write routines for reading and writing individual leves
209        of a multilevel field
210    o pkg/ctrl & model/inc:
211      - move additional anomaly fields of control vars (related to options:
212         ALLOW_KAPGM_CONTROL, ALLOW_KAPREDI_CONTROL and ALLOW_BOTTOMDRAG_CONTROL)
213        from DYNVARS.h into new header file: CTRL_FIELDS.h
214    o pkg/seaice: some small modifications to the ridging code
215      - make fw2ObyRidge a global variable and add the freshwater flux to
216        seaice_growth
217      - pass actual thickness from seaice_prepare_ridging, so that it is
218        computed only in one place and compute it in the same way as in
219        seaice_growth
220      - initialise more fields in seaice_do_ridging that where cause floating
221        point exceptions over land
222    o pkg/seaice: preparations for ridging code and first real ridging code
223      - move most of "PART 1" of S/R seaice_growth into a new and separate
224        S/R seaice_reg_ridge that will both regularize the state variable after
225        advection call the actual ridging routine;
226      - requires to make 5 fields global fields: d_HEFFbyNEG,d_HSNWbyNEG,
227        d_AREAbyRLX,d_HEFFbyRLX,saltFluxAdjust;
228      - remove ridging code from seaice_advdiff
229      - clean up remaining part 1 of seaice_growth in an attempt to make it
230        more readable (this is probably subjective)
231      - call seaice_itd_redist once in the initialisation phase to have the initial
232        conditions in the correct category
233      - finally: add new ridging routine for ITD code
234    
235    checkpoint64v (2014/04/11)
236    o pkg/ecco:
237      - add runtime parameters mdt[start,end]date[1,2]
238      - rename variable "tpmean" as "mdt" and "topexmeanfile" as "mdtdatfile"
239    o pkg/seaice:
240      - make deltaC a global variable, so that it can be used in ridging code
241      - first step towards ridging: introduce new routines that compute
242        ice strength based on ridging parameters
243      - add diagnostic for HSNOWITD
244      - add opnWtrFrac as a global variable (required for ridging scheme)
245    o pkg/salt_plume + pkg/seaice/seaice_growth.F
246      - add SALT_PLUME_IN_LEADS flag to activate pkg/salt_plume only when ice
247        AREA exceeds a threshold (code contributed by I.Fenty in 2011)
248    o verification/hs94.1x64x5:
249      - leave ALLOW_AUTODIFF_TAMC undefined in code_oad/AUTODIFF_OPTIONS.h
250      - do not use ECCO_CPPOPTIONS.h anymore for TAF & OpenAD Adjoint tests.
251    o autodiff:
252      - Start to include explicitly AUTODIFF_OPTIONS.h, COST_OPTIONS.h,
253        and CTRL_OPTIONS.h in src files (to enable to skip the ECCO_CPPOPTIONS.h)
254        For now, only in pkgs used in verification/hs94.1x64x5.
255      - Replace ALLOW_AUTODIFF_TAMC by ALLOW_AUTODIFF (except for tape/storage
256        which are specific to TAF/TAMC).
257      - Replace ALLOW_AUTODIFF_OPENAD by ALLOW_OPENAD:
258        since ALLOW_OPENAD is defined in PACKAGES_CONFIG.h (any time pkg/openad
259        is compiled), this simplifies/reduces which *_OPTIONS.h file to include.
260      - OpenAD: change Makefile to generate the appropriate AD_CONFIG.h when
261        building mitgcmuv_ad (make adAll).
262    o pkg/ecco:
263      - cost_gencost_seaicev4.F:
264         reformulate proxy cost as function of sst and local param SEAICE_freeze
265         change cost names from siv4-[sst,vol] to siv4-[deconc,exconc]
266      - add stop statement if old names siv4-[sst,vol] are used
267      - add snapshots + cost reports for atmospheric longwave
268      - remove factor 0.1 in front of wtau[u,v]
269      - replace never used flag ALLOW_TMI_COST_CONTRIBUTION with
270         ALLOW_TMI_SST_COST_CONTRIBUTION
271    o pkg/atm_phys:
272      - add some diagnostics for Short-wave and for convection S/R.
273    o pkg/seaice/seaice_growth:
274      - fix a bug in the lateral melt parameterization for SEAICE_ITD
275        in seaice_growth; tempFrz needs to be computed inside the i/j-loop
276      - rearrange loop order for better vector code in the same code block
277      - rewrite the floeDiameter formula to have fewer divisions
278      -  (miraculously) none of this changes the results of seaice_itd
279    o pkg/smooth:
280      - move param smooth2Ddiffnbt to pkg/ecco
281    o pkg/salt_plume:
282      - salt_plume_frac.F:
283         clean up local param names
284         reformulate (1-frac) to frac; original 1-frac was based on swfrac code
285    o pkg/rw:
286      - add RS version of S/R READ_MFLDS_LEV.
287    o pkg/streamice:
288      - fix the restart test by writing/reading pickup_streamice files.
289    o pkg/seaice:
290      - refine checks for jfnk-related parameters
291      - comment out if statement with SEAICEuseIMEX parameter as long as there
292        is no IMEX code to avoid confusion and surprises
293    
294    checkpoint64u (2014/03/07)
295    o verification/MLAdjust:
296      - rename secondary test suffix:
297         1.leith  -> A4FlxF  + switch to flux-form & add side-drag
298         0.leithD -> AhFlxF  + switch to flux-form
299         0.smag   -> AhVrDv  (use Vorticity-Div. visc form) + add side-drag
300         0.leith  -> AhStTn  (use Strain-Tension visc form) + add side-drag
301    o pkg/mom_vecinv:
302      - remove unused arguments from S/R MOM_VI_HDISSIP & MOM_HDISSIP (as it used
303        to be before mom_calc_visc.F)
304      - skip the call to MOM_CALC_TENSION & MOM_CALC_STRAIN if not needed.
305      - add 2nd copy of vort3 & strain that knows about lateral BC (free/no slip):
306        this is simpler for the adjoint and for diagnostics.
307    o model/src + pkg/momentum:
308      - add input files for  2-D additional Western and Southern cell-edge wall
309         (e.g., to add "thin-wall" where it is =1).
310      - fix sideDrag option for thin-walls with Non-Lin Free-Surf
311        using 2nd hFacZ that is computed from initial (fix domain) hFac
312      - known limitations of thin wall implementation: not yet coded for sigma
313        coords; not working with CD-scheme neither.
314    o pkg/seaice:
315      - rename recently introduced parameters from (wrong name) AB to
316        BDF (backward difference time discretisation)
317      - retire runtime parameters SEAICEuseAB2, SEAICE_abEps
318    o tools/adjoint_options:
319      - remove setting of "OPENAD=true" (now set by command line "genmake2 -oad")
320    
321    checkpoint64t (2014/02/01)
322    o pkg/ecco
323      - add compile flag ALLOW_GENCOST_TIMEVARY_WEIGHT in ECCO_OPTIONS.h and
324        runtime logical flag gencost_timevaryweight to read daily sea-ice sigma
325      - replace hard-coded record number and period which only work for monthly
326        with read-in runtime param that works for other periods (month,day,year)
327    o pkg/thsice
328      - corrected store directive fixes thsice adjoint gradient checks
329    o genmake2 & testreport:
330      - add genmake2 option "-oad" to generate a Makefile for OpenAD built and
331        in this case, use tools/adjoint_options/adjoint_oad as default AD optfile.
332        Update testreport accordingly. No need to set "export OPENAD=true"
333        in adjoint_options/adjoint_oad anymore (will be removed later).
334    o pkg/shelfice:
335      - put T & S shelfice forcing into model surfaceForcing_T,_S (for now,
336        only if SHELFICEboundaryLayer=F); Change model/src/external_forcing.F
337        so that surface forcing applies to k=kSurf if using pkg/shelfice.
338    o pkg/ctrl, pkg/grdchk, pkg/ecco:
339      - Changes to make GENARR more modular (i.e. invisible if not used)
340    o model/src/temp_integrate.F and salt_integrate.F
341      - re-include store directives that were removed on Dec 27th.
342    o model/src/external_forcing_surf.F
343      - add storage directives for EmPmR and PmEpR to avoid recomputation of
344        seaice_model in the adjoint that is problematic when seaice_model is
345        turned off in the adjoint. The resolved issue dated back to July when
346        EXTERNAL_FORCING_SURF call was moved.
347        Update global_ocean.cs32x15/*/output_adm.seaice_dynmix.txt accordingly.
348    o pkg/exf/exf_check.F
349      - fix a small bug again (originally found by Wentao Liu, now found again)
350      - streamline error output
351    o pkg/streamice and aim_v23:
352      - replace a few "_EXCH_XY_RL (" with "_EXCH_XY_RL(", so that
353        Apple's /usr/bin/cpp knows what to do:
354        Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
355        Target: x86_64-apple-darwin13.0.0
356    
357    checkpoint64s (2014/01/05)
358    o tools/adjoint_options:
359      - switch to fastopt.net TAF server (instead of default fastopt.de) for
360        AD optfiles adjoint_diva & adjoint_f95 (similar to adjoint_default).
361    o model/src:
362      - remove some unnecessary TAF storage directives in forward_step.F and
363        in dynamics.F (note: not always removed by TAF, e.g., double storage
364        of kappaRU,kappaRV in former version of dynamics.F).
365    o model/src & pkg/ptracers:
366      - call directly GAD_IMPLICIT_R & IMPLDIFF + DWNSLP_APPLY from temp_integrate.F
367        salt_integrate.F and ptracers_integrate.F (instead of from thermodynamics.F)
368        and remove ptracers_dwnslp_apply.F & ptracers_implicit.F
369      - call MATRIX_STORE_TENDENCY_EXP for each tracer (in ptracers_integrate.F)
370      - add fZon & fMer as output argument of S/R GAD_CALC_RHS.
371      - update TAF AD-output of experiments global_ocean.90x40x15 (13 for AD-grad).
372    o useSingleCpuInput separates single-CPU input from single-CPU output;
373        for now only implemented for in exf_interp_read.F
374    o verification/advect_xy:
375      - fix missing EXCH call in local version of ini_salt.F and update output.
376    o momentum diagnostics:
377      - fix which deltaT is used in Total-Tendency diagnostics.
378      - fix typo in diagnostics for momentum tendency from AB.
379    o pkg/seaice/seaice_lsr.F: fix an initialisation bug for the
380        SEAICE_VECTORIZE_LSR_ZEBRA option that lead to NaNs on a NEC-SX8
381    
382    checkpoint64r (2013/12/08)
383    o verification/*/results:
384      - Update reference output of experiments that were passing with just 13 digits
385         (make it easier to detect future changes in results)
386    o model/src & pkg/ptracers:
387      - move calls to GAD_ADVECTION (Multi-Dim advection) from thermodynamics.F to
388        inside temp_integrate.F and salt_integrate.F and from ptracers_advection.F
389        to inside ptracers_integrate.F ; remove ptracers_advection.F
390    o coupling interface pkgs:
391        [atm_compon_interf, ocn_compon_interf & atm_ocn_coupler]
392      - change the config check to test the agreement of Ocean Depth
393        with ATM land/sea mask (instead of ATM orography);
394      - send to coupler the number of coupler time-steps to do for this run:
395        this allows to check for consistency and don't need anymore to be
396        specified in parameter file "data";
397      in coupler:
398      - check consistency of RunOff map versus Ocean Depth and ATM land/sea mask.
399      - improve report to log-file of config setting (pass log-file unit to few S/R)
400    o pkg/compon_communic:
401      - add coupling send/receive for non-tiled integer vector;
402      - add S/R to check and stop if any proc has an error (similar to
403        eesupp/src/stop_if_error.F but single thread and across Comm_World).
404    o pkg/exch2:
405      - in exch2*_get_rx[1,2]: use new list "W2_tileIndex" to replace search
406        through list of all tiles my proc owns.
407    o model/src:
408      - AUTODIFF only: in calc_adv_flow.F, recompute rTransKp (instead of copying
409        from rTrans) to simplify dependencies (no need to store rTrans anymore in
410        calling S/R); this affects AD results at machine truncation level:
411        update AD-output (TAF) of experiments: 1D_ocean_ice_column,
412        bottom_ctrl_5x5 & obcs_ctrl (12 digits for AD grad, same FWD grad).
413    o tools/build_options:
414      - simplify Warnings options (-ieee & -devel cases) in linux_amd64_gfortran
415    o coupling interface pkgs:
416        [compon_communic, atm_compon_interf & ocn_compon_interf]
417      - move declaration of local array "ibuf" out of header file "CPLR_SIG.h"
418        to each S/R that needs it; remove un-used variables.
419      - change component tile registration (cpl_register.F in both compon_interf
420        and mitcomponent_tile_register.F) to pass the full list of tiles
421        information (including bi,bj) in 1 vector (instead of in a bi,bj matrix).
422      - with pkg/exch2: adopt the same convention used for I/O to define mapping
423        towards coupler global array (unless W2_useE2ioLayOut=F):
424         a) can now use different tiling between atm & ocn comp.
425         b) no needs to modify the run-Off map when changing tiling (was needed
426            even if using the same tiling between atm & ocn).
427         c) will allow to run with blank-tiles in 1 component (e.g., for ocean
428            full land tiles); not yet tested.
429      - check for valid mapping from comp. tile to coupler global array
430      - improve report of tile registration results to log file.
431    o pkg/exch2:
432      - in eesupp/src/eeboot.F: move call to W2_EEBOOT before Coupler
433        tile-registration (CPL_REGISTER);
434      - activate (un-comment) definition and setting of "W2_tileIndex" list to
435        store the local bi,bj indices of each tile;
436      - also print bi,bj in local report to log file;
437      - fix pkg/debug/debug_cs_corner_uv.F for the case nSy > 1 (left from
438        Jun 2009 modif of pkg/exch2).
439    o testing on baudelaire:
440      - run 2 tests at a time: no significant slow down (since enough cpu) and
441        get the full set of test done earlier
442      - switch the ifort test to "-devel" ; run the OpenAD test everyday.
443    o model/src/thermodynamics.F and routines called from it:
444      - pkg/gmredi: gmredi_residual_flow.F (replacing gmredi_calc_uvflow.F &
445        gmredi_calc_wflow.F) to update eulerian velocity (input) into residual
446        velocity (outp) by adding bolus velocity.
447      - model/src: calc_adv_flow.F (replacing calc_common_factors.F) to compute
448        mass transport from velocity + lateral grid cell area
449      - rename calc_gt.F to temp_integrate.F (includes call to TIMESTEP_TRACER)
450      - rename calc_gs.F to salt_integrate.F (includes call to TIMESTEP_TRACER)
451     in thermodynamics.F
452      - remove k from thermodynamics.F and move it to temp_integrate.F
453        salt_integrate.F and ptracers_integrate.F (now done inside the tracer
454        loop).
455      - compute locally (in thermodynamics.F) 3-D velocity field that is used to
456        advect tracers; pass it as argument to GAD_ADVECTION, GAD_SOM_ADVECT,
457        PTRACERS_ADVECTION, TEMP_INTEGRATE, SALT_INTEGRATE, PTRACERS_INTEGRATE,
458        GAD_IMPLICIT_R and PTRACERS_IMPLICIT
459      - update AD-output (TAF & OAD) of experiments: 1D_ocean_ice_column,
460        global_ocean.90x40x15, tutorial_global_oce_biogeo and
461        tutorial_tracer_adjsens (+ TLM output).
462    o tools/OAD_support and (verification/*/) code_oad:
463      - OAD_support/cb2mGetModules.csh: add PACKAGES_CONFIG.h in header file to
464        module conversion ; remove unneeded CPP_EEOPTIONS.h.
465      - code_oad/CPP_OPTIONS.h: remove PACKAGES_CONFIG.h and use a more standard
466        version (closer to model/inc/CPP_OPTIONS.h).
467    o model/src:
468      - remove parameter "useOldFreezing" from PARAMS.h and push it to the
469        retired list of parameters (routine FREEZE has been replace by surface
470        freezing (10.yrs ago) and by pkg/frazil (interior freezing).
471    o pkg/gmredi:
472      - add option (GM_CALC_TRANSP_FROM_VEL) to compute transport directly from
473        velocity (same scheme but affects machine truncation) for GM_AdvForm.
474      - update output of FWD experiments: front_relax.bvp,
475        global_ocean.90x40x15.dwnslp, global_ocean.cs32x15 and ideal_2D_oce.
476    
477    checkpoint64q (2013/11/17)
478    o verification:
479      - generate new output on baudelaire (gfortran, -ieee) for OpenAD experiments
480        tutorial_global_oce_biogeo and global_ocean.90x40x15.
481      - generate new output (growth & melt) for seaice_itd experiment after
482        updating the input pickup_seaice files (previously wrong).
483    o pkg/cost:
484      - define a "final cost function" for each tile, and use GLOBAL_SUM_TILE_RL
485        (instead of _GLOBAL_SUM_RL) to get the final cost from all procs & threads:
486        o this fixes global-sum value if multi-threads (since GLOBAL_SUM_RL
487          cannot be applied to var in common block).
488        o allows to get results independent of tile-per-proc setting (if using
489          slower GLOBAL_SUM_SEND_RECV option).
490      - update accordingly: seaice_cost_final.F, shelfice_cost_final.F,
491        thsice_cost_final.F and ecco_cost_final.F (this one affects lab_sea
492        forward gradients: update output).
493      - update */code_oad/externalDummies.F by adding dummy GLOBAL_SUM_TILE_RL
494        S/R and, for most exp., also comment out GLOBAL_SUM_R8.
495    o pkg/mom_common:
496      - move to pkg/mom_common and model/src (previously in tutorial_deep_convection
497        code) 2nd version of isotropic 3-D Smagorinsky code interface: strain and
498        viscosity are locally declared in dynmics.F and pass as argument to CALC_GW;
499        ensure that all field value that are used are set.
500    o tutorial_deep_convection (smag3d):
501      - add missing scaling in mom_calc_smag_3d.F;
502      - set smag3D_coeff in input.smag3d such that results do not change.
503    o pkg/dic:
504      - change dic_cost.F to compute cost on each tile first and then apply
505        GLOBAL_SUM_TILE_RL: this affects forward gradient of AD experiments
506        tutorial_dic_adjoffline & tutorial_global_oce_biogeo; update output.
507      - remove kLev argument and use GLOBAL_SUM_TILE_RL in tracer_meanarea.
508    o eesupp/src & pkg/mdsio:
509      - remove gather/scatter_vector.F (from eesupp) and mdsio_read/writevector.F
510        (from pkg/mdsio) since they are no longer used for tape IO.
511      - move simple C subroutine "setdir.c" from pkg/compon_communic to eesupp/src
512        (+ keep a copy in pkg/atm_ocn_coupler).
513    o verification/isomip:
514      - split domain in 8 squared tiles (instead of just 2) for FWD, AD & OAD tests.
515    o tools/build_options:
516      - optfile linux_amd64_ifort11, fast (no ieee) case:
517        to get a working restart for all experiments, add "-fp-model source"
518        to FOPTIM (also remove "-opt-streaming-stores auto" <- this is the default).
519    
520    checkpoint64p (2013/10/20)
521    o pkg/autodiff:
522      - adread_adwrite.F: when type and length do not match ALLOW_AUTODIFF_WHTAPEIO
523        criteria, return to simple (default) tape IO format.
524    o pkg/mdsio (+ eesupp/src):
525      - rewrite/simplify tape-IO S/R (new S/R MDS_READ/WRITE_TAPE replace
526        previous MDSREAD/WRITEVECTOR) with 2 array argument from each type (R4/R8);
527      - fix globalFile and singleCpuIO options using simpler global mapping.
528      - new pairs of scatter/gather vector S/R (one for each type, generated from
529        template) corresponding to simpler global mapping.
530      - adread_write.F: switch to new S/R (but leave old calls commented) and write
531        to globalFile when parameter globalFiles is set to True.
532      - switch on useSingleCpuIO in AD experiments: global_ocean.90x40x15 & isomip.
533    o pkg/autodiff:
534      - adread_adwrite.F: add a hack for RS arrays (when RS=real*4);
535        with ALLOW_AUTODIFF_WHTAPEIO defined, since corresponding (real*4) is
536        missing, just add a STOP if array type do not match.
537    o pkg/exf:
538      - to allow to use seaice-fraction from pkg/exf in other pkgs than pkg/seaice:
539         rename CPP option EXF_ALLOW_SEAICE_RELAX to EXF_SEAICE_FRACTION
540         and rename array obsSIce to exf_iceFraction.
541    o tutorial_deep_convection:
542      - add 1rst version of isotropic 3-D Smagorinsky code (from Louis-Philippe),
543        for now all in this exp. code dir.
544      - add secondary test using Smag-3D viscosity (keep very low backgroud visc for
545        testing) and flux-limter advection scheme for Temp. (no explicit diffusion).
546    o eesupp/src:
547      - added SINGLE_DISK_IO option because reading of parameter files on
548        very large number of processors did not work with existing set-up
549    
550    checkpoint64o (2013/09/25)
551    o pkg/atm_phys & atm_compon_interf:
552      - allows for coupling of gray-atmosphere (atm_phys) with ocean.
553    o tools/build_options:
554      - switch from "-fPIC" to "-mcmodel=medium" in optfiles: linux_amd64_gfortran
555        & linux_amd64_ifort11 and in linux_amd64_g77 & linux_amd64_open64 also
556        remove CPP setting (was identical to genmake2 default).
557    o pkg/gmredi & model/src: Some updating and work done on the residual model.
558      - created new file model/src/calc_eddy_stress.F to calculate the eddy stress.
559      - fixed up the calculation of the eddy stress and how it is added to the
560        external forcing via taueddy_external_forcing.F
561      - at the moment, it is very experimental and only works with the variable eddy
562        diffusivity calculated in gmredi_k3d.F
563    o pkg/seaice/seaice_check.F: add a check to catch the case of specifying
564        lw/swfluxfile instead of lw/swdownfile in data.exf together with pkg/seaice
565    o testreport (& tools/do_tst_2+2):
566      - for MPI test, set default COMMAND to 'mpirun -v -np TR_NPROC ./{executable}'
567    o tools/build_options: linux_amd64_gfortran & linux_amd64_ifort11:
568      - remove CPP='cpp -traditional -P' (this is genmake2 default)
569      - add switch (for big setups) to use 'medium' memory-model (but leave it
570        commented out for now). Note: needed with FC 19 to compile big setups.
571    o pkg/atm_compon_interf:
572      - regroup per field origin (model & pkgs) the coupling storage routines
573         (which accumalate in time each coupling field)
574      - move bi,bj loops inside atm_store_my_data.F and store also wind-stress;
575        update accordingly + simplify aim_do_physics.F
576    
577    checkpoint64n (2013/08/26)
578    o pkg/bbl:
579      - update formulation to reduce dispersion of tracer properties in bbl
580      - replaced horizontal and vertical transport parameters with velocities
581      - changes results for verification/global_with_exf.yearly
582    o verification/halfpipe_streamice:
583      - change to matrix construction; update both Fwd & AD output.
584    o verification/tutorial_tracer_adjsens:
585      - OpenAD test: switch to vector-invariant momentum since fluxform with
586        rStar causes problems with OpenAD; update output.
587    o tools:
588      - genmake2: define a common prefix for all temp-file names ; move them
589        to local /tmp disk (but would be easy to move them back);
590      - xmakedepend: apply the same switch for temp-files.
591    o pkg/offline:
592      - changes for use with rStar (NLFS): assume that we continue to provide
593        UVELMASS/hFacW_ini & VVELMASS/hFacS_ini (hFacWi,S_ini as written in grid
594        output files) and apply r* scaling at each time-step (function of the time
595        varying Eta field); use normal pickup files (needed for restart with NLFS).
596    o adjoint with OpenAD:
597      - move OpenAD-specific files from verification/OpenAD/code_oad_all to a new
598        package openad.  This package has to be compiled for all runs with OpenAD
599        instead of specifying code_oad_all as a modification directory.
600      - link the fortran templates from tools/OAD_support to the build directory
601        for preprocessing to avoid conflicts between different setups compiled
602        simultaneously and simplify cleanup.
603    o pkg/exf:
604      - in exf_getforcing.F: comment out most of the EXCH calls (fields used by
605        main model or other pkgs are exchanged in EXF_MAPFIELDS).
606    o model/src:
607      - do_stagger_fields_exchanges.F: skip EXCH calls when using pkg/offline
608        (similar to do_fields_blocking_exchanges.F).
609    o tools/genmake2:
610      - remove TAF output src code just before calling staf (when not doing a fresh
611        built, will stop if things go wrong with staf).
612      - fix target "adobj" (left from TAF version-2 transition)
613    o pkg/diagnostics:
614      - add a parameter to track the status of pkg/diagnostics activation;
615        this replace/extend the use of logical param "settingDiags" (to check
616        when adding diag to the list) to also check any DIAGNOSTICS_[]FILL* call.
617        New S/R to print error message and stop when pkgStatus is not right.
618      - to try: add a warning when "data.diagnostics" exist but useDiagnostics=F.
619    
620    checkpoint64m (2013/08/13)
621    o model/inc:
622      - move FCORI_MACROS.h from PARAMS(_MACROS).h to GRID_MACROS.h (left from
623        8 yrs ago modif when Coriolis arrays were moved from PARAMS.h to GRID.h)
624    o pkg/kpp & aim_v23:
625      - only call DIAGNOSTICS_FILL when useDiagnostics=TRUE.
626    o pkg/seaice:
627      - restore (last time on 2011/12/24) ability to compile pkg/seaice with
628        undefined pkg/exf ALLOW_ATM_TEMP or ALLOW_RUNOFF CPP-options.
629      - only call DIAGNOSTICS_FILL when useDiagnostics=TRUE.
630    o eesupp/src:
631      - fix check for overlap-size argument (myOLn.GT.MAX_OLY_EXCH)
632        in exch1_rx[_ad].template (thanks to Francois Lefeuvre report).
633    o switch to TAF version-2:
634      - add flow directives to "freeze" naming convention for ad-routines that
635        are used in I/O routines of adjoint state and associated common blocks
636        that are used in adcommon.h (backward compatible with version-1)
637      - update all ad-optfiles (in tools/adjoint_options + few local to some
638        verification exp) to switch to latest TAF version (currently 2.5.5);
639        merge "*_mpi" adoptfiles into the corresponding non-mpi (but commented
640        out except for diva).
641      - the major change with TAF version-2 is that both the differentiated
642        routines and the forward routines (new) are returned as part of the TAF
643        output source code. Update genmake2 accordingly.
644      - new output for AD experiment tutorial_global_oce_biogeo (better AD gradient
645        with version-2 when compared to TLM or FWD gradient); other experiments
646        output show minor changes (machine truncation level); update the few AD &
647        TLM output with 12 matching digits only (some prior to version-2 switch).
648    
649    checkpoint64l (2013/08/05)
650    o model/src:
651      - in dynamics.F, skip the call to CALC_VISCOSITY if momViscosity=F
652      - main_do_loop.F: no longer includes additional (AUTODIFF) header files
653        when using TAF but only if using OpenAD.
654    o pkg/mom_common+fluxform+vecinv:
655      - always set horiz. viscosity arrays to background value before calling
656        MOM_CALC_VISC (in MOM_FLUXFORM & MOM_VECINV) and call S/R MOM_CALC_VISC
657        only when using variable horiz. viscosity (useVariableVisc=T);
658      - simplify mom_vecinv.F (only 1 block for momViscosity).
659    o pkg/mom_common: variable horiz. viscosity in NH code
660      - move horiz-viscosity 3-D arrays viscAh_W & viscA4_W (used in calc_gw.F)
661        from model/inc/NH_VARS.h to pkg/mom_common/MOM_VISC.h
662      - store in common block (in MOM_VISC.h) logical parameters: useHarmonicVisc,
663        useBiharmonicVisc & useVariableVisc.
664      - fix old bug (already in 1rst implementation of variable horizontal viscosity
665        in calc_gw.F, version 1.27, 2006/06/20):
666        horizontal bi-harmonic viscosity in gW was missing when wiscA4W=0
667        even if variable bi-harmonic viscosity (e.g., viscA4Grid) was non-zero.
668      - change background horiz viscosity in vertical momentum (gW) to always be
669        viscAhW,viscA4W (instead of switching to viscAhD, viscA4D when using
670        any type of variable viscosity, e.g., viscAh/4Grid)
671      - change default value of viscAhW,viscA4W to viscAhD,viscA4D (instead of
672        viscAh,viscA4) which default to viscAh,viscA4 :  this avoid missing
673        horiz. viscosity in W eq when just setting viscAhD/Z,viscA4D/Z (since
674        default viscAh,viscA4 is zero).
675    o model/src:
676      - extend length of drC & recip_drC from Nr to Nr+1.
677    o Divided Adjoint (DIVA) with MPI:
678      - genmake2: do not create local ./mpi_headers dir when no file to copy into.
679      - remove option ALLOW_DIVIDED_ADJOINT_MPI (replaced by ALLOW_DIVIDED_ADJOINT
680        and ALLOW_USE_MPI) from model/src code and from ECCO_CPPOPTIONS.h.
681    
682    checkpoint64k (2013/07/23)
683    o tools/OAD_support:
684      - avoid the need for file "oadtempflile" in insertTemplateDir.bash
685        and remove it from genmake2.
686    o tools/build_options:
687      - remove MPI_HEADER_FILES_INC setting (no longer used) and comment out
688        MPI_HEADER_FILES list (let genmake2 find the missing headers)
689    o verification/halfpipe_streamice:
690      - change to driving stress formulation; update both Fwd & AD output.
691    o tools/genmake2 and Divided Adjoint with MPI:
692      - remove default setting of MPIINCLUDEDIR from $MPIHOME (always been broken);
693      - only create local ./mpi_headers dir if using MPI and MPIINCLUDEDIR is set;
694      - add new variable (LOCAL_MPI_HEADERS, replace MPI_HEADER_FILES_INC) in
695        Makefile, which is set by genmake2, and check which mpi-headers are needed.
696        Note: need to update adjoint_options/adjoint_diva_mpi accordingly.
697      - update target "CLEAN" (to also remove ./mpi_headers/ dir).
698    o testreport:
699      - changes for Divided Adjoint Run: when file "run_ADM_DIVA" is present,
700        perform additional runs (number of additional runs is "add_DIVA_runs" taken
701        from file run_ADM_DIVA ; should match "nchklev_3" in file "code_ad/tamc.h").
702    o verification/lab_sea (AD test):
703      - change to test Divided Adjoint Run in this set-up (both standard AD test
704        and 2 secondary AD test: noseaice + noseaicedyn); drop the evp AD test.
705    o pkg atm_ & ocn_compon_interf:
706      - remove cpl_earlyExpImpCall=F option (was mainly a hack added for the old
707        staggerTimeStep implementation) and disable (retired) corresponding
708        parameter.
709    o pkg/offline:
710      - comment out unused field-array: ICEM, ConvectCount, hflx[01], icem[01];
711      - add S/R OFFLINE_CHECK to print offline parameter summary
712        and stop if loading a file that is not used;
713      - enable to calculate GMRedi tensor, KPP mixing and convective index
714        when the corresponding file(s) is/are not specified (but pkg is used).
715      - comment out resetting of monitorFreq (to endTime) since it still useful
716        for monitoring CFL numbers and checking offline fields.
717    o OpenAD:
718      - do not define OAD_DEBUG (in tools/adjoint_options/adjoint_oad) to get
719        smaller standard output) and generate new (smaller) output (on baudelaire
720        using gfortran with -ieee) for exp. tutorial_tracer_adjsens
721    o model/src:
722      - call EXTERNAL_FORCING_SURF outside bi,bj loops (in do_oceanic_phys.F),
723        (where external_forcing_adjust was called) and change list of arguments;
724      - merge external_forcing_adjust.F into external_forcing_surf.F
725      - put surface relaxation of SST & SSS in new S/R (forcing_surf_relax.F)
726        which also contains balancing surface relaxation (ALLOW_BALANCE_RELAX,
727        previously in file "balance_relax.F", now removed); remove corresponding
728        arrays in FFIELDS.h.
729      - EXTERNAL_FORCING_SURF is now called when using pkg/offline; implement
730        a hack for getting back surfaceForcingS (loaded from file) when using
731        ALLOW_OLD_VIRTUALFLUX (pkg/dic, in DIC_OPTIONS.h) in offline set-up.
732      - update output of AD test experiment global_ocean.cs32x15.seaice_dynmix
733        (was getting only 11 digits for AD-grad, due to different truncation
734         error in AD code).
735    
736    checkpoint64j (2013/07/04)
737    o pkg/offline:
738      - to enable the use of other features with pkg offline (e.g., obcs),
739        also call S/R DO_OCEANIC_PHYS in offline run - more modifs to come.
740      - comment out "allowFreezing" (now active) in 2 offline testing exp.
741    o pkg/exf ALLOW_RUNOFTEMP
742      - fix sign and make compatible with temp_EvPrRn .NE. UNSET_RL
743      - ahdded RUNOFTEMP test to verification/global_ocean.cs32x15/input.seaice
744      - changes verification/global_ocean.cs32x15/results/output.seaice.txt
745    o pkg/atm_phys:
746      - allows to add some damping on uVel,vVel (strength only function of k).
747    o verification, ad-tests:
748      - reduce length of the simulation for AD test: global_ocean.cs32x15.seaice,
749        global_ocean_ebm and offline_exf_seaice.thsice.
750    o verification/halfpipe_streamice:
751      - found a bug in s/r pkg/streamice/streamice_advect_thickness which caused
752        flux input boundary conditions to be ignored; a fix for this bug changed
753        verification results for forward test.
754      - add adjoint test.
755    o pkg/ptracers:
756      - allow to restart without SOM pickup (resetting SOM to zero).
757    o pkg/gmredi:
758      - New parameterisation for the calculation of K and (GM_PsiX,GM_PsiY) added.
759      - It uses mixing length theory and suppression by steering level effects to
760        calculate a diffusivity used in the Redi tensor (see Bates et al., submitted
761        to JPO, for more details).
762      - It also uses the diffusivity to calculate an eddy induced streamfunction
763        based on a PV closure (rather than a buoyancy closure as in GM).
764      - New files added to pkg/gmredi:
765        gmredi_k3d.F calculates the diffusivity for the Redi tensor and the eddy
766          induced overturning streamfunction (called from gmredi_calc_tensor)
767        gmredi_calc_eigs.F calculates the eigenvalues and eigenvectors required
768          for use in gmredi_k3d
769        gmredi_calc_urms.F calculates the the rms eddy velocity used to calculate
770          the eddy diffusivity
771    
772  checkpoint64i (2013/06/18)  checkpoint64i (2013/06/18)
773  o pkg/cheapaml:  o pkg/cheapaml:
# Line 40  o pkg/cfc: Line 804  o pkg/cfc:
804      atmospheric CFC ; fix for the case myIter < PTRACERS_iter0.      atmospheric CFC ; fix for the case myIter < PTRACERS_iter0.
805    - fix calculation of surf tendencys for partial-cell and/or Non-Lin Free-Surf    - fix calculation of surf tendencys for partial-cell and/or Non-Lin Free-Surf
806    - new routine to print summary of CFC params and check for consistency.    - new routine to print summary of CFC params and check for consistency.
807    o pkg/seaice: add uice/vice to the parameter list of s/r seaice_advdiff,
808      similar to thsice_advdiff.
809      Note that for the B-grid case the routine parameters uc/vc are overwritten.
810  o pkg/cfc:  o pkg/cfc:
811    - change time interpolation for atmospheric CFC-11 (now same as for CFC-12);    - change time interpolation for atmospheric CFC-11 (now same as for CFC-12);
812      update output (CFC-11) of experiment cfc_example and tutorial_cfc_offline.      update output (CFC-11) of experiment cfc_example and tutorial_cfc_offline.

Legend:
Removed from v.1.1881  
changed lines
  Added in v.1.2024

  ViewVC Help
Powered by ViewVC 1.1.22