Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/ISF/isfparmlt.F90
- Timestamp:
- 2021-11-26T12:27:56+01:00 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/ISF/isfparmlt.F90
r14219 r15540 52 52 !! 53 53 !!-------------------------- OUT ------------------------------------- 54 REAL( wp), DIMENSION(jpi,jpj), INTENT(inout) :: pqfwf, pqoce, pqhc ! fresh water, ice-ocean heat and heat content fluxes54 REAL(dp), DIMENSION(jpi,jpj), INTENT(inout) :: pqfwf, pqoce, pqhc ! fresh water, ice-ocean heat and heat content fluxes 55 55 !!-------------------------- IN ------------------------------------- 56 56 INTEGER, INTENT(in) :: kt ! ocean time step … … 84 84 !! 85 85 !!-------------------------- OUT ------------------------------------- 86 REAL( wp), DIMENSION(jpi,jpj), INTENT(inout) :: pqhc, pqfwf, pqoce ! fresh water and ice-ocean heat fluxes86 REAL(dp), DIMENSION(jpi,jpj), INTENT(inout) :: pqhc, pqfwf, pqoce ! fresh water and ice-ocean heat fluxes 87 87 !!-------------------------- IN ------------------------------------- 88 88 INTEGER, INTENT(in) :: kt … … 90 90 !!-------------------------------------------------------------------- 91 91 INTEGER :: jk 92 REAL( wp), DIMENSION(jpi,jpj,jpk) :: ztfrz3d93 REAL( wp), DIMENSION(jpi,jpj) :: ztfrz92 REAL(dp), DIMENSION(jpi,jpj,jpk) :: ztfrz3d 93 REAL(dp), DIMENSION(jpi,jpj) :: ztfrz 94 94 !!-------------------------------------------------------------------- 95 95 ! … … 100 100 ! 1. ------------Mean freezing point 101 101 DO jk = 1,jpk 102 CALL eos_fzp( CASTWP(ts(:,:,jk,jp_sal,Kmm)), ztfrz3d(:,:,jk), CASTWP(gdept(:,:,jk,Kmm)))102 CALL eos_fzp(ts(:,:,jk,jp_sal,Kmm), ztfrz3d(:,:,jk), gdept(:,:,jk,Kmm)) 103 103 END DO 104 CALL isf_tbl(Kmm, CASTDP(ztfrz3d), ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par )104 CALL isf_tbl(Kmm, ztfrz3d, ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par ) 105 105 ! 106 106 pqfwf(:,:) = - sf_isfpar_fwf(1)%fnow(:,:,1) ! fresh water flux from the isf (fwfisf <0 mean melting) … … 128 128 !!---------------------------------------------------------------------- 129 129 !!-------------------------- OUT ------------------------------------- 130 REAL( wp), DIMENSION(jpi,jpj), INTENT(inout) :: pqhc, pqfwf, pqoce ! fresh water and ice-ocean heat fluxes130 REAL(dp), DIMENSION(jpi,jpj), INTENT(inout) :: pqhc, pqfwf, pqoce ! fresh water and ice-ocean heat fluxes 131 131 !!-------------------------- IN ------------------------------------- 132 132 INTEGER, INTENT(in) :: kt … … 134 134 !!-------------------------------------------------------------------- 135 135 INTEGER :: jk 136 REAL( wp), DIMENSION(jpi,jpj,jpk) :: ztfrz3d ! freezing point137 REAL( wp), DIMENSION(jpi,jpj) :: ztfrz ! freezing point138 REAL( wp), DIMENSION(jpi,jpj) :: ztavg ! temperature avg136 REAL(dp), DIMENSION(jpi,jpj,jpk) :: ztfrz3d ! freezing point 137 REAL(dp), DIMENSION(jpi,jpj) :: ztfrz ! freezing point 138 REAL(dp), DIMENSION(jpi,jpj) :: ztavg ! temperature avg 139 139 !!---------------------------------------------------------------------- 140 140 ! 141 141 ! 0. ------------Mean freezing point 142 142 DO jk = 1,jpk 143 CALL eos_fzp( CASTWP(ts(:,:,jk,jp_sal,Kmm)), ztfrz3d(:,:,jk), CASTWP(gdept(:,:,jk,Kmm)))143 CALL eos_fzp(ts(:,:,jk,jp_sal,Kmm), ztfrz3d(:,:,jk), gdept(:,:,jk,Kmm)) 144 144 END DO 145 CALL isf_tbl(Kmm, CASTDP(ztfrz3d), ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par )145 CALL isf_tbl(Kmm, ztfrz3d, ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par ) 146 146 ! 147 147 ! 1. ------------Mean temperature … … 177 177 !!--------------------------------------------------------------------- 178 178 !!-------------------------- OUT ------------------------------------- 179 REAL( wp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat content, latent heat and fwf fluxes179 REAL(dp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat content, latent heat and fwf fluxes 180 180 !!-------------------------- IN ------------------------------------- 181 181 INTEGER , INTENT(in ) :: kt ! current time step … … 183 183 !!-------------------------------------------------------------------- 184 184 INTEGER :: jk ! loop index 185 REAL( wp) :: zfwf_fld, zfwf_oasis ! total fwf in the forcing fields (pattern) and from the cpl interface (amount)186 REAL( wp), DIMENSION(jpi,jpj) :: ztfrz ! tbl freezing temperature187 REAL( wp), DIMENSION(jpi,jpj) :: zfwf ! 2d fwf map after scaling188 REAL( wp), DIMENSION(jpi,jpj,jpk) :: ztfrz3d185 REAL(dp) :: zfwf_fld, zfwf_oasis ! total fwf in the forcing fields (pattern) and from the cpl interface (amount) 186 REAL(dp), DIMENSION(jpi,jpj) :: ztfrz ! tbl freezing temperature 187 REAL(dp), DIMENSION(jpi,jpj) :: zfwf ! 2d fwf map after scaling 188 REAL(dp), DIMENSION(jpi,jpj,jpk) :: ztfrz3d 189 189 !!-------------------------------------------------------------------- 190 190 ! … … 194 194 ! 1. ------------Mean freezing point (needed for heat content flux) 195 195 DO jk = 1,jpk 196 CALL eos_fzp( CASTWP(ts(:,:,jk,jp_sal,Kmm)), ztfrz3d(:,:,jk), CASTWP(gdept(:,:,jk,Kmm)))196 CALL eos_fzp(ts(:,:,jk,jp_sal,Kmm), ztfrz3d(:,:,jk), gdept(:,:,jk,Kmm)) 197 197 END DO 198 CALL isf_tbl(Kmm, CASTDP(ztfrz3d), ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par )198 CALL isf_tbl(Kmm, ztfrz3d, ztfrz, 'T', misfkt_par, rhisf_tbl_par, misfkb_par, rfrac_tbl_par ) 199 199 ! 200 200 ! 2. ------------Scale isf melt pattern with total amount from oasis
Note: See TracChangeset
for help on using the changeset viewer.