Skip to content

Releases: CVMix/CVMix-src

Eighth minor update to v0.60 (v0.68)

05 Oct 18:32
Compare
Choose a tag to compare

Bug fix in double diffusion - was updating entire column in salt-fingering case rather than just the level[s] where salt-fingering was occurring.

Seventh minor update to v0.60 (v0.67)

19 May 00:13
Compare
Choose a tag to compare

I inadvertently introduced a bug when removing cvmix_kpp_compute_nonlocal (that I am surprised was not caught during testing... but that's a different issue).

Sixth minor update to v0.60 (v0.66)

10 May 22:23
Compare
Choose a tag to compare

Remove lavg_N_or_Nsqr, per issue #54

Also changed compile flags for stand-alone driver using Intel - no longer errors on remarks (due to remark in Intel 15 regarding "vector always assert"

Fifth minor update to v0.60 (v0.65)

10 Apr 22:44
Compare
Choose a tag to compare

Two big modifications to the KPP algorithm:

  1. Previously, enhanced diffusivity was only computed for MatchTechnique = 'MatchBoth'; now it is available for all MatchTechnique options by setting lenhanced_diff = .true. in cvmix_init_kpp

  2. When using MatchTechnique = 'ParabolicNonlocal', gamma did not match the surface fluxes because the shape function (which = 1 at the surface) was still multiplied by the constant Cs. There is now an initialization setting lnonzero_surf_nonlocal which sets Cs = 1.

Also, a minor change in the stand-alone driver build system to make it easier to determine how to link to netCDF libraries.

Fourth minor update to v0.60 (v0.64)

10 Mar 23:47
Compare
Choose a tag to compare

Several small changes in cvmix_kpp, including some that change answers:

  1. Updated bulk Richardson computation to use (d-dr) rather than d, where dr is the depth of the center of the surface layer. Since the surface layer depth is assumed to be surf_layer_ext_d, this means the bulk Richardson number is computed using (1-0.5_surf_layer_ext)*d instead of d in the numerator.

  2. Change default behavior for computing the unresolved shear if you pass in N or N^2: instead of using N at the deeper interface as the cell center value as well, the default behavior is to average the two interfaces to get the cell center value. The old behavior is preserved by setting lavg_N_or_Nsqr = .false. in cvmix_init_kpp()

  3. The way N^2 is averaged has changed; rather than N_cntr = sqrt(avg(N^2[above,below])), we now use N_cntr = avg(sqrt(N^2)[above,below])

  4. Added a new parameter, minVtsqr, that can be set in cvmix_init_kpp to enforce a minimum value on the unresolved shear. Default is 1e-10 m^2/s^2

  5. Added two new parameters, minOBLdepth and maxOBLdepth, that can be set in cvmix_init_kpp to enforce a minimum and / or maximum value on the OBL depth. maxOBLdepth = 0 => no maximum; by default both parameters are set to 0.

Third minor update to v0.60 (v0.63)

31 Oct 23:57
Compare
Choose a tag to compare

Most of the changes in this release are in the stand-alone driver... improvements to plots (especially the plots coming out of the double diffusion test) and some small bookkeeping updates.

The big changes in src/shared/ are:

  1. Like all the other modules, background mixing now uses Mdiff and Tdiff instead of visc and diff
  2. In double diffusion mixing, you can now use the diffusive convection parameterization specified in either Marmorino and Caldwell 1976 [formerly the only option, now the default] or that of Kelley 1988. Just set diff_conv_type = "MC76" for the former and "K88" for the latter when initializing double diffusion.

Second minor update to v0.60 (v0.62)

30 Oct 00:35
Compare
Choose a tag to compare

Updates to shared code:

  1. Treat RICH < 0 like RICH = 0 for Pacanowski-Philander mixing (we already do this in the LMD shear mixing).
  2. Remove "no_diff" option for computing shear mixing coefficients

Updates to reg tests:

  1. Add PP test (recreate Figure 4 from their paper)
  2. Lots of clean up to shear testing directory and subroutine to account for additional test
  3. Improve cvmix_io routine for writing multiple columns of data at once
  4. A little bit of clean up in background and double diffusion driver routines

Minor update to v0.60 (v0.61)

19 Oct 18:24
Compare
Choose a tag to compare

Add max_nlev attribute to all the regression tests, switch flag for intel compiler from -fp-model precise to -fp-model source.

Major [interface-changing] update to beta version of CVMix

10 Oct 21:45
Compare
Choose a tag to compare

The low-level interfaces for computing diffusivity coefficients now require nlev (number of active levels) and max_nlev (size of arrays) as inputs. The CVMix data type stores nlev and max_nlev for each column, and both must be set before calling the wrapped interfaces for computing diffusivity coefficients.

Fifth minor update to first beta release (v0.55)

25 Sep 20:35
Compare
Choose a tag to compare

Bug fix: cvmix_coeffs_kpp_low no longer assumes old_Mdiff and Mdiff_out are the same length. (See issue #44)