Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/ISF/isfcavmlt.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/isfcavmlt.F90
r13472 r15540 32 32 33 33 !! * Substitutions 34 # include "single_precision_substitute.h90" 34 35 # include "do_loop_substitute.h90" 35 36 !!---------------------------------------------------------------------- … … 53 54 !! 54 55 !!-------------------------- OUT ------------------------------------- 55 REAL( wp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat and fwf fluxes56 REAL(dp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat and fwf fluxes 56 57 !!-------------------------- IN ------------------------------------- 57 58 INTEGER, INTENT(in) :: kt 58 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pgt , pgs ! gamma t and gamma s59 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! top boundary layer tracer59 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pgt , pgs ! gamma t and gamma s 60 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! top boundary layer tracer 60 61 !!--------------------------------------------------------------------- 61 62 ! … … 101 102 !!--------------------------------------------------------------------- 102 103 !!-------------------------- OUT ------------------------------------- 103 REAL( wp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat content, latent heat and fwf fluxes104 REAL(dp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat content, latent heat and fwf fluxes 104 105 !!-------------------------- IN ------------------------------------- 105 106 INTEGER , INTENT(in ) :: kt ! current time step 106 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pstbl ! salinity in tbl107 !!-------------------------------------------------------------------- 108 REAL( wp), DIMENSION(jpi,jpj) :: ztfrz ! tbl freezing temperature107 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pstbl ! salinity in tbl 108 !!-------------------------------------------------------------------- 109 REAL(dp), DIMENSION(jpi,jpj) :: ztfrz ! tbl freezing temperature 109 110 !!-------------------------------------------------------------------- 110 111 ! 111 112 ! Compute freezing temperature 112 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), risfdep(:,:) )113 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), CASTDP(risfdep(:,:)) ) 113 114 ! 114 115 ! read input file … … 145 146 !! 146 147 !!-------------------------- OUT ------------------------------------- 147 REAL( wp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! hean content, ocean-ice heat and fwf fluxes148 !!-------------------------- IN ------------------------------------- 149 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pgt ! temperature exchange coeficient150 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! temperature and salinity in top boundary layer151 !!-------------------------------------------------------------------- 152 REAL( wp), DIMENSION(jpi,jpj) :: ztfrz ! freezing temperature153 REAL( wp), DIMENSION(jpi,jpj) :: zthd ! thermal driving148 REAL(dp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! hean content, ocean-ice heat and fwf fluxes 149 !!-------------------------- IN ------------------------------------- 150 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pgt ! temperature exchange coeficient 151 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! temperature and salinity in top boundary layer 152 !!-------------------------------------------------------------------- 153 REAL(dp), DIMENSION(jpi,jpj) :: ztfrz ! freezing temperature 154 REAL(dp), DIMENSION(jpi,jpj) :: zthd ! thermal driving 154 155 !!-------------------------------------------------------------------- 155 156 ! 156 157 ! Calculate freezing temperature 157 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), risfdep(:,:) )158 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), CASTDP(risfdep(:,:)) ) 158 159 ! 159 160 ! thermal driving … … 193 194 !! 194 195 !!-------------------------- OUT ------------------------------------- 195 REAL( wp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! latent heat and fwf fluxes196 !!-------------------------- IN ------------------------------------- 197 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pgt , pgs ! heat/salt exchange coeficient198 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! mean temperature and salinity in top boundary layer199 !!-------------------------------------------------------------------- 200 REAL( wp) :: zeps1,zeps2,zeps3,zeps4,zeps6,zeps7 ! dummy local scalar for quadratic equation resolution201 REAL( wp) :: zaqe,zbqe,zcqe,zaqer,zdis,zsfrz,zcfac ! dummy local scalar for quadratic equation resolution202 REAL( wp) :: zeps = 1.e-20203 REAL( wp), DIMENSION(jpi,jpj) :: ztfrz ! freezing point204 REAL( wp), DIMENSION(jpi,jpj) :: zqcon ! conductive flux through the ice shelf205 REAL( wp), DIMENSION(jpi,jpj) :: zthd ! thermal driving196 REAL(dp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! latent heat and fwf fluxes 197 !!-------------------------- IN ------------------------------------- 198 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pgt , pgs ! heat/salt exchange coeficient 199 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pttbl, pstbl ! mean temperature and salinity in top boundary layer 200 !!-------------------------------------------------------------------- 201 REAL(dp) :: zeps1,zeps2,zeps3,zeps4,zeps6,zeps7 ! dummy local scalar for quadratic equation resolution 202 REAL(dp) :: zaqe,zbqe,zcqe,zaqer,zdis,zsfrz,zcfac ! dummy local scalar for quadratic equation resolution 203 REAL(dp) :: zeps = 1.e-20 204 REAL(dp), DIMENSION(jpi,jpj) :: ztfrz ! freezing point 205 REAL(dp), DIMENSION(jpi,jpj) :: zqcon ! conductive flux through the ice shelf 206 REAL(dp), DIMENSION(jpi,jpj) :: zthd ! thermal driving 206 207 ! 207 208 INTEGER :: ji, jj ! dummy loop indices … … 268 269 !!--------------------------------------------------------------------- 269 270 !!-------------------------- OUT ------------------------------------- 270 REAL( wp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat content, latent heat and fwf fluxes271 REAL(dp), DIMENSION(jpi,jpj), INTENT( out) :: pqhc, pqoce, pqfwf ! heat content, latent heat and fwf fluxes 271 272 !!-------------------------- IN ------------------------------------- 272 273 INTEGER , INTENT(in ) :: kt ! current time step 273 REAL( wp), DIMENSION(jpi,jpj), INTENT(in ) :: pstbl ! salinity in tbl274 !!-------------------------------------------------------------------- 275 REAL( wp) :: zfwf_fld, zfwf_oasis ! total fwf in the forcing fields (pattern) and from the oasis interface (amount)276 REAL( wp), DIMENSION(jpi,jpj) :: ztfrz ! tbl freezing temperature277 REAL( wp), DIMENSION(jpi,jpj) :: zfwf ! 2d fwf map after scaling274 REAL(dp), DIMENSION(jpi,jpj), INTENT(in ) :: pstbl ! salinity in tbl 275 !!-------------------------------------------------------------------- 276 REAL(dp) :: zfwf_fld, zfwf_oasis ! total fwf in the forcing fields (pattern) and from the oasis interface (amount) 277 REAL(dp), DIMENSION(jpi,jpj) :: ztfrz ! tbl freezing temperature 278 REAL(dp), DIMENSION(jpi,jpj) :: zfwf ! 2d fwf map after scaling 278 279 !!-------------------------------------------------------------------- 279 280 ! 280 281 ! Calculate freezing temperature 281 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), risfdep(:,:) )282 CALL eos_fzp( pstbl(:,:), ztfrz(:,:), CASTDP(risfdep(:,:)) ) 282 283 ! 283 284 ! read input file
Note: See TracChangeset
for help on using the changeset viewer.