Changeset 15540 for NEMO/branches/2021/dev_r14116_HPC-10_mcastril_Mixed_Precision_implementation/src/OCE/SBC/sbcblk_algo_ice_an05.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/SBC/sbcblk_algo_ice_an05.F90
r14072 r15540 87 87 REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: q_zt ! spec. air humidity at zt [kg/kg] 88 88 REAL(wp), INTENT(in ), DIMENSION(jpi,jpj) :: U_zu ! relative wind module at zu [m/s] 89 REAL( wp), INTENT(out), DIMENSION(jpi,jpj) :: Cd_i ! drag coefficient over sea-ice90 REAL( wp), INTENT(out), DIMENSION(jpi,jpj) :: Ch_i ! transfert coefficient for heat over ice91 REAL( wp), INTENT(out), DIMENSION(jpi,jpj) :: Ce_i ! transfert coefficient for sublimation over ice92 REAL( wp), INTENT(out), DIMENSION(jpi,jpj) :: t_zu_i ! pot. air temp. adjusted at zu [K]93 REAL( wp), INTENT(out), DIMENSION(jpi,jpj) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg]94 !!---------------------------------------------------------------------------------- 95 REAL( wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CdN96 REAL( wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: ChN97 REAL( wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CeN98 REAL( wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xz0 ! Aerodynamic roughness length [m]99 REAL( wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xu_star ! u*, friction velocity100 REAL( wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xL ! zeta (zu/L)101 REAL( wp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xUN10 ! Neutral wind at zu102 !!---------------------------------------------------------------------------------- 103 REAL( wp), DIMENSION(:,:), ALLOCATABLE :: Ubzu104 REAL( wp), DIMENSION(:,:), ALLOCATABLE :: ztmp0, ztmp1, ztmp2 ! temporary stuff105 REAL( wp), DIMENSION(:,:), ALLOCATABLE :: z0, dt_zu, dq_zu106 REAL( wp), DIMENSION(:,:), ALLOCATABLE :: u_star, t_star, q_star107 REAL( wp), DIMENSION(:,:), ALLOCATABLE :: znu_a !: Nu_air = kinematic viscosity of air108 REAL( wp), DIMENSION(:,:), ALLOCATABLE :: zeta_u, zeta_t ! stability parameter at height zu109 REAL( wp), DIMENSION(:,:,:), ALLOCATABLE :: z0tq89 REAL(dp), INTENT(out), DIMENSION(jpi,jpj) :: Cd_i ! drag coefficient over sea-ice 90 REAL(dp), INTENT(out), DIMENSION(jpi,jpj) :: Ch_i ! transfert coefficient for heat over ice 91 REAL(dp), INTENT(out), DIMENSION(jpi,jpj) :: Ce_i ! transfert coefficient for sublimation over ice 92 REAL(dp), INTENT(out), DIMENSION(jpi,jpj) :: t_zu_i ! pot. air temp. adjusted at zu [K] 93 REAL(dp), INTENT(out), DIMENSION(jpi,jpj) :: q_zu_i ! spec. humidity adjusted at zu [kg/kg] 94 !!---------------------------------------------------------------------------------- 95 REAL(dp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CdN 96 REAL(dp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: ChN 97 REAL(dp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: CeN 98 REAL(dp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xz0 ! Aerodynamic roughness length [m] 99 REAL(dp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xu_star ! u*, friction velocity 100 REAL(dp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xL ! zeta (zu/L) 101 REAL(dp), INTENT(out), DIMENSION(jpi,jpj), OPTIONAL :: xUN10 ! Neutral wind at zu 102 !!---------------------------------------------------------------------------------- 103 REAL(dp), DIMENSION(:,:), ALLOCATABLE :: Ubzu 104 REAL(dp), DIMENSION(:,:), ALLOCATABLE :: ztmp0, ztmp1, ztmp2 ! temporary stuff 105 REAL(dp), DIMENSION(:,:), ALLOCATABLE :: z0, dt_zu, dq_zu 106 REAL(dp), DIMENSION(:,:), ALLOCATABLE :: u_star, t_star, q_star 107 REAL(dp), DIMENSION(:,:), ALLOCATABLE :: znu_a !: Nu_air = kinematic viscosity of air 108 REAL(dp), DIMENSION(:,:), ALLOCATABLE :: zeta_u, zeta_t ! stability parameter at height zu 109 REAL(dp), DIMENSION(:,:,:), ALLOCATABLE :: z0tq 110 110 !! 111 111 INTEGER :: jit … … 228 228 !! Author: L. Brodeau, January 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) 229 229 !!---------------------------------------------------------------------------------- 230 REAL( wp), DIMENSION(jpi,jpj) :: rough_leng_m ! roughness length over sea-ice [m]231 REAL( wp), DIMENSION(jpi,jpj), INTENT(in) :: pus ! u* = friction velocity [m/s]232 REAL( wp), DIMENSION(jpi,jpj), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s]230 REAL(dp), DIMENSION(jpi,jpj) :: rough_leng_m ! roughness length over sea-ice [m] 231 REAL(dp), DIMENSION(jpi,jpj), INTENT(in) :: pus ! u* = friction velocity [m/s] 232 REAL(dp), DIMENSION(jpi,jpj), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s] 233 233 !! 234 234 INTEGER :: ji, jj ! dummy loop indices 235 REAL( wp) :: zus, zz235 REAL(dp) :: zus, zz 236 236 !!---------------------------------------------------------------------------------- 237 237 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) … … 252 252 !! Author: L. Brodeau, January 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) 253 253 !!---------------------------------------------------------------------------------- 254 REAL( wp), DIMENSION(jpi,jpj,2) :: rough_leng_tq ! temp.,hum. roughness lengthes over sea-ice [m]255 REAL( wp), DIMENSION(jpi,jpj), INTENT(in) :: pz0 ! roughness length [m]256 REAL( wp), DIMENSION(jpi,jpj), INTENT(in) :: pus ! u* = friction velocity [m/s]257 REAL( wp), DIMENSION(jpi,jpj), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s]254 REAL(dp), DIMENSION(jpi,jpj,2) :: rough_leng_tq ! temp.,hum. roughness lengthes over sea-ice [m] 255 REAL(dp), DIMENSION(jpi,jpj), INTENT(in) :: pz0 ! roughness length [m] 256 REAL(dp), DIMENSION(jpi,jpj), INTENT(in) :: pus ! u* = friction velocity [m/s] 257 REAL(dp), DIMENSION(jpi,jpj), INTENT(in) :: pnua ! kinematic viscosity of air [m^2/s] 258 258 !! 259 259 INTEGER :: ji, jj ! dummy loop indices 260 REAL( wp) :: zz0, zus, zre, zsmoot, ztrans, zrough261 REAL( wp) :: zb0, zb1, zb2, zlog, zlog2, zlog_z0s_on_z0260 REAL(dp) :: zz0, zus, zre, zsmoot, ztrans, zrough 261 REAL(dp) :: zb0, zb1, zb2, zlog, zlog2, zlog_z0s_on_z0 262 262 !!---------------------------------------------------------------------------------- 263 263 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) … … 317 317 !! ** Author: L. Brodeau, 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) 318 318 !!---------------------------------------------------------------------------------- 319 REAL( wp), DIMENSION(jpi,jpj) :: psi_m_ice320 REAL( wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta319 REAL(dp), DIMENSION(jpi,jpj) :: psi_m_ice 320 REAL(dp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta 321 321 ! 322 322 INTEGER :: ji, jj ! dummy loop indices 323 REAL( wp) :: zta, zx, zpsi_u, zpsi_s, zstab323 REAL(dp) :: zta, zx, zpsi_u, zpsi_s, zstab 324 324 !!---------------------------------------------------------------------------------- 325 325 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) ! … … 362 362 !! ** Author: L. Brodeau, 2020 / AeroBulk (https://github.com/brodeau/aerobulk/) 363 363 !!---------------------------------------------------------------------------------- 364 REAL( wp), DIMENSION(jpi,jpj) :: psi_h_ice365 REAL( wp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta364 REAL(dp), DIMENSION(jpi,jpj) :: psi_h_ice 365 REAL(dp), DIMENSION(jpi,jpj), INTENT(in) :: pzeta 366 366 ! 367 367 INTEGER :: ji, jj ! dummy loop indices 368 REAL( wp) :: zta, zx, zpsi_u, zpsi_s, zstab368 REAL(dp) :: zta, zx, zpsi_u, zpsi_s, zstab 369 369 !!---------------------------------------------------------------------------------- 370 370 DO_2D( nn_hls, nn_hls, nn_hls, nn_hls ) !
Note: See TracChangeset
for help on using the changeset viewer.