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

Changeset 14190


Ignore:
Timestamp:
2020-12-16T13:31:27+01:00 (3 years ago)
Author:
kingr
Message:

Allow heat/salt conservation when assimilating SSH to be namelist controlled.

Location:
branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90

    r13318 r14190  
    7878   LOGICAL, PUBLIC :: ln_trainc = .FALSE.      !: No tracer (T and S) assimilation increments 
    7979   LOGICAL, PUBLIC :: ln_dyninc = .FALSE.      !: No dynamics (u and v) assimilation increments 
     80   LOGICAL, PUBLIC :: ln_ssh_hs_cons = .FALSE. !: Conserve heat and salt when adding SSH increment 
    8081   LOGICAL, PUBLIC :: ln_sshinc = .FALSE.      !: No sea surface height assimilation increment 
    8182   LOGICAL, PUBLIC :: ln_seaiceinc = .FALSE.   !: No sea ice concentration increment 
     
    178179         &                 ln_pno3inc, ln_psi4inc, ln_pdicinc, ln_palkinc, & 
    179180         &                 ln_pphinc, ln_po2inc, ln_ppo4inc,               & 
    180          &                 ln_asmdin, ln_asmiau,                           & 
     181         &                 ln_asmdin, ln_asmiau, ln_ssh_hs_cons,           & 
    181182         &                 nitbkg, nitdin, nitiaustr, nitiaufin, niaufn,   & 
    182183         &                 ln_salfix, salfixmin, nn_divdmp, nitavgbkg,     & 
     
    198199      ln_salfix = .FALSE. 
    199200 
     201      ln_ssh_hs_cons = .FALSE. 
    200202      ln_seaiceinc = .FALSE. 
    201203      ln_sitinc = .FALSE. 
     
    230232         WRITE(numout,*) '      Logical switch for applying tracer increments            ln_trainc = ', ln_trainc 
    231233         WRITE(numout,*) '      Logical switch for applying velocity increments          ln_dyninc = ', ln_dyninc 
     234         WRITE(numout,*) '      Logical switch for conserving heat/salt when applying SSH increments ln_ssh_hs_cons = ', ln_ssh_hs_cons 
    232235         WRITE(numout,*) '      Logical switch for applying SSH increments               ln_sshinc = ', ln_sshinc 
    233236         WRITE(numout,*) '      Logical switch for applying SIC increments               ln_seaiceinc = ', ln_seaiceinc 
  • branches/UKMO/AMM15_v3_6_STABLE_package_collate/NEMOGCM/NEMO/OPA_SRC/TRA/trasbc.F90

    r9178 r14190  
    284284 
    285285#if defined key_asminc 
    286 ! WARNING: THIS MAY WELL NOT BE REQUIRED - WE DON'T WANT TO CHANGE T&S BUT THIS MAY COMPENSATE ANOTHER TERM... 
    287 ! Rate of change in e3t for each level is ssh_iau*e3t_0/ht_0 
    288 ! Contribution to tsa should be rate of change in level / per m of ocean? (hence the division by fse3t_n) 
    289       IF( ln_sshinc ) THEN         ! input of heat and salt due to assimilation 
     286      IF( ln_sshinc .and. ln_ssh_hs_cons ) THEN         ! conserve heat and salt when assimilating SSH 
    290287         DO jj = 2, jpj  
    291288            DO ji = fs_2, fs_jpim1 
     
    293290               DO jk = 1, jpkm1 
    294291                  tsa(ji,jj,jk,jp_tem) = tsa(ji,jj,jk,jp_tem)   & 
    295                                         &            + tsn(ji,jj,jk,jp_tem) * zdep * ( e3t_0(ji,jj,jk) / fse3t_n(ji,jj,jk) ) 
     292                                        &            + tsn(ji,jj,jk,jp_tem) * zdep * ( e3t_0(ji,jj,jk) / fse3t_n(ji,jj,jk) )* tmask(ji,jj,jk)  
    296293                  tsa(ji,jj,jk,jp_sal) = tsa(ji,jj,jk,jp_sal)   & 
    297                                         &            + tsn(ji,jj,jk,jp_sal) * zdep * ( e3t_0(ji,jj,jk) / fse3t_n(ji,jj,jk) ) 
     294                                        &            + tsn(ji,jj,jk,jp_sal) * zdep * ( e3t_0(ji,jj,jk) / fse3t_n(ji,jj,jk) )* tmask(ji,jj,jk)  
    298295               END DO 
    299296            END DO   
     
    301298      ENDIF 
    302299#endif 
    303   
     300 
    304301      IF( l_trdtra )   THEN                      ! send trends for further diagnostics 
    305302         ztrdt(:,:,:) = tsa(:,:,:,jp_tem) - ztrdt(:,:,:) 
Note: See TracChangeset for help on using the changeset viewer.