Parent Directory | Revision Log | Revision Graph
Links to HEAD: | (view) (download) (annotate) |
Links to checkpoint65o: | (view) (download) (annotate) |
Sticky Tag: |
Some minor rearrangement to support AD
- re-organize code in s/r ggl90_calc a little to move computations that are different for idemix into separate loops (changes verification experiements at truncation level) - requires 2 new 2D fields KappaM, verticalShear - make hFacI and recip_hFacI local 3D variables that are passed to s/r ggl90_idemix - fix and improve some comments
- change background vertical diffusivity in vertical mixing pkgs ggl90, kl10, my82 and pp81 from temperature diffusivity to salinity diffusivity. This makes ptracers default diffusivity (that uses salt diffKr) more consistent with vertical mixing schemes.
add one missing "_d 0" in IDEMIX part
fix newly added DIAGNOSTICS_FILL calls
initialise prTemp = 1. that caused a vermix.ggl90 to fail with -finit-real=inf (-devel option) initialise all arrays for safety ifdefs around variable IDEMIX_RiNumber move a commented line into the appropriate ifdef-block
add IDEMIX (Olbers and Eden, 2013, Eden and Olbers, 2014): - code provided by Carsten Eden as an extension of ggl90 - so far the code is turned on within ggl90 by setting a CPP-flag at compile time; a runtime flag implementation is not yet complete
change gTracer argument (drop bi,bj indices) in S/R SOLVE_TRIDIAGONAL
fix previous modification: remove spurious (and incorrect) masking
fix computation of control volumes for the case of ALLOW_GGL90_HORIZDIFF (probably not used very often): move control volumes up half a grid cell from C-centered to W-centeredupdating (pointed out by C. Eden)
- added run time flag mxlSurfFlag to include the code that ensure mixing between first and second level (previously included as a comment)
use sigmaR for N^2 calculation (this save density computations)
pass sigmaR as argument (but not yet used); will save several RHO computation
-rename arrays a,b,c to a3d,b3d,c3d (easier to grep for) -dirty fix to use vectorized & differentiable solve_tridiagonal.F
- add argument "myIter" to S/R GGL90_CALC - remove 3-D temp array "gTKE" for future TKE (replaced by 2-D tendency array if using Horiz. Diffusion) - rename "ab15,ab05" (not related to AB) to "implDissFac,explDissFac"
bug fix. gTKE is a local array, whereas SOLVE_TRIDIAGONAL expects a global array along with bi,bj. So 1,1 (not bi,bj) needs to be passed as argument to SOLVE_TRIDIAGONAL in this case.
Variable initializations and loop indices
Minor changes in pkg/ggl90: o GGL90diffKrS was removed --> always use GGL90diffKr o GGL90viscAr was removed --> replaced with GGL90viscArU, GGL90viscArV o hack of mxlMaxFlag=2 --> ensure mixing between first and second level (commented out for now) o change in max/min operations to ensure that smoothing is ok o smoothing of GGL90viscAr was moved to ggl90_calc.F (as done for GGL90diffKr) o always use diffKrNrT as background profile (i.e. never use diffKr field)
Some adjustments (changed the solver --> changes the numerics)
fix initialisation of SQRTTKE ; add few comments (marked "C- jmc:) on questionable pieces of code.
Add option for mixing length min/max
modif for vertical profile of background viscosity
A few adjustments
A bit of rewriting for ggl90 (see tag-index)
Add missing sqrt(2) factor in computation of mixing length.
replace calls to "FIND_RHO" by new version "FIND_RHO_2D".
fix bug: avoid division by zero
add additional parameter following David's suggestion, interestingly ggl90 seems to be quite insensitive to any change in parameters ...
Added _d 0 to constants in calls to MIN() to avoid the errors the IBM XL compilers produce otherwise. This is a recurring error... :-(
depth convergence accelerator: replace deltaTtracer by dTtracerLev(k)
allow to set a vertical profile of vertical diffusivity for T & S
- add horizontal diffusion of TKE, requires exchanges in do_fields_blocking_exchanges, horizontal diffusivity is zero by default. In OPA there is no horizontal diffusion of TKE but the mixing coefficients are computed from a horizontal average of TKE of 6 points or so. I think that diffusion has a little more physical justification. - clean up ggl90_calc in the hope of reducing memory usage (this hope was in vain) - mask tke-variable in ggl90_init
o initial check-in of TKE-model of Gaspar et al. 1990
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 |