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.
Changeset 7063 – NEMO

Changeset 7063


Ignore:
Timestamp:
2016-10-21T15:11:17+02:00 (7 years ago)
Author:
timgraham
Message:

Fixes to get kinetic energy from GM & potential energy from vertical mixing to work with VVL

Location:
branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/CONFIG/SHARED/field_def.xml

    r7040 r7063  
    677677        <field id="sophtbtr_ind"      long_name="Barotropic Heat Transport: Indian"             unit="PW"       grid_ref="gznl_T_2D" /> 
    678678        <field id="sophtbtr_ipc"      long_name="Barotropic Heat Transport: Pacific+Indian"     unit="PW"       grid_ref="gznl_T_2D" /> 
    679         <field id="sophteiv"          long_name="Heat Transport from mesoscale eddy oveection"                     unit="PW"       grid_ref="gznl_T_2D" /> 
     679        <field id="sophteiv"          long_name="Heat Transport from mesoscale eddy advection"                     unit="PW"       grid_ref="gznl_T_2D" /> 
    680680        <field id="sophteiv_atl"      long_name="Heat Transport from mesoscale eddy advection: Atlantic"           unit="PW"       grid_ref="gznl_T_2D" /> 
    681681        <field id="sophteiv_pac"      long_name="Heat Transport from mesoscale eddy advection: Pacific"            unit="PW"       grid_ref="gznl_T_2D" /> 
     
    782782      <field id="ketrd_convP2K" long_name="ke-trend: conversion (potential to kinetic)"      unit="W/s^3"                        /> 
    783783      <field id="KE"            long_name="kinetic energy: u(n)*u(n+1)/2"                    unit="W/s^2"                        />    
    784       <field id="ketrd_eiv"     long_name="Kinetic energy trend from mesoscale eddy advection"   unit="W/s^2"                       />    
     784      <field id="ketrd_eiv"     long_name="Kinetic energy trend from mesoscale eddy advection"   unit="W/s^2" grid_ref="grid_T_2D" />    
    785785 
    786786      <!-- variables available with ln_PE_trd --> 
     
    802802      <field id="alphaPE"       long_name="partial deriv. of PEanom wrt T"       unit="degree_C-1"                       />    
    803803      <field id="betaPE"        long_name="partial deriv. of PEanom wrt S"       unit="1e3"                          />    
     804      <field id="petrd_zdfp_e3t"    unit="W/m^2" grid_ref="grid_T_3D"  > petrd_zdfp * e3t </field> 
    804805    </field_group> 
    805806 
     
    10141015       <field id="INTPBSI"     long_name="Vertically integrated of biogenic Si production"     unit="mol/m2/s"                       /> 
    10151016       <field id="INTPCAL"     long_name="Vertically integrated of calcite production"         unit="mol/m2/s"                       /> 
     1017       <field id="pe_trd"      long_name="Tendency of ocean potential energy content"          unit="W/m2"                           /> 
    10161018 
    10171019       <!-- PISCES light : variables available with key_pisces_reduced --> 
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/DIA/diaar5.F90

    r6437 r7063  
    2424   USE phycst         ! physical constant 
    2525   USE in_out_manager  ! I/O manager 
     26   USE zdfddm 
     27   USE zdf_oce 
    2628 
    2729   IMPLICIT NONE 
     
    4244   !! * Substitutions 
    4345#  include "domzgr_substitute.h90" 
     46#  include "zdfddm_substitute.h90" 
    4447   !!---------------------------------------------------------------------- 
    4548   !! NEMO/OPA 3.3 , NEMO Consortium (2010) 
     
    7578      INTEGER  ::   ji, jj, jk                      ! dummy loop arguments 
    7679      REAL(wp) ::   zvolssh, zvol, zssh_steric, zztmp, zarho, ztemp, zsal, zmass 
     80      REAL(wp) ::   zaw, zbw, zrw 
    7781      ! 
    7882      REAL(wp), POINTER, DIMENSION(:,:)     :: zarea_ssh , zbotpres       ! 2D workspace  
     83      REAL(wp), POINTER, DIMENSION(:,:)     :: pe                         ! 2D workspace  
    7984      REAL(wp), POINTER, DIMENSION(:,:,:)   :: zrhd , zrhop               ! 3D workspace 
    8085      REAL(wp), POINTER, DIMENSION(:,:,:,:) :: ztsn                       ! 4D workspace 
     
    8287      IF( nn_timing == 1 )   CALL timing_start('dia_ar5') 
    8388  
    84       CALL wrk_alloc( jpi , jpj              , zarea_ssh , zbotpres ) 
     89      CALL wrk_alloc( jpi , jpj              , zarea_ssh , zbotpres, pe ) 
    8590      CALL wrk_alloc( jpi , jpj , jpk        , zrhd      , zrhop    ) 
    8691      CALL wrk_alloc( jpi , jpj , jpk , jpts , ztsn                 ) 
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_flt.F90

    r6427 r7063  
    166166            ! 
    167167         ENDIF 
     168        IF( l_trddyn )   THEN                      ! Put here so code doesn't crash when doing KE trend but needs to be done properly 
     169            CALL wrk_alloc( jpi, jpj, jpk, ztrdu, ztrdv ) 
     170         ENDIF 
    168171         ! 
    169172      ELSE                       ! fixed volume  (add the surface pressure gradient + unweighted time stepping) 
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_eiv.F90

    r7040 r7063  
    2929   USE timing          ! Timing 
    3030   USE diaptr         ! Heat/Salt transport diagnostics 
     31   USE trddyn 
     32   USE trd_oce 
    3133 
    3234   IMPLICIT NONE 
     
    241243    ENDIF 
    242244 
    243     IF( ln_trddyn .AND. ln_KE_trd ) CALL trd_dyn(u_eiv, v_eiv, jptrd_eivke, kt ) 
     245    IF( ln_KE_trd ) CALL trd_dyn(u_eiv, v_eiv, jpdyn_eivke, kt ) 
    244246# endif   
    245247 
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRD/trdini.F90

    r6427 r7063  
    9191!!gm end 
    9292      ! 
    93       IF( lk_vvl .AND. ( l_trdtra .OR. l_trddyn ) )  CALL ctl_stop( 'trend diagnostics with variable volume not validated' ) 
     93!      IF( lk_vvl .AND. ( l_trdtra .OR. l_trddyn ) )  CALL ctl_stop( 'trend diagnostics with variable volume not validated' ) 
    9494       
    9595!!gm  : Potential BUG : 3D output only for vector invariant form!  add a ctl_stop or code the flux form case 
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRD/trdken.F90

    r7040 r7063  
    105105      ENDIF 
    106106      ! 
     107      zke(:,:,jpk) = 0._wp 
     108      zke(1,:, : ) = 0._wp 
    107109      zke(:,1, : ) = 0._wp 
    108110      DO jk = 1, jpkm1 
     
    200202            ! S = isoneutral slope. 
    201203            ! Most terms are on W grid so work on this grid 
     204            CALL wrk_alloc( jpi, jpj, zke2d ) 
    202205            zke2d(:,:) = 0._wp 
    203206            DO jk = 1,jpk 
     
    207210                          &                      * ( wslpi(ji, jj, jk) * wslpi(ji,jj,jk)    & 
    208211                          &                      +   wslpj(ji, jj, jk) * wslpj(ji,jj,jk) )  & 
    209                           &                      *   bn2(ji,jj,jk) * fse3w(ji, jj, jk) 
     212                          &                      *   rn2(ji,jj,jk) * fse3w(ji, jj, jk) 
    210213                  ENDDO 
    211214               ENDDO 
    212215            ENDDO 
    213             iom_put("ketrd_eiv", zke2d) 
     216            CALL iom_put("ketrd_eiv", zke2d) 
     217            CALL wrk_dealloc( jpi, jpj, zke2d ) 
    214218         ! 
    215219      END SELECT 
  • branches/UKMO/v3_6_extra_CMIP6_diagnostics/NEMOGCM/NEMO/OPA_SRC/TRD/trdpen.F90

    r6427 r7063  
    150150      rab_pe(:,:,:,:) = 0._wp 
    151151      ! 
    152       IF ( lk_vvl               )   CALL ctl_stop('trd_pen_init : PE trends not coded for variable volume') 
     152!      IF ( lk_vvl               )   CALL ctl_stop('trd_pen_init : PE trends not coded for variable volume') 
    153153      ! 
    154154      nkstp     = nit000 - 1 
Note: See TracChangeset for help on using the changeset viewer.