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 15766 – NEMO

Changeset 15766


Ignore:
Timestamp:
2022-03-29T11:03:14+02:00 (2 years ago)
Author:
davestorkey
Message:

UKMO/NEMO_4.0.4_isopycnal_diffn_diags : science changes

Location:
NEMO/branches/UKMO/NEMO_4.0.4_isopycnal_diffn_diags
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/UKMO/NEMO_4.0.4_isopycnal_diffn_diags/cfgs/SHARED/field_def_nemo-oce.xml

    r13648 r15766  
    708708     <field id="ttrd_zdfp"     long_name="temperature-trend: pure vert. diffusion"   unit="degC/s" /> 
    709709     <field id="strd_zdfp"     long_name="salinity   -trend: pure vert. diffusion"   unit="1e-3/s" /> 
     710     <field id="ttrd_isoz"     long_name="temperature-trend: vert. cpt. isopyc. diffn"   unit="degC/s" /> 
     711     <field id="strd_isoz"     long_name="salinity   -trend: vert. cpt. isopyc. diffn"   unit="1e-3/s" /> 
     712     <field id="tem_isoflx_z"     long_name="vert. temperature flux from isopyc. diffn"   unit="degC/m/s" /> 
     713     <field id="sal_isoflx_z"     long_name="vert. salinity flux from isopyc. diffn"   unit="1e-3/m/s" /> 
    710714 
    711715     <!-- --> 
     
    744748     <field id="ttrd_zdfp_e3t"     unit="degC/s * m"  >  ttrd_zdfp * e3t </field> 
    745749     <field id="strd_zdfp_e3t"     unit="1e-3/s * m"  >  strd_zdfp * e3t </field> 
     750     <field id="ttrd_isoz_e3t"     unit="degC/s * m"  >  ttrd_isoz * e3t </field> 
     751     <field id="strd_isoz_e3t"     unit="1e-3/s * m"  >  strd_isoz * e3t </field> 
    746752 
    747753     <!-- --> 
     
    766772     <field id="ttrd_zdfp_li"     long_name="layer integrated heat-trend: pure vert. diffusion"    unit="W/m^2" > ttrd_zdfp_e3t * 1026.0 * 3991.86795711963 </field> 
    767773     <field id="strd_zdfp_li"     long_name="layer integrated salt-trend: pure vert. diffusion"    unit="kg/(m^2 s)" > strd_zdfp_e3t * 1026.0 * 0.001  </field> 
     774     <field id="ttrd_isoz_li"     long_name="layer integrated heat-trend: vert. cpt. isopyc diffn"    unit="W/m^2" > ttrd_isoz_e3t * 1026.0 * 3991.86795711963 </field> 
     775     <field id="strd_isoz_li"     long_name="layer integrated salt-trend: vert. cpt. isopyc diffn"    unit="kg/(m^2 s)" > strd_isoz_e3t * 1026.0 * 0.001  </field> 
    768776     <field id="ttrd_qns_li"      long_name="layer integrated heat-trend: non-solar flux + runoff" unit="W/m^2" grid_ref="grid_T_2D"> ttrd_qns_e3t * 1026.0 * 3991.86795711963 </field> 
    769777     <field id="ttrd_qsr_li"      long_name="layer integrated heat-trend: solar flux"              unit="W/m^2"  grid_ref="grid_T_3D"> ttrd_qsr_e3t * 1026.0 * 3991.86795711963 </field> 
     
    772780     <field id="ttrd_evd_li"      long_name="layer integrated heat-trend: evd convection "         unit="W/m^2" >ttrd_evd_e3t * 1026.0 * 3991.86795711963  </field> 
    773781     <field id="strd_evd_li"      long_name="layer integrated salt-trend: evd convection "         unit="kg/(m^2 s)" > strd_evd_e3t * 1026.0 * 0.001  </field> 
     782     <field id="heat_isoflx_z"     long_name="vert. heat flux from isopyc. diffn"   unit="J/m/s" > tem_isoflx_z * 1026.0 * 3991.86795711963  </field> 
     783     <field id="salt_isoflx_z"     long_name="vert. salt flux from isopyc. diffn"   unit="kg/m/s" > sal_isoflx_z * 1026.0 * 0.001  </field> 
    774784 
    775785   </field_group> 
  • NEMO/branches/UKMO/NEMO_4.0.4_isopycnal_diffn_diags/src/OCE/TRD/trd_oce.F90

    r14075 r15766  
    3333# endif 
    3434   !                                                  !!!* Active tracers trends indexes 
    35    INTEGER, PUBLIC, PARAMETER ::   jptot_tra  = 20     !: Total trend nb: change it when adding/removing one indice below 
     35   INTEGER, PUBLIC, PARAMETER ::   jptot_tra  = 22     !: Total trend nb: change it when adding/removing one indice below 
    3636   !                               ===============     !   
    3737   INTEGER, PUBLIC, PARAMETER ::   jptra_xad  =  1     !: x- horizontal advection 
     
    5252   INTEGER, PUBLIC, PARAMETER ::   jptra_atf  = 16     !: Asselin time filter 
    5353   INTEGER, PUBLIC, PARAMETER ::   jptra_tot  = 17     !: Model total trend 
     54   INTEGER, PUBLIC, PARAMETER ::   jptra_isoz   = 18     !: Trend due to vertical component of isopycnal diffusion 
     55   INTEGER, PUBLIC, PARAMETER ::   jptra_isoflx = 19     !: Vertical flux due to isopycnal diffusion 
    5456   ! 
    5557   !                                                  !!!* Passive tracers trends indices (use if "key_top" defined) 
    56    INTEGER, PUBLIC, PARAMETER ::   jptra_sms  = 18     !: sources m. sinks 
    57    INTEGER, PUBLIC, PARAMETER ::   jptra_radn = 19     !: corr. trn<0 in trcrad 
    58    INTEGER, PUBLIC, PARAMETER ::   jptra_radb = 20     !: corr. trb<0 in trcrad (like atf) 
     58   INTEGER, PUBLIC, PARAMETER ::   jptra_sms  = 20     !: sources m. sinks 
     59   INTEGER, PUBLIC, PARAMETER ::   jptra_radn = 21     !: corr. trn<0 in trcrad 
     60   INTEGER, PUBLIC, PARAMETER ::   jptra_radb = 22     !: corr. trb<0 in trcrad (like atf) 
    5961   ! 
    6062   !                                                  !!!* Momentum trends indices 
  • NEMO/branches/UKMO/NEMO_4.0.4_isopycnal_diffn_diags/src/OCE/TRD/trdtra.F90

    r14075 r15766  
    154154            END DO 
    155155            CALL trd_tra_mng( ztrdt, ztrds, jptra_evd, kt )   
     156            ! 
     157            ! 
     158            !                         ! Also calculate fluxes and trends due to vertical component of  
     159            !                         ! isopycnal diffusion at this point 
     160            zwt(:,:,:) = 0._wp   ;   zws(:,:,:) = 0._wp            ! vertical diffusive fluxes 
     161            DO jk = 2, jpk 
     162               zwt(:,:,jk) = ah_wslp2(:,:,jk) * ( tsa(:,:,jk-1,jp_tem) - tsa(:,:,jk,jp_tem) ) / e3w_n(:,:,jk) * tmask(:,:,jk) 
     163               zws(:,:,jk) = ah_wslp2(:,:,jk) * ( tsa(:,:,jk-1,jp_sal) - tsa(:,:,jk,jp_sal) ) / e3w_n(:,:,jk) * tmask(:,:,jk) 
     164            END DO 
     165            CALL trd_tra_mng( zwt, zws, jptra_isoflx, kt )   
     166            ! 
     167            ztrdt(:,:,jpk) = 0._wp   ;   ztrds(:,:,jpk) = 0._wp 
     168            DO jk = 1, jpkm1 
     169               ztrdt(:,:,jk) = ( zwt(:,:,jk) - zwt(:,:,jk+1) ) / e3t_n(:,:,jk) 
     170               ztrds(:,:,jk) = ( zws(:,:,jk) - zws(:,:,jk+1) ) / e3t_n(:,:,jk)  
     171            END DO 
     172            CALL trd_tra_mng( ztrdt, ztrds, jptra_isoz, kt )   
    156173            ! 
    157174            DEALLOCATE( zwt, zws, ztrdt ) 
     
    343360         CASE( jptra_zdfp )   ;   CALL iom_put( "ttrd_zdfp" , ptrdx )        ! PURE vertical diffusion (no isoneutral contribution) 
    344361                                  CALL iom_put( "strd_zdfp" , ptrdy ) 
     362         CASE( jptra_isoflx ) ;   CALL iom_put( "tem_isoflx_z" , ptrdx )     ! vertical flux due to isopyc diff 
     363                                  CALL iom_put( "sal_isoflx_z" , ptrdy ) 
     364         CASE( jptra_isoz )   ;   CALL iom_put( "ttrd_isoz" , ptrdx )        ! trend due to vertical component of isopyc diff 
     365                                  CALL iom_put( "strd_isoz" , ptrdy ) 
    345366         CASE( jptra_evd )    ;   CALL iom_put( "ttrd_evd"  , ptrdx )        ! EVD trend (convection) 
    346367                                  CALL iom_put( "strd_evd"  , ptrdy ) 
Note: See TracChangeset for help on using the changeset viewer.