- Timestamp:
- 2019-09-12T18:41:17+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/ENHANCE-02_ISF_nemo/src/OCE/ISF/isfparmlt.F90
r11521 r11541 2 2 !!====================================================================== 3 3 !! *** MODULE isfparmlt *** 4 !! Surfacemodule : update surface ocean boundary condition under ice5 !! shelf 4 !! Ice shelf parametrisation module : update surface ocean boundary condition under ice 5 !! shelf using an ice shelf melt parametrisation 6 6 !!====================================================================== 7 7 !! History : 4.0 ! original code … … 9 9 10 10 USE oce ! ocean dynamics and tracers 11 USE isf 12 USE isftbl 11 USE isf ! ice shelf 12 USE isftbl ! ice shelf depth average 13 13 USE dom_oce ! ocean space and time domain 14 14 USE phycst ! physical constants … … 17 17 USE in_out_manager ! I/O manager 18 18 USE iom ! I/O library 19 USE fldread 20 USE lib_fortran 19 USE fldread ! 20 USE lib_fortran ! 21 21 22 22 IMPLICIT NONE … … 143 143 ! 2. ------------Net heat flux and fresh water flux due to the ice shelf 144 144 pqoce(:,:) = rau0 * rcp * rn_gammat0 * risfLeff(:,:) * e1t(:,:) * ( ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:) 145 pqfwf(:,:) = - pqoce(:,:) * r1_Lfusisf! derived from the latent heat flux145 pqfwf(:,:) = - pqoce(:,:) / rLfusisf ! derived from the latent heat flux 146 146 pqhc (:,:) = pqfwf(:,:) * ztfrz(:,:) * rcp ! heat content flux 147 147 ! … … 158 158 SUBROUTINE isfpar_mlt_oasis(kt, pqhc , pqoce, pqfwf ) 159 159 !!---------------------------------------------------------------------- 160 !! *** ROUTINE isfpar_ oasis ***160 !! *** ROUTINE isfpar_mlt_oasis *** 161 161 !! 162 162 !! ** Purpose : scale the fwf read from input file by the total amount received by the sbccpl interface … … 173 173 !!-------------------------------------------------------------------- 174 174 INTEGER :: jk ! loop index 175 REAL(wp) :: zfwf_fld, zfwf_oasis 175 REAL(wp) :: zfwf_fld, zfwf_oasis ! total fwf in the forcing fields (pattern) and from the cpl interface (amount) 176 176 REAL(wp), DIMENSION(jpi,jpj) :: ztfrz ! tbl freezing temperature 177 177 REAL(wp), DIMENSION(jpi,jpj) :: zfwf ! 2d fwf map after scaling … … 182 182 CALL fld_read ( kt, nn_fsbc, sf_isfpar_fwf ) 183 183 ! 184 ! compute ptfrz 185 ! 1. ------------Mean freezing point 184 ! 1. ------------Mean freezing point (needed for heat content flux) 186 185 DO jk = 1,jpk 187 186 CALL eos_fzp(tsn(:,:,jk,jp_sal), ztfrz3d(:,:,jk), gdept_n(:,:,jk)) … … 189 188 CALL isf_tbl(ztfrz3d, ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par ) 190 189 ! 190 ! 2. ------------Scale isf melt pattern with total amount from oasis 191 191 ! ice shelf 2d map 192 192 zfwf(:,:) = - sf_isfpar_fwf(1)%fnow(:,:,1) … … 203 203 zfwf(:,:) = zfwf(:,:) * zfwf_oasis / zfwf_fld 204 204 ! 205 ! define fwf and qoce205 ! i3. -----------Define fwf and qoce 206 206 ! ocean heat flux is assume to be equal to the latent heat 207 207 pqfwf(:,:) = zfwf(:,:) ! fwf ( >0 out )
Note: See TracChangeset
for help on using the changeset viewer.