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 15001 for NEMO/branches/2021/ticket2690_consign_isf/src/OCE/ISF/isfparmlt.F90 – NEMO

Ignore:
Timestamp:
2021-06-16T11:30:56+02:00 (3 years ago)
Author:
mathiot
Message:

ticket #2690: change sign convention of isf fluxes, long name of output and code comments. No changes in WED025 and ISOMIP+ results (output changed because of convention changed, trunk + branch output = 0.0)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2021/ticket2690_consign_isf/src/OCE/ISF/isfparmlt.F90

    r14995 r15001  
    102102      !!-------------------------------------------------------------------- 
    103103      ! 
    104       ! 0. ------------Read specified runoff 
     104      ! 0. ------------Read specified fwf from isf to oce 
    105105      CALL fld_read ( kt, 1, sf_isfpar_fwf   ) 
    106106      ! 
     
    112112      CALL isf_tbl(Kmm, ztfrz3d, ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par ) 
    113113      ! 
    114       pqfwf(:,:) = - sf_isfpar_fwf(1)%fnow(:,:,1)      ! fresh water flux from the isf (fwfisf <0 mean melting)       ( > 0 out ) 
    115       pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean/ice shelf flux assume to be equal to latent heat flux  ( > 0 out ) 
    116       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux                                            ( > 0 out ) 
     114      pqfwf(:,:) =   sf_isfpar_fwf(1)%fnow(:,:,1)      ! fresh water flux from the isf (fwfisf <0 mean melting)       ( > 0 from isf to oce) 
     115      pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean/ice shelf flux assume to be equal to latent heat flux  ( > 0 from isf to oce) 
     116      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux                                            ( > 0 from isf to oce) 
    117117      ! 
    118118      CALL iom_put('isftfrz_par', ztfrz(:,:) * mskisf_par(:,:) ) 
     
    157157      ! 
    158158      ! 2. ------------Net heat flux and fresh water flux due to the ice shelf 
    159       pqfwf(:,:) = - rho0 * rcp * rn_isfpar_bg03_gt0 * risfLeff(:,:) * e1t(:,:) * (ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:) / rLfusisf  ! ( > 0 out ) 
    160       pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean/ice shelf flux assume to be equal to latent heat flux  ( > 0 out ) 
    161       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux                                            ( > 0 out ) 
     159      pqfwf(:,:) =   rho0 * rcp * rn_isfpar_bg03_gt0 * risfLeff(:,:) * e1t(:,:) * (ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:) / rLfusisf  ! ( > 0 from isf to oce) 
     160      pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean/ice shelf flux assume to be equal to latent heat flux  ( > 0 from isf to oce) 
     161      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux                                            ( > 0 from isf to oce) 
    162162      ! 
    163163      ! 3. ------------BG03 output 
     
    207207      ! 
    208208      ! 2. ------------Scale isf melt pattern with total amount from oasis 
    209       ! ice shelf 2d map 
    210       zfwf(:,:) = - sf_isfpar_fwf(1)%fnow(:,:,1) 
     209      ! ice shelf 2d map of fwf from isf to oce 
     210      zfwf(:,:) = sf_isfpar_fwf(1)%fnow(:,:,1) 
    211211      ! 
    212212      ! compute glob sum from input file 
     
    223223      ! 3. -----------Define fwf and qoce 
    224224      ! ocean heat flux is assume to be equal to the latent heat 
    225       pqfwf(:,:) =   zfwf(:,:)                         ! fwf                ( >0 out ) 
    226       pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean heat flux    ( >0 out ) (assumed to be the latent heat flux) 
    227       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux  ( >0 out ) 
     225      pqfwf(:,:) =   zfwf(:,:)                         ! fwf                ( > 0 from isf to oce) 
     226      pqoce(:,:) = - pqfwf(:,:) * rLfusisf             ! ocean heat flux    ( > 0 from isf to oce) (assumed to be the latent heat flux) 
     227      pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux  ( > 0 from isf to oce) 
    228228      ! 
    229229      CALL iom_put('isftfrz_par', ztfrz ) 
Note: See TracChangeset for help on using the changeset viewer.