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 11403 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/traisf.F90 – NEMO

Ignore:
Timestamp:
2019-08-05T19:14:52+02:00 (5 years ago)
Author:
mathiot
Message:

ENHANCE-02_ISF_nemo : add comments, renaming file (AGRIF), add isfload module (ticket #2142)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/TRA/traisf.F90

    r11395 r11403  
    11MODULE traisf 
    22   !!============================================================================== 
    3    !!                       ***  MODULE  trasbc  *** 
    4    !! Ocean active tracers:  surface boundary condition 
     3   !!                       ***  MODULE  traisf  *** 
     4   !! Ocean active tracers:  ice shelf boundary condition 
    55   !!============================================================================== 
    66   !! History :    4.0  !  2019-09  (P. Mathiot) original file 
     
    3838   SUBROUTINE tra_isf ( kt ) 
    3939      !!---------------------------------------------------------------------- 
    40       !!                  ***  ROUTINE tra_sbc  *** 
     40      !!                  ***  ROUTINE tra_isf  *** 
    4141      !!                    
    42       !! ** Purpose :   Compute the tracer surface boundary condition trend of 
    43       !!      (flux through the interface, concentration/dilution effect) 
    44       !!      and add it to the general trend of tracer equations. 
     42      !! ** Purpose :  Compute the temperature trend due to the ice shelf melting (qhoce + qhc) 
    4543      !! 
    46       !! ** Method :   The (air+ice)-sea flux has two components:  
    47       !!      (1) Fext, external forcing (i.e. flux through the (air+ice)-sea interface);  
    48       !!      (2) Fwe , tracer carried with the water that is exchanged with air+ice.  
    49       !!               The input forcing fields (emp, rnf, sfx, isf) contain Fext+Fwe, 
    50       !!             they are simply added to the tracer trend (tsa). 
    51       !!               In linear free surface case (ln_linssh=T), the volume of the 
    52       !!             ocean does not change with the water exchanges at the (air+ice)-sea 
    53       !!             interface. Therefore another term has to be added, to mimic the 
    54       !!             concentration/dilution effect associated with water exchanges. 
    55       !! 
    56       !! ** Action  : - Update tsa with the surface boundary condition trend  
    57       !!              - send trends to trdtra module for further diagnostics(l_trdtra=T) 
     44      !! ** Action  : - update tsa for cav, par and cpl case 
    5845      !!---------------------------------------------------------------------- 
    5946      INTEGER, INTENT(in) ::   kt   ! ocean time-step index 
     
    6249      IF( ln_timing )   CALL timing_start('tra_sbc') 
    6350      ! 
    64       !---------------------------------------- 
    65       !       Ice Shelf effects (ISF) 
    66       !     tbl treated as in Losh (2008) JGR 
    67       !---------------------------------------- 
     51      ! cavity case 
    6852      IF ( ln_isfcav_mlt ) CALL tra_isf_mlt(misfkt_cav, misfkb_cav, rhisf_tbl_cav, rfrac_tbl_cav, risf_cav_tsc, risf_cav_tsc_b, tsa) 
     53      ! 
     54      ! parametrisation case 
    6955      IF ( ln_isfpar_mlt ) CALL tra_isf_mlt(misfkt_par, misfkb_par, rhisf_tbl_par, rfrac_tbl_par, risf_par_tsc, risf_par_tsc_b, tsa) 
    7056      ! 
     57      ! ice sheet coupling case 
    7158      !CALL tra_isf_cpl() 
    7259      ! 
     
    7764   SUBROUTINE tra_isf_mlt(ktop, kbot, phtbl, pfrac, ptsc, ptsc_b, pts) 
    7865      !!---------------------------------------------------------------------- 
     66      !!                  ***  ROUTINE tra_isf_mlt  *** 
     67      !! 
     68      !! *** Purpose :  Compute the temperature trend due to the ice shelf melting (qhoce + qhc) for cav or par case 
     69      !! 
     70      !! *** Action :: Update tsa with the surface boundary condition trend  
     71      !! 
     72      !!---------------------------------------------------------------------- 
    7973      REAL(wp), DIMENSION(jpi,jpj,jpk,jpts), INTENT(inout) :: pts 
    8074      !!---------------------------------------------------------------------- 
     
    8276      REAL(wp), DIMENSION(jpi,jpj)     , INTENT(in   ) :: phtbl, pfrac 
    8377      REAL(wp), DIMENSION(jpi,jpj,jpts), INTENT(in   ) :: ptsc , ptsc_b 
     78      REAL(wp), DIMENSION(jpi,jpj) :: ztc 
     79      !!---------------------------------------------------------------------- 
     80      INTEGER                      :: ji,jj,jk  ! loop index    
     81      INTEGER                      :: ikt, ikb  ! top and bottom level of the tbl 
     82      REAL(wp), DIMENSION(jpi,jpj) :: ztc       ! total ice shelf tracer trend 
    8483      !!---------------------------------------------------------------------- 
    8584      ! 
    86       INTEGER  ::   ji, jj, jk, jn              ! dummy loop indices   
    87       INTEGER  ::   ikt, ikb                    ! local integers 
    88       REAL(wp) :: zeps = 1.e-20 
    89       REAL(wp), DIMENSION(jpi,jpj) :: ztc 
    90       !!---------------------------------------------------------------------- 
    91       ! 
    92       !---------------------------------------- 
    93       !       Ice Shelf effects (ISF) 
    94       !     tbl treated as in Losh (2008) JGR 
    95       !---------------------------------------- 
    96       !  
    9785      ! compute 2d total trend due to isf 
    9886      ztc(:,:) = 0.5_wp * ( ptsc(:,:,jp_tem) + ptsc_b(:,:,jp_tem) ) / phtbl(:,:) 
Note: See TracChangeset for help on using the changeset viewer.