Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint65l: | (view) (download) (annotate) |
Sticky Tag: |
move filling of diagnostics Um_Diss & Vm_Diss from mom_fluxform.F & mom_vecinv.F to here (to include Smag-3D contribution)
change gTracer (and/or tracer) argument (drop bi,bj indices) in S/R ADAMS_BASHFORTH2 & ADAMS_BASHFORTH3
- collect forcing tendency into local 2-D array (passed as argument to apply_forcing S/R); this simplifies Momentum Forcing diagnostics and CD_CODE parts (without CD_CODE_NO_AB_MOMENTUM defined = the default); affects results at machine truncation level (e.g., if using OBCS_SPONGE).
- using MOM fluxform and Non-Lin Free-Surf with momDissip_In_AB=F (not currently tested): add dissipation terms before NLFS rescaling of tendencies (previously done after).
- new file "apply_forcing.F" containing all the code previously in external_forcing.F, but with new argument list: pass, as new argument, the current level tendency array to update (instead of a direct update of the common bloc array). Change the corresponding calls.
fix typo in diagnostics for momentum tendency from AB
Add 3-D array 3rd dimension to argument list of S/R adams_bashforth2/3
- additional output argument for ADAMS_BASHFORTH S/R ; - add diagnostics for Adams-Bashforth tendency increment.
sigma (and hybrid-sigma) coordinate code for non-linear free-surface
add NH free-surface formulation (selectNHfreeSurf=1) (not fully tested)
fix typo from last modif (missing "/*" & "*/" in #endif ALLOW_NONHYDROSTATIC)
explicit time-stepping for part of Non-Hydrostatic pressure gradient
Change defaut D-grid time-stepping (similar to C-grid). Add 2 options (in CD_CODE_OPTIONS.h), to reproduce old results.
prepare for "clever pickup" implementation: add startAB parameter to argument list of S/R ADAMS_BASHFORTH2
Modifications for bottom topography control o replace hFacC by _hFacC at various places o replace ALLOW_HFACC_CONTROL by ALLOW_DEPTH_CONTROL o add non-self-adjoint cg2d_nsa o update autodiff support routines o re-initialise hfac after ctrl_depth_ini o works for 5x5 box, doesnt work for global_ocean.90x40x15
change forcing_In_AB to affects both T,S forcing and Momentum forcing (allow to differentiate between forcing components using new integer flags: momForcingOutAB=1/0 & tracForcingOutAB=1/0) and add new flag to put Dissipation tendency out of Adams-Bashforth.
1rst implementation of Implicit IGW using the 3-D solver (use3Dsolver=T) and based on the reference stratification
remove unused AB coefficient.
Allow to apply AB on T,S rather than on AB(gT,gS): - implemented within #ifdef ALLOW_ADAMSBASHFORTH_3 - use the same arrays (gtNm,gsNm) to hold tracer field at previous time-steps (if AB(T,S)) and tendencies (if AB(gT,gS)).
compute gUext,gVext only if diagnostic Um_ext,Vm_ext is on ; fill those diag. also if momForcing_In_AB=T (was missing).
Add diagnostics for external forcing of u and v.
add diagnostics for momentum eq.
dissipation & Hydrostatic-Phi gradient are always added to gU,gV in timestep.F (was already the case for dissipation with mom_vecinv, and also the case for grad.PhiHyd if staggered-timeStep) This allows to put dissipation out-off the AB time-stepping.
call adams_bashforth2 (or adams_bashforth3) instead of local calculation
isolate dissipation tendency (allow to keep it out off AB) note: only implemented in vector-invariant form.
modified pkg/cd_code o moved cd_scheme.F -> cd_code_scheme.F o separate read_checkpoint from cd_code_ini_vars.F o separated cd_code part from write_checkpoint o updated AD_SOURCE, generated .flow o added CD_CODE_VARS.h to the_main_loop
o add a "cd_code" package and update all the verification tests so that they use the new package instead of "INCLUDE_CD_CODE"
o first check-in for the "branch-genmake2" merge o verification suite as run on shelley (gcc 3.2.2): Wed Oct 8 23:42:29 EDT 2003 T S U V G D M c m s m s m s m s E p a R g m m e . m m e . m m e . m m e . N n k u 2 i a a d i a a d i a a d i a a d 2 d e n d n x n . n x n . n x n . n x n . OPTFILE=NONE Y Y Y Y 13 16 16 16 0 16 16 16 16 16 16 16 16 13 12 0 0 pass adjustment.128x64x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 0 0 16 16 0 0 pass adjustment.cs-32x32x1 Y Y Y Y 16 16 16 16 0 16 16 16 16 16 16 22 0 16 16 22 0 pass adjust_nlfs.cs-32x32x1 Y Y Y Y -- 13 13 16 16 13 13 13 13 16 16 16 16 16 16 16 16 N/O advect_cs Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O advect_xy Y Y Y Y -- 13 16 13 16 16 16 16 16 16 16 22 16 16 16 16 16 N/O advect_xz Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass aim.5l_cs Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 16 pass aim.5l_Equatorial_Channel Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 13 16 16 13 13 16 pass aim.5l_LatLon Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass exp0 Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 13 16 16 22 16 pass exp1 Y Y Y Y 13 13 16 13 16 16 16 16 16 13 13 16 16 13 13 13 13 pass exp2 Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass exp4 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 22 16 pass exp5 Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass front_relax Y Y Y Y 14 16 16 13 13 16 16 13 13 16 13 13 16 12 13 13 16 pass global_ocean.90x40x15 Y Y Y Y 10 16 16 13 13 16 13 16 16 13 13 13 13 16 16 13 16 FAIL global_ocean.cs32x15 Y Y Y Y 6 11 12 13 13 12 13 16 13 9 9 9 9 10 9 9 11 FAIL global_ocean_pressure Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass global_with_exf Y Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16 9 16 pass hs94.128x64x5 Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 13 16 22 13 pass hs94.1x64x5 Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 13 13 16 16 22 13 pass hs94.cs-32x32x5 Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL ideal_2D_oce Y Y Y Y 8 16 16 16 16 16 16 16 16 13 13 8 16 16 16 16 16 FAIL internal_wave Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass inverted_barometer Y Y Y Y 12 16 16 16 16 16 16 16 16 16 13 12 13 13 13 13 13 FAIL lab_sea Y Y Y Y 11 16 16 16 16 16 16 16 13 13 13 12 13 16 13 12 13 FAIL natl_box Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass plume_on_slope Y Y Y Y 13 16 16 16 16 13 16 16 16 16 16 16 16 13 16 16 16 pass solid-body.cs-32x32x1
o store u*,v* in gU,V instead of in gu,vNm1 o to allow to put the momForcing out of the Adams-Bashforth: move forcing & CD-scheme calls from mom_fluxform & mom_vecinv to timestep.F o new flag "useCDscheme" (default=F); replace guCD,gvCD by local arrays
"clean-up" unused phiHyd.
in preparation for r*: a) use pre-computed gradient of hydrostatic potential: changes in timestep.F & mom_cdscheme.F affect results of ideal_2D_oce b) move phi0surf from calc_phi_hyd to calc_grad_phi_hyd : => affects results of glob_oce_pressure (different truncation error)
in preparation for r*: new S/R (calc_grad_phi_hyd.F) to compute Hydrostatic potential gradient. pass the 2 comp. of the grad. as arguments to momentum S/R. for the moment, only used if it does not change the results.
r* coordinate added in #ifdef NONLIN_FRSURF block. (modification to pressure gradient not yet implemented)
Bringing comments up to data and formatting for document extraction.
modified for NonLin-FreeSurf : This affects the truncation error ==> all output.txt need to be updated.
Initialization of Adams-Bashforth time stepping for iter.EQ.0 - uses simple forward step - changes trajectories so *ALL* output is affected
Whitespace!
change units of PhiHyd (ocean) to have unified units for all potential Phi
remove "include CG2D.h"
implement a Crank-Nickelson barotropic time-stepping
Made sure each .F and .h file had the CVS keywords Header and Name at its start. Most had header but very few currently have Name, so lots of changes!
Merged changes from branch "branch-atmos-merge" into MAIN (checkpoint34) - substantial modifications to algorithm sequence (dynamics.F) - packaged OBCS, Shapiro filter, Zonal filter, Atmospheric Physics
Cosmetic.
Added myIter as an argument to timestep() to allow proper timestepping at myIter=0
Changes to allow for atmospheric integration builds of the code
Changes for new exchange routines which do general tile <-> tile connectivity, variable width overlap regions and provide hooks for shared memory and DMA protocols like Arctic, Memory Channel etc..
Consistent isomorphism chages
E-implemented the theta* and salt* time-stepping scheme. We did this so that theta/salt/u/v would all be at the same time-level at the end of dynamics() to make I/O easier.
Added code to bring "salt" up-to-date with "theta". One caveat is that implicit diffusion of salt is done with the diffusivity of theta. We'll sort this out later. In explicit mode, diffKzS is used.
Changes to support topography, hydrography and forcing from files
Various corrections: o do_gterm_blocking..() is fixed to work with new time-stepping o CPP_OPTIONS.h now contains #define ALLOW_CD
Merge of GM Redi and spherical polar and inplicit diffusion and CD. Everything for a global run is now included, however, still some discrepancies with GM Redi.
Implemented implicit vertical diffusion (tracers only). Involved introducing a "total" diffusivity array (local 3D) calculated by calc_diffusivity(). Made some small changes to time-stepping algorithm. Switched on by setting implicitZdiffusion. (note: *Not* fully tested with topography. But when switched off this does produce identical results)
Swapped the time-stepping algorithm around (just a little bit). We now officially use the predictor-corrector terminology. We make the prediction step at the end of the dynamics() section and store the result in the gUNm1, gVNm1, gTNm1 arrays. The "tricky" part is that at the beginning of the dynamics section, where the "correction" is made, theses arrays must be initialised at the beginning of any run. A new routine init_predictor() does this. This is "all" in preparation for implicit diffusion. Let's hope it's enough...
Further memory saving macros for particular grids
Added extra IO features - runtime on/off flags - more reporting of configuration
Moved the "K loop" from timestep() upto dynamics(). dynamics() now contains all K loops (two infact).
Removed development debuggin
Further $Id to $Header conversions
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.22 |