/[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.526 by heimbach, Sat Jul 30 11:47:39 2005 UTC revision 1.639 by heimbach, Thu Mar 23 23:08:09 2006 UTC
# Line 4  $Name$ Line 4  $Name$
4      Notes on tags used in MITgcmUV      Notes on tags used in MITgcmUV
5      ==============================      ==============================
6    
7    o new code to compute profile cost
8      by Gael Forget
9      (modifs in ecco, ctrl, autodiff)
10    
11    checkpoint58c_post
12    o adjoint: finish NLFS adjoint and provide reference output in
13      verification/global_ocean.90x40x15/results_ad_nlfs
14    o seaice: add an EVP solver following Hunke and Dukowicz (1997) and the
15      documentation of CICE. Turn on by defining SEAICE_ALLOW_EVP in
16      SEAICE_OPTIONS.h and SEAICEuseEVP=.true. in data.seaice. Works only
17      with SEAICE_CGRID defined.
18    o move calendarDumps from "data" to "data.cal" and clean-up the code
19      with a simple call to pkg/cal S/R: CAL_TIME2WRITE
20    o add useEXF & useCAL flags (for now, set in hard-coded way)
21    o add S/R to compute NH-metrics terms & Coriolis f' in vertical momentum
22      (were missing in NH mode, and wrong in quasihydrostatic mode).
23      waiting for Chris updated version of calc_gw to add those CALLs.
24    o fix bug in quasihydrostatic S/R ;
25      add a test for this option: global_ocean.90x40x15.qshyd
26    o new S/R "SET_PARMS": set parameters that might depend on the use of some pkgs.
27      (called from INITIALISE_FIXED, after INI_PARMS & PACKAGES_READPARAMS)
28    o add on/off flag useOffLine for package OFFLINE
29    o seaice:
30      - modify advection so that it works also on the C-grid
31      - extend loop ranges in seaice_lsr and seaice_dynsolver; fixes
32        problem in multi-tile runs with C-grid
33      - add flags for clipping ice velocities and/or masking solver forcing
34      - fix drag (ocean on ice) formulation and a bug that caused noise in the
35        C-grid solver
36      - added a few comments to seaice_diffusion.F
37      - separate C-grid and B-grid versions more cleanly (UVM and seaiceMaskU/V
38        are now exclusive)
39      - add a new ocean-ice stress coupling method (Hibler and Bryan, 1987) which
40        required re-ordering the code a little:
41       + make DAIRN global variable (defined in SEAICE)
42       + move computation of the viscosities eta and zeta into a new separate
43         routine (because I need to recompute them in seaice_ocean_stress.F)
44    
45    checkpoint58b_post
46    o AIM+thSIce: fix sign of Short-Wave through the Ice ;
47      update output.txt of exp. aim.5l_cs.thSI
48    o various mnc cleanups and improvements:
49      + shrink lookup tables by factor of ~4
50      + better error reporting when running out of lookup space
51      + able to handle longer path/file names (up to 500 chars)
52    o adjoint:
53      - Another overhaul of store dirs. for NLFS to eliminate  "hidden" recomputations.
54      - TBD: "hidden" mom_vecinv recomp. in dynamics
55    o change forcing_In_AB to affects both T,S forcing and Momentum forcing
56     (allow to differentiate between forcing components using new integer flags:
57      momForcingOutAB=1/0 & tracForcingOutAB=1/0)
58     and add new flag to put Dissipation tendency out of Adams-Bashforth.
59    o ecco
60      - enable trend removal from SSH anomaly obs.
61    o adjoint
62      - a fix for PmEpR when #undef EXACT_CONSERV
63      - fix of "hidden" recomp. in thermodynamics (no TAF warnings)
64      - try to fix "hidden" recomp. in forward_step for NLFS
65        (NLFS seems broken sometimes after I checked it in)
66    o seaice:
67     - add c-grid version of the dynamic solver:
68       + three new routines that are the c-grid substitute lsr, dynsolver
69         and ostres
70       + put a few fields that were local to dynsolver into global common
71         blocks, so that I can move the computation of stresses etc into
72         seaice_lsr (saves coding but may break the adjoint).
73     - replace more hardwired parameters by runtime parameters
74     - add ice masks that mask the rhs of the implicit solvers where there
75       is no ice (commented out in seaice_dynsolver, because i am not sure
76       if this works properly), eventually this should replace the clipping
77       of ice velocities in seaice_dynsolver to +/-40cm/s.
78    o remove the BUILD_INFO.h include from CPP_EEOPTIONS.h and explicitly
79      include it only where its needed
80    o move balancing of fluxes before the call of external_forcing_surf
81    o seaice:
82      - correct units of turning angles (now they are really in degrees)
83      - move computation of GWATX/Y out of main routine into dynsolver
84      - initialize GWATX/Y in seaice_init
85    o Apply mask on Fresh-Water flux (needed for SSH forcing).
86      update output.txt of exp. global_ocean_ebm & cpl_aim+ocn (affects cg2d residual)
87    o seaice: add runtime flags for turning angles (default to zero)
88    o Adding runtime parameter to exf/, ctrl/, to remove on-the-fly global mean
89      and trend from exf forcing and ctrl control adjustments
90    o fix variable aliasing in gad_calc_rhs that cannot be handled by TAF
91      (since checkpoint57x_post)
92    o change the default rotation period to 86164.s = the Earth rotation
93    o 1rst implementation of Implicit IGW using the 3-D solver (use3Dsolver=T)
94      and based on a reference stratification. Tested within hs94.cs-32x32x5.
95    o seaice advection: add code for choosing between the default (2nd order
96      central differences) and multiDim advection schemes provided by
97      pkg/generic_advdiff
98    o seaice:
99      - removed all references to SEAICE_GRID.h fields from
100        dynsolver, advect, diffus, lsr, without changing the results of lab_sea
101        (cubed-sphere configuration will change a little)
102      - grid computations in seaice_init are obsolete now.
103      - cleaned up code a little so that is easier to read (hopefully).
104      - added new (better?) discretizations of default advection and diffusion
105        (turn on with SEAICEuseFluxForm)
106      - replace 1 in 3d global fields by kSurface in growth.F
107      
108    checkpoint58a_post
109    o seaice:
110      - bug fix in advect.F
111    o shelfice:
112      - separate shelfice load anomaly from pload (breaks with time
113        dependent forcing), => introduce constant field shelficeLoadAnomaly.
114        Its default is 0., but it may be computed more cleverly from (unknown)
115        t- and s-profiles (tRef, sRef) and actual EOS. For now this has to be
116        done offline. A good approximation of the pressure load anomaly is
117        necessary to avoid large initial adjustment processes underneath
118        deep-reaching shelfice.
119      - small fix in ISOMIP shelfice_thermodynamics
120      - add more sophisticated thermodynamics of Hellmer (1989), this is
121        now the default
122      - give a few constants more intuitive names
123    o add code to balance EmPmP and Qnet at the end of do_ocean_physics. Useful
124      if bulk formulae are used in long integration (especially EmPmR). Turn
125      on with balanceEmPmR = .true. or balanceQnet = .true. in data, PARM01
126      if balancePrintMean, the imbalance that is substracted is printed to
127      STDOUT.
128    o fix bug (typo) in obcs_apply_eta.F
129    o add a new package shelfice which enables us to model the circulation
130      underneath shelf-ice with draughts of hundreds of meters.
131     - works
132     - to do: + include improved thermodynamics
133              + check whether kSurfC (from model/inc/SURFACE.h) can be used
134                instead of new field kTopC
135              + can we use topoFile, Ro_surf and existing code in ini_depth.F
136                instead of new field R_shelfIce and new code in ini_depth.F
137                and ini_mask_etc.F?
138              + adjust vertical mixing schemes?
139    o seaice pkg:
140     - add a cpp-flag to include a simple formula for a salinity dependent
141       freezing point of sea water at the surface
142     - change the contents of SEAICE_TEST_ICE_STRESS_1 so that zonal and
143       meridional stresses are now different (and hopefully correct)
144    o AIM pkg: change threshold on large-scale condensation to conserve Heat.
145       update results of aim.5l_LatLon test ; fix title & units of AIM diagnostics
146       and  change 3 diagnostics names (OSR,OSRCLR,KM -> TSR,TSRCLR,DRAG)
147    o pkg/diagnostics: add options and parameters for regional-statistics
148       diagnostics ; define regions by reading a region-mask from a file
149       (might add other options later)
150    o pkg/bulk_force:
151     - add option and parameters to use AIM surface-flux formulae.
152     - Change loading part: S/R BULKF_FIELDS_LOAD only take care of bulkf_fields ;
153       others forcing fields (defined in PARM05, parameter file "data") are loaded
154       from S/R EXTERNAL_FIELDS_LOAD, as usually (with useBulkforce = T or F).
155     - initialise all bulkf_fields in bulkf_init.F ; do in-lining of exf_bulkcdn.F
156     - use the right EXCH call for uwind,vwind (to work on CS-grid).
157     - re-arrange header files (move parameters from BULKF.h to BULKF_PARAMS.h)
158       and parameters (note: calcWindStress replaces .NOT.readwindstress).
159     - cleaner interface with pkg/thSIce (new S/R THSICE_GET_PRECIP).
160    
161    checkpoint58
162    o add "--embed-source" option to genmake2 which, when the supporting
163      tools can be compiled (as determined by genmake2) will turn on the
164      embed_files package which then embeds the entire MITgcm source code
165      (*.[fFhc] + Makefile) used for the build within the executable
166      - requested by CNH but off by default
167      - adds a paltry <9MB to the mitgcmuv executable in most cases
168      - only writes the output when useEMBEDSRC in eedata is true
169    o clean up 3-dim. relaxation codes:
170      * Fix I/O inconsistency in pkg/rbcs: replace precFloat32 by readBinaryPrec
171      * Remove 3-dim. relaxation code from pkg/exf (now use only pkg/rbcs)
172      * Thanks to Tom Haine for testing!
173    
174    checkpoint57z_post
175    o make CG3D solver compatible with Free-surface at k > 1 (p-coordinate):
176      affects output (@ truncation level) of exp. plume_on_slope ; updated.
177    o fix the pickup behavior for obcs in combination with ptracers
178    o fix a bug in ptracers_external_fields_load
179    o no AB-2 at the first iteration for Gw (consistent with Gu,Gv,Gt,Gs ...)
180      affects results of NH experiments (but all our NH tests have Gw[it=1]==0 !!)
181    o transfered surface NH pressure to eta field (if exactConserv).
182    o gmredi: fix bugs in slope tapering ldd97 (depthZ had the wrong sign)
183         and update lab_sea output.txt file.
184    o completing 3-dim. relaxation code: additional term
185         1/tau*( theta(i,j,k) - thetaStar(i,j,k) )
186      in S/R EXTERNAL_FORCING_T (file external_forcing.F)
187      * At compile time, in "EXF_OPTIONS.h" set
188          #define  ALLOW_CLIMTEMP_RELAXATION
189          #define  ALLOW_CLIMSALT_RELAXATION
190      * At runtime in "data", under &PARM03 set (e.g., units in seconds)
191          tauThetaClimRelax3Dim = 15552000.0,
192          tauSaltClimRelax3Dim  = 15552000.0,
193      * 3 cases:
194          1) Use a constant-in-time 3-dim. field
195          2) Provide 12 3-dim. fields corresponding to Jan., ... , Dec.
196          3) Real-time relax. to time-evolving prescribed field
197    o Adding Laplacian-type smoothness constraint on
198      initial and boundary (forcing) controls (ic, bc)
199      * enable at compile-time via
200        ALLOW_SMOOTH_IC_COST_CONTRIBUTION, ALLOW_SMOOTH_BC_COST_CONTRIBUTION
201      * enable at run-time via mult_smooth_ic = 1, mult_smooth_bc = 1
202      * Absolute scale somewhat unclear so far
203      * no area weighting was included since no other cost term does so far
204    
205    checkpoint57y_post
206    First step for a NLFS adjoint
207    o initially suppress rStar (new flag DISABLE_RSTAR_CODE)
208    o new init. routines for calc_r_star, calc_surf_dr
209    o still need to deal with ini_masks_etc
210    o testreport seemed happy
211    checkpoint57y_pre
212    
213    o obcs: always reset wVel & eta (to zero or prescribe it) at the OBs.
214    o add new package rbcs (for relaxing ptracers at boundaries/depth/surface etc)
215    o add new offset feature to offline pkg (plus minor cleanup)
216    o cfc fixes for final year of integration
217    o clean up GCHEM_OPTIONS.h/DIC_OPTIONS.h (all options should
218      be in GCHEM_OPTIONS).
219    
220    checkpoint57x_post
221    o fix testreport Pb in multiple test experiment.
222    o cleanup our namelist syntax in verification:
223      - make it more F95 standards compliant (some work still needed)
224      - allows the vast majority of our tests to work with gfortran
225    o Non-Hydrostatic:
226     - put all NH variables (formerly in DYNVARS.h & GW.h) in NH_VARS.h
227     - fix exchange calls for CS-grid using the new EXCH_S3D_RL.
228    o Allow to apply AB on T,S rather than on AB(gT,gS):
229     - implemented within #ifdef ALLOW_ADAMSBASHFORTH_3
230     - use the same arrays (gtNm,gsNm) to hold tracer field at previous
231       time-steps (if AB(T,S)) and tendencies (if AB(gT,gS)).
232     - need a "clever" read_pickup to restart from the other AB formulation
233    o move local commom bloc /GlobalLo/ (used for singleCpuIO) in EESUPPORT.h
234    o remove some unused variables (reduces number of compiler warnings)
235    o adjoint
236      * Disable useVariableViscosity for adjoint for time being
237        (there are a number of extensive recomputations)
238      * Initialize certain variables needed for adjoint
239    
240    checkpoint57w_post
241    o pkg/mdsio: use MAX_LEN_FNAM (instead of hard coded 80) for file-names
242                 fix the singleCpuIO RS version of MDSWRITEFIELD
243       and add a WARNING if using globalFiles=T with multi-processors.
244    o write grid-file(s) in only one format (MDS or MNC): default=MNC (if
245      using MNC); can force MDS output by setting writegrid_mnc=F in data.mnc
246    o tracer advection scheme:
247      add DST-2 (=Lax-Wendroff) & 1rst order upwind schemes (the way to get
248       those 2 schemes before, changing GAD_FLUX_LIMITER.h + to recompile,
249       was not very convenient).
250      add implicit version for DST-3 & DST3_Flux_Limit vertical advection;  
251       (further tests needed for the implicit DST & Flux-Limiter schemes).
252    o PTRACERS: added namelist parameter PTRACERS_ref in analogy to tRef
253      and sRef for convenience, handy, when you want to initialize
254      ptracers in a large domain with a constant non-zero value. Also,
255      untangle ptracers_init.F a little.
256    
257    checkpoint57v_post
258    o change dome exp. to use variable viscosity in side-drag terms.
259    o remove all the files from the cfc_offline test since they are now
260      incorporated into tutorial_cfc_offline which has been producing
261      identical results for a few days of testing
262    o add new parameter: sideDragFactor to enable half-slip-side BC
263      and change side-drag S/R to use viscosity from mom_calc_visc
264      (can switch back by setting sideDragFactor=0.); affects results at
265      truncation level; regenerate output for exp.: global_ocean.cs32x10(x3),
266       global_ocean_ebm, global_ocean_pressure, matrix_example & MLAdjust(x5).
267    o vorticity & strain are now computed without masking, to account for
268      no-slip-side BC in variable viscosity calculation ; mask is applied
269      anyway later on, before computing advection/coriolis terms.
270    o modify exp4 to test new obcs support for reading from external files
271      and for passive tracers
272    o fix behavior of ptracers_monitor when monitor output is written to a
273      netcdf-file; still not independent of monitor.F (writes in the same
274      file).
275    o change default value of tRef (put a uniform, meaningful value for ocean
276      & atmos) and initialize sRef (was missing, as Martin mentioned).
277    o Redefine viscC?Leith*.  Change the coefficients of Leith viscosity
278      to be proportional to enstrophy dissipation length.  Thus,
279       viscC?leith?_new=pi*(viscC?leith?_old)^(1/3)
280      This is now consistent with Smagorinsky and with the manual.
281    
282    checkpoint57u_post
283    o OBCS and PTRACERS: add open boundary support for passive tracers
284      - either use homogenous (pseudo) v.Neumann conditions or prescribe
285        OB-values from file; this is not different from the way theta and salinity
286        are treated
287      - however, Orlanski-radiation conditions are not supported, and the model
288        will stop if you use pTracers and Orlanski at the same time.
289      - beefed up the rountine obcs_external_fields_load: now only those open
290        boundary values are overwritten with values from files for which there
291        are really files, otherwise the OB-fields remain untouched. This makes
292        it possible to use different OBs at different ends of the domain (as
293        with EXF)
294    o reduce number of exch calls in shap_filt (s2).
295    o CS-grid: fix divergence contribution to Leith viscosity. Affects (@
296      truncation level) 4/5 MLAdjust test results (11&12 digits match).
297    
298    checkpoint57t_post
299    o test biharmonic viscosity + no-slip with exp: global_ocean.cs32x15.viscA4
300    o finish adding brackets (coriolis S/R, vecinv) in multi-terms sum to get
301      same truncation, independent of the face number: affects affects several
302      test. exp.: Update global_ocean.cs32x15 (+.thsice) & MLAdjust (all 5).
303    o fix bug in mom_v_sidedrag (biharmonic viscosity was counted 2 times);
304      note that biharmonic viscosity + no-slip was not tested in any experiment.
305    o fix bug in non-linear free-surf side-drag ; generate new output for
306      global_ocean.cs32x15(+.thsice) & global_ocean_pressure.
307    o make mnc honor the writeBinaryPrec flag for most kinds of output
308    o eesupp: split EEPARAMS into EESIZE/EEPARAMS and add a vector global sum
309    o minor change in averaging W (mom_vi_?_vertshear.F) that affects truncation
310      error; update output from global_ocean.cs32x15(+.thsice) & MLAdjust (all 5).
311    o add brackets in multi-terms sum to get same truncation, independent of
312      the face number (manage to get exactly same value of gU,gV at the cs-edge)
313      affects several test. exp. Update global_ocean.cs32x15 (+.thsice).
314    o Clean, new version of mom_calc_visc.  Adds a new feature, viscAhRemax
315      and viscA4Remax, which allow one to limit the minimum viscosity by specifying
316      a maximum grid-scale Reynolds number.  Also, changes all length calculations
317      in the case of grid anisotropy to geometric mean of dx**2 and dy**2.
318      Suggested values of viscosity parameters found in mom_calc_visc.
319      Many new viscosity diagnostics available.
320    
321    checkpoint57s_post
322    o Add clearing-house for viscosity calculations, mom_calc_visc and
323      correct numerous bugs in LeithD and Smagorinsky discretizations.  
324      mom_calc_visc now allows for Smagorinsky, Leith and LeithD to be
325      used simultaneously, and to be used in mom_vecinv and mom_fluxform.
326      Mom_vecinv can be used with standard viscous calculation (mom_vi_hdissip.F)
327      and with Strain-Tension viscous term calculation (mom_hdissip.F).  
328      The Strain-Tension form is now called with useStrainTensonVisc=.true.
329      ViscAhStrain and viscAhTension are now retired.
330    o diagnostics "VISCAHD" & "VISCA4D" replace "VISCAH" & "VISCA4".
331    o In response to JMC's bug report, genmake2 now ignores any soft-links
332      that it finds in the *current* directory when searching for files.
333      Soft-links found in any other source directories will still work as
334      they did before.
335    o add HAVE_SETRLSTK define and useSETRLSTK flag (eedata) which calls
336      a C routine to unlimit the stack size
337    o mnc-ify pkg/aim snapshot vars
338    o mnc-ify pkg/land as requested by Daniel
339    o various changes to mnc including:
340      - all files use the new "BASENAME[[.ITER].{t|f}NUM].nc" format
341      - output can now be grouped so that all files within a group
342          change the ITER portion of their names in lock-step together
343      - can now read ("global") PER-FACE (in addition to PER-TILE) files
344          and works with both EXCH1 and EXCH2 (but needs more testing)
345      - writing works for all verification test cases w/ g77 on Linux
346    
347    checkpoint57r_post
348    o make MNC variable initialization happen earlier
349    o add diagnostics for (almost) each term of the momentum Eq.
350    o remove SST,SSS,UVEL_k2,VVEL_k2 diagnostics.
351    o move pkg timeave out of pkg-groups "oceanic" & "atmospheric" (pkg/pkg_groups)
352    o remove MINIMAL_TAVE_OUTPUT option ;
353      add "dumpInitAndLast" to replace "nodumps" (and MINIMAL_TAVE_OUTPUT).
354    o move some basic S/R (used elsewhere in the code) from pkg/mdsio to eesupp/src
355      allows to compile without pkg/mdsio (& test successfully hs94.1x64x5)
356    o add MNC output for adjoint of EXF (adexf), SEAICE (adseaice)
357    o add time-dependent SST, SSS control
358    o cost terms in ecco/ modularized (new cost_generic.F)
359    o cost_averages routines are modularized (new cost_averagesgeneric.F)
360    o new infrastructure for seaice model vs. obs misfits in seaice/
361      * driver from the_main_loop.F is seaice_cost_driver.F
362      * first term is AREA vs. SMR observation misfit (ALLOW_SEAICE_COST_SMR_AREA)
363      * gradient check in Exp. 6a of natl_box_adjoint/
364    o natl_box_adjoint input_seaice for Lab. Sea now available online via wget
365      (see README file)
366    
367    checkpoint57q_post
368    o fix initialisation Pb in calc_gw (get NANs in exp5 with g77)
369    o fix annoying months-old bug in mnc/mdsio output for seaice pkg
370      - bug was reported by Jean-Michel and Ian Fenty
371    o fix initialization Pb in AIM-Ocean coupled model (aim_sice2aim.F)
372      update exp. cpl_aim+ocn output.
373    o Implement 4-level checkpointing: AUTODIFF_4_LEVEL_CHECKPOINT
374      Needed for high-res. runs with large global files
375      to be able to limit tapelev size
376    o Changed some tests for adjoint:
377      * carbon/ now tests AUTODIFF_2_LEVEL_CHECKPOINT
378      * natl_box_adjoint/code_bulk/ tests AUTODIFF_4_LEVEL_CHECKPOINT
379      * global_ocean.90x40x15/ back to default 3-level checkpointing
380    o Modifications to enable scripted COMMON to MODULE conversion
381      * verification/OpenAD/code/ has necessary scripts and description;
382      * converts, compiles and runs successfully;
383    
384    checkpoint57p_post
385    o reading of delXfile & delYfile moved from ini_parms.F to ini_grid.F
386    o move ${PKG}_MNC_INIT from ${PKG}_READ_PARAMS to ${PKG}_INIT_FIXED
387      (already the case for some pkgs, including recent MNC_init, e.g. thsice)
388    o call CALC_GW from DYNAMICS (instead of from FORWARD_STEP)
389    o Dissipation & phiHyd gradient are always added to gU,gV in timestep.F
390      (was already the case for dissipation with mom_vecinv,
391       and also the case for grad.PhiHyd when staggered-timeStep)
392      This will allow to put dissipation out-off the AB time-stepping.
393     Unfortunately, affects truncation error. Update output of exp. that "fails"
394      (cg2d matching number) and leave the others for later: front_relax(10),
395      global_ocean_pressure(10),ideal_2D_oce(10),internal_wave(9),lab_sea(12),
396      matrix_example(7!),natl_box(12),plume_on_slope(11),vermix(12x3,11x2).
397    
398  checkpoint57o_post  checkpoint57o_post
399  o fix MNC/MDSIO flags in PTRACERS so that (1) it works, and  o fix MNC/MDSIO flags in PTRACERS so that (1) it works, and
400    (2) its ready to be documented during the 20050801 DocFest    (2) its ready to be documented during the 20050801 DocFest

Legend:
Removed from v.1.526  
changed lines
  Added in v.1.639

  ViewVC Help
Powered by ViewVC 1.1.22