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/isfparmlt.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/isfparmlt.F90

    r11521 r11541  
    22   !!====================================================================== 
    33   !!                       ***  MODULE  isfparmlt  *** 
    4    !! Surface module :  update surface ocean boundary condition under ice 
    5    !!                   shelf 
     4   !! Ice shelf parametrisation module :  update surface ocean boundary condition under ice 
     5   !!                   shelf using an ice shelf melt parametrisation 
    66   !!====================================================================== 
    77   !! History :  4.0  ! original code 
     
    99 
    1010   USE oce            ! ocean dynamics and tracers 
    11    USE isf 
    12    USE isftbl 
     11   USE isf            ! ice shelf 
     12   USE isftbl         ! ice shelf depth average 
    1313   USE dom_oce        ! ocean space and time domain 
    1414   USE phycst         ! physical constants 
     
    1717   USE in_out_manager ! I/O manager 
    1818   USE iom            ! I/O library 
    19    USE fldread 
    20    USE lib_fortran 
     19   USE fldread        ! 
     20   USE lib_fortran    ! 
    2121 
    2222   IMPLICIT NONE 
     
    143143      ! 2. ------------Net heat flux and fresh water flux due to the ice shelf 
    144144      pqoce(:,:) =   rau0 * rcp * rn_gammat0 * risfLeff(:,:) * e1t(:,:) * ( ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:) 
    145       pqfwf(:,:) = - pqoce(:,:) * r1_Lfusisf           ! derived from the latent heat flux 
     145      pqfwf(:,:) = - pqoce(:,:) / rLfusisf             ! derived from the latent heat flux 
    146146      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux  
    147147      ! 
     
    158158   SUBROUTINE isfpar_mlt_oasis(kt, pqhc , pqoce, pqfwf ) 
    159159      !!---------------------------------------------------------------------- 
    160       !!                  ***  ROUTINE isfpar_oasis  *** 
     160      !!                  ***  ROUTINE isfpar_mlt_oasis  *** 
    161161      !! 
    162162      !! ** Purpose    : scale the fwf read from input file by the total amount received by the sbccpl interface 
     
    173173      !!-------------------------------------------------------------------- 
    174174      INTEGER                           :: jk                            ! loop index 
    175       REAL(wp)                          :: zfwf_fld, zfwf_oasis            ! total fwf in the forcing fields (pattern) and from the cpl interface (amount) 
     175      REAL(wp)                          :: zfwf_fld, zfwf_oasis          ! total fwf in the forcing fields (pattern) and from the cpl interface (amount) 
    176176      REAL(wp), DIMENSION(jpi,jpj)      :: ztfrz                         ! tbl freezing temperature 
    177177      REAL(wp), DIMENSION(jpi,jpj)      :: zfwf                          ! 2d fwf map after scaling 
     
    182182      CALL fld_read ( kt, nn_fsbc, sf_isfpar_fwf   ) 
    183183      ! 
    184       ! compute ptfrz 
    185       ! 1. ------------Mean freezing point 
     184      ! 1. ------------Mean freezing point (needed for heat content flux) 
    186185      DO jk = 1,jpk 
    187186         CALL eos_fzp(tsn(:,:,jk,jp_sal), ztfrz3d(:,:,jk), gdept_n(:,:,jk)) 
     
    189188      CALL isf_tbl(ztfrz3d, ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par ) 
    190189      ! 
     190      ! 2. ------------Scale isf melt pattern with total amount from oasis 
    191191      ! ice shelf 2d map 
    192192      zfwf(:,:) = - sf_isfpar_fwf(1)%fnow(:,:,1) 
     
    203203      zfwf(:,:) = zfwf(:,:) * zfwf_oasis / zfwf_fld 
    204204      !  
    205       ! define fwf and qoce 
     205      ! i3. -----------Define fwf and qoce 
    206206      ! ocean heat flux is assume to be equal to the latent heat 
    207207      pqfwf(:,:) =   zfwf(:,:)                         ! fwf                ( >0 out ) 
Note: See TracChangeset for help on using the changeset viewer.