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 11541 for NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfcavmlt.F90 – NEMO

Ignore:
Timestamp:
2019-09-12T18:41:17+02:00 (5 years ago)
Author:
mathiot
Message:

ENHANCE-02_ISF: simplify use of ln_isf, add extra comments + minor changes (ticket #2142)

File:
1 edited

Legend:

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

    r11495 r11541  
    11MODULE isfcavmlt 
    22   !!====================================================================== 
    3    !!                       ***  MODULE  isfcav_mlt  *** 
     3   !!                       ***  MODULE  isfcavmlt  *** 
    44   !! ice shelf module :  update surface ocean boundary condition under ice 
    55   !!                   shelf 
     
    99 
    1010   !!---------------------------------------------------------------------- 
    11    !!   isfcav_mlt    :  
     11   !!   isfcav_mlt    : update surface ocean boundary condition under ice shelf 
    1212   !!---------------------------------------------------------------------- 
    1313   USE oce            ! ocean dynamics and tracers 
    1414   USE isf            ! ice shelf public variables 
    15    USE isfutils 
    1615   USE dom_oce        ! ocean space and time domain 
    1716   USE phycst         ! physical constants 
     
    4241      &                           pqhc, pqoce, pqfwf  ) 
    4342      !!---------------------------------------------------------------------- 
     43      !! 
     44      !!                          ***  ROUTINE isfcav_mlt  *** 
    4445      !! 
    4546      !! ** Purpose    : compute or read ice shelf fwf/heat fluxes in the ice shelf cavity 
     
    7980! ------------------------------------------------------------------------------------------------------- 
    8081 
    81    SUBROUTINE isfcav_mlt_spe(kt, pstbl,              &  ! <<== in 
     82   SUBROUTINE isfcav_mlt_spe(kt, pstbl,          &  ! <<== in 
    8283      &                      pqhc , pqoce, pqfwf )  ! ==>> out 
    8384      !!---------------------------------------------------------------------- 
     85      !! 
     86      !!                          ***  ROUTINE isfcav_mlt_spe  *** 
     87      !! 
    8488      !! ** Purpose    : - read ice shelf melt from forcing file 
    8589      !!                 - compute ocea-ice heat flux (assuming it is equal to latent heat) 
     
    109113   END SUBROUTINE isfcav_mlt_spe 
    110114 
    111    SUBROUTINE isfcav_mlt_2eq(pgt, pttbl, pstbl,       &  ! <<== in 
    112       &                       pqhc , pqoce, pqfwf )  ! ==>> out 
    113       !!---------------------------------------------------------------------- 
     115   SUBROUTINE isfcav_mlt_2eq(pgt , pttbl, pstbl, &  ! <<== in 
     116      &                      pqhc, pqoce, pqfwf  )  ! ==>> out 
     117      !!---------------------------------------------------------------------- 
     118      !! 
     119      !!                          ***  ROUTINE isfcav_mlt_spe  *** 
     120      !! 
    114121      !! ** Purpose    : Compute ice shelf fwf/heqt fluxes using ISOMIP formulation (Hunter et al., 2006) 
    115122      !! 
     
    141148      ! 
    142149      ! compute ocean-ice heat flux and then derive fwf assuming that ocean heat flux equal latent heat 
    143       pqfwf(:,:) = - pgt(:,:) * rau0_rcp * zthd(:,:) * r1_Lfusisf  ! fresh water flux  ( > 0 out ) 
     150      pqfwf(:,:) = - pgt(:,:) * rau0_rcp * zthd(:,:) / rLfusisf    ! fresh water flux  ( > 0 out ) 
    144151      pqoce(:,:) = - pqfwf(:,:) * rLfusisf                         ! ocea-ice flux     ( > 0 out ) 
    145152      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp                 ! heat content flux ( > 0 out ) 
     
    150157   END SUBROUTINE isfcav_mlt_2eq 
    151158 
    152    SUBROUTINE isfcav_mlt_3eq(pgt, pgs , pttbl, pstbl, & 
    153       &                       pqhc, pqoce, pqfwf  ) 
    154       !!---------------------------------------------------------------------- 
     159   SUBROUTINE isfcav_mlt_3eq(pgt, pgs , pttbl, pstbl, &  ! <<== in 
     160      &                           pqhc, pqoce, pqfwf  )  ! ==>> out 
     161      !!---------------------------------------------------------------------- 
     162      !! 
     163      !!                          ***  ROUTINE isfcav_mlt_3eq  *** 
     164      !! 
    155165      !! ** Purpose    : Compute ice shelf fwf/heqt fluxes using the 3 equation formulation  
    156166      !! 
     
    232242   END SUBROUTINE isfcav_mlt_3eq 
    233243 
    234    SUBROUTINE isfcav_mlt_oasis(kt, pstbl,              &  ! <<== in 
     244   SUBROUTINE isfcav_mlt_oasis(kt, pstbl,          &  ! <<== in 
    235245      &                        pqhc , pqoce, pqfwf )  ! ==>> out 
    236246      !!---------------------------------------------------------------------- 
     247      !!                          ***  ROUTINE isfcav_mlt_oasis  *** 
    237248      !! 
    238249      !! ** Purpose    : scale the fwf read from input file by the total amount received by the sbccpl interface 
     
    282293   END SUBROUTINE isfcav_mlt_oasis 
    283294 
    284    !SUBROUTINE isfmlt_3eq_frz_ktm1 
    285    ! compute tfrz based on sfrz value at kt-1 (need to be SAVED local array) 
    286    ! => should reduce error due to linarisation 
    287    ! compute qfwf (eq 24) 
    288    ! compute zqoce, zqlat, zqcon, zqhc 
    289    ! compute sfrz (eq 26) 
    290    !END SUBROUTINE isfmlt_3eq_frz_ktm1 
    291  
    292295END MODULE isfcavmlt 
Note: See TracChangeset for help on using the changeset viewer.