The general idea for these tags is to outline goals

Upcoming Tags

vmix_project_06_cesm_pop_2_1_20120712

  • Add tidal mixing (?)

vmix_project_05_cesm_pop_2_1_20120712

  • Add Richardson mixing and / or double diffusion mixing.

cvmix_201209??

  • Add logic to vmix_put statements to make sure array dimensions match (if using memory copies instead of pointers)
  • Add actual netCDF output option
  • Come up with smart way to design the stand-alone driver to make it easy to run a variety of tests (i.e. work towards being able to populate the reg_test directory).
    • Desired tests include:
      • Producing the Bryan-Lewis diffusivity values that Steve comes up with in his PDF
      • ?(Eventually) running single-column KPP, which will involve solving the vertical diffusion equation, to mimic Large et al 1994
      • Lots in between (I assume)

Existing Tags

?cvmix_20120913

  • Use pointers instead of memory copies
    • Doug points out that declaring arrays as pointers does not preclude us from allocating them and using them as typical "allocatable" variables... so defining everything as pointers still allows the memory-copy technique to be used, which is good for models that don't store data for all k+1 interfaces
  • Include netCDF output support (as compile-time option)
    • No actual netCDF files can be created with this tag, but the hooks are all there and the build system can include / link the netCDF library
  • Created September 13, 2012

vmix_project_03_cesm_pop_2_1_20120712

  • Create a stand-alone driver for vmix
  • Move vmix_init from vmix to POP (and make a similar routine for the stand-alone driver)
  • Set up vmix_put / vmix_get to copy variables / parameters between model and CVMix. (vmix_put should allocate memory if necessary and bark if memory was already allocated but dimensions don't match up.)
  • Pass CVMix routines single column, not a 1D (lat-lon combined into one index) array of columns
  • Created on August 14, 2012

vmix_project_02_cesm_pop_2_1_20120712

  • Clean up variable names
    • Remove separate structures for inputs and outputs, merge into vmix_data_type
    • Variables should not just be whatever POP calls them
      • Changes in vmix_bkgnd_params_type: static_visc and static_diff instead of const_vvc and const_vdc
      • Changes in vmix_data_type
        • nlev is the number of levels in a particular column, not POP's "km" (max number of levels)
        • visc_iface and diff_iface instead of "viscosity" and "diffusion" (the "_iface" indicates variable is on interface)
  • Add option for background visc  / diff fields to vary in lat-lon and / or in depth -- read from file or Bryan-Lewis form.
  • Separate convective mixing from background mixing
    • New module: vmix_convection.F90
    • New data type: vmix_conv_params (for convect_visc and convect_diff)
  • Clean up documentation in each module
  • Created on Aug 7, 2012

vmix_project_01_cesm_pop_2_1_20120712

  • Create vmix_kinds_and_types.F90 to hold all necessary parameters, kind numbers, and data types
  • Pull vmix_const.F90 out of POP (renamed vmix/vmix_background.F90)
  • Edit vertical_mix.F90 to call into vmix/
  • Created on July 28, 2012

vmix_project_00_cesm_pop_2_1_20120712

  • Simple copy of the POP2 trunk so we have a place to work
  • Created on July 17th, 2012
  • No labels