New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#2661 (missing diags for turbulence) – NEMO

Opened 3 years ago

Last modified 2 years ago

#2661 assigned Task

missing diags for turbulence

Reported by: clem Owned by: systeam
Priority: low Milestone:
Component: ZDF Version: trunk
Severity: minor Keywords:
Cc:

Description

I propose to add a couple of diags for turbulence. They can be outputed for any of the turbulent schemes available in the code except for the Kolmogorov energy of dissipation which I solely coded for tke (don't know how to do for the other schemes).
Here they are:

In field_def_oce.xml:

        <field id="avt_k"        long_name="vertical eddy diffusivity from closure schemes" standard_name="ocean_vertical_eddy_diffusivity"       unit="m2/s" />
        <field id="avm_k"        long_name="vertical eddy viscosity from closure schemes"   standard_name="ocean_vertical_eddy_viscosity"         unit="m2/s" />
        <field id="ediss_k"      long_name="Kolmogorov energy dissipation (tke scheme)"     standard_name="Kolmogorov_energy_dissipation"         unit="W/kg" />
        <field id="eshear_k"     long_name="energy source from vertical shear"              standard_name="energy_source_from_shear"              unit="W/kg" />
        <field id="estrat_k"     long_name="energy sink from stratification"                standard_name="energy_sink_from_stratification"       unit="W/kg" />

In zdfphy.F90:

      IF( iom_use('avt_k') .OR. iom_use('avm_k') .OR. iom_use('eshear_k') .OR. iom_use('estrat_k') ) THEN
         IF( l_zdfsh2 ) THEN
            zsh2(:,:,1  ) = 0._wp
            zsh2(:,:,jpk) = 0._wp
            CALL lbc_lnk( 'zdfphy', zsh2, 'W', 1. )
            CALL iom_put( 'avt_k'   ,   avt_k       * wmask )
            CALL iom_put( 'avm_k'   ,   avm_k       * wmask )
            CALL iom_put( 'eshear_k',   zsh2        * wmask )
            CALL iom_put( 'estrat_k', - avt_k * rn2 * wmask )
         ENDIF
      ENDIF

In zdftke.F90:

      ! Kolmogorov energy of dissipation (W/kg)
      !    ediss = Ce*sqrt(en)/L*en
      !    dissl = sqrt(en)/L
      IF( iom_use('ediss_k') ) THEN
         ztmp(:,:,:) = zfact3 * dissl * en * wmask
         CALL lbc_lnk( 'zdftke', ztmp, 'W', 1. )
         CALL iom_put( 'ediss_k', ztmp )
      ENDIF

Commit History (1)

ChangesetAuthorTimeChangeLog
14983clem2021-06-11T17:11:20+02:00

trunk: small sneaky enhancement related to ticket #2661 (adding dissipation outputs)

Change History (2)

comment:1 Changed 3 years ago by clem

In 14983:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:2 Changed 2 years ago by nemo

  • Owner set to systeam
  • Status changed from new to assigned
Note: See TracTickets for help on using tickets.