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 15004 for NEMO/trunk/src/OCE/ISF/isfcavmlt.F90 – NEMO

Ignore:
Timestamp:
2021-06-16T12:33:18+02:00 (3 years ago)
Author:
mathiot
Message:

ticket #2960: commit fix to the trunk (WARNING: output convention of isf fluxes changed from oce->isf to isf->oce), no impact on the input file needed for some options

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/ISF/isfcavmlt.F90

    r14995 r15004  
    99 
    1010   !!---------------------------------------------------------------------- 
    11    !!   isfcav_mlt    : compute or read ice shelf fwf/heat fluxes in the ice shelf cavity 
     11   !!   isfcav_mlt    : compute or read ice shelf fwf/heat fluxes from isf  
     12   !!                   to oce 
    1213   !!---------------------------------------------------------------------- 
    1314 
     
    114115      CALL eos_fzp( pstbl(:,:), ztfrz(:,:), risfdep(:,:) ) 
    115116      ! 
    116       ! read input file 
     117      ! read input file of fwf (from isf to oce; ie melt) 
    117118      CALL fld_read ( kt, 1, sf_isfcav_fwf ) 
    118119      ! 
    119120      ! define fwf and qoce 
    120121      ! ocean heat flux is assume to be equal to the latent heat 
    121       pqfwf(:,:) = - sf_isfcav_fwf(1)%fnow(:,:,1)      ! fwf                ( >0 out) 
    122       pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean heat flux    ( >0 out) 
    123       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux  ( >0 out) 
     122      pqfwf(:,:) =   sf_isfcav_fwf(1)%fnow(:,:,1)      ! fwf                ( > 0 from isf to oce) 
     123      pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean heat flux    ( > 0 from isf to oce) 
     124      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux  ( > 0 from isf to oce) 
    124125      ! 
    125126      ! output freezing point at the interface 
     
    163164      ! 
    164165      ! compute ocean-ice heat flux and then derive fwf assuming that ocean heat flux equal latent heat 
    165       pqfwf(:,:) = - pgt(:,:) * rho0_rcp * zthd(:,:) / rLfusisf    ! fresh water flux  ( > 0 out ) 
    166       pqoce(:,:) = - pqfwf(:,:) * rLfusisf                         ! ocea-ice flux     ( > 0 out ) 
    167       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp                 ! heat content flux ( > 0 out ) 
     166      pqfwf(:,:) =   pgt(:,:) * rho0_rcp * zthd(:,:) / rLfusisf    ! fresh water flux  ( > 0 from isf to oce) 
     167      pqoce(:,:) = - pqfwf(:,:) * rLfusisf                         ! ocea-ice flux     ( > 0 from isf to oce) 
     168      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp                 ! heat content flux ( > 0 from isf to oce) 
    168169      ! 
    169170      ! output thermal driving and freezinpoint at the ice shelf interface 
     
    240241         ! 
    241242         ! compute the upward water and heat flux (eq. 24 and eq. 26) 
    242          pqfwf(ji,jj) = rho0     * pgs(ji,jj) * ( zsfrz - pstbl(ji,jj) ) / MAX(zsfrz,zeps) ! fresh water flux    (> 0 out) 
    243          pqoce(ji,jj) = rho0_rcp * pgt(ji,jj) * zthd (ji,jj)                               ! ocean-ice heat flux (> 0 out) 
    244          pqhc (ji,jj) = rcp      * pqfwf(ji,jj) * ztfrz(ji,jj)                             ! heat content   flux (> 0 out) 
     243         pqfwf(ji,jj) = - rho0     * pgs(ji,jj) * ( zsfrz - pstbl(ji,jj) ) / MAX(zsfrz,zeps) ! fresh water flux    ( > 0 from isf to oce) 
     244         pqoce(ji,jj) = - rho0_rcp * pgt(ji,jj) * zthd (ji,jj)                               ! ocean-ice heat flux ( > 0 from isf to oce) 
     245         pqhc (ji,jj) =   rcp      * pqfwf(ji,jj) * ztfrz(ji,jj)                             ! heat content   flux ( > 0 from isf to oce) 
    245246         ! 
    246247         zqcon(ji,jj) = zeps3 * ( ztfrz(ji,jj) - rtsurf ) 
     
    283284      CALL eos_fzp( pstbl(:,:), ztfrz(:,:), risfdep(:,:) ) 
    284285      ! 
    285       ! read input file 
     286      ! read input file of fwf from isf to oce 
    286287      CALL fld_read ( kt, 1, sf_isfcav_fwf ) 
    287288      ! 
    288289      ! ice shelf 2d map 
    289       zfwf(:,:) = - sf_isfcav_fwf(1)%fnow(:,:,1) 
     290      zfwf(:,:) = sf_isfcav_fwf(1)%fnow(:,:,1) 
    290291      ! 
    291292      ! compute glob sum from input file 
     
    302303      ! define fwf and qoce 
    303304      ! ocean heat flux is assume to be equal to the latent heat 
    304       pqfwf(:,:) =   zfwf(:,:)                         ! fwf                ( >0 out) 
    305       pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean heat flux    ( >0 out) 
    306       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux  ( >0 out) 
     305      pqfwf(:,:) =   zfwf(:,:)                         ! fwf                ( > 0 from isf to oce) 
     306      pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean heat flux    ( > 0 from isf to oce) 
     307      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux  ( > 0 from isf to oce) 
    307308      ! 
    308309      CALL iom_put('isftfrz_cav', ztfrz * mskisf_cav(:,:) ) 
Note: See TracChangeset for help on using the changeset viewer.