Changeset 4071 for trunk/LMDZ.COMMON/libf/evolution/tendencies.F90
- Timestamp:
- Feb 16, 2026, 10:28:56 AM (12 days ago)
- File:
-
- 1 edited
-
trunk/LMDZ.COMMON/libf/evolution/tendencies.F90 (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/tendencies.F90
r4065 r4071 18 18 ! DEPENDENCIES 19 19 ! ------------ 20 use numerics, only: dp, di, minieps, tol20 use numerics, only: dp, di, k4, minieps, tol 21 21 22 22 ! DECLARATION … … 28 28 29 29 !======================================================================= 30 SUBROUTINE compute_tend (min_ice,d_ice)31 !----------------------------------------------------------------------- 32 ! NAME 33 ! compute_tend 30 SUBROUTINE compute_tendice(min_ice,is_perice,d_ice) 31 !----------------------------------------------------------------------- 32 ! NAME 33 ! compute_tendice 34 34 ! 35 35 ! DESCRIPTION … … 51 51 ! ARGUMENTS 52 52 ! --------- 53 real(dp), dimension(:,:,:), intent(in) :: min_ice 54 real(dp), dimension(:,:), intent(out) :: d_ice 53 real(dp), dimension(:,:,:), intent(in) :: min_ice 54 logical(k4), dimension(:,:), intent(in) :: is_perice 55 real(dp), dimension(:,:), intent(out) :: d_ice 55 56 56 57 ! CODE 57 58 ! ---- 58 ! We compute the difference 59 d_ice (:,:)= min_ice(:,:,2) - min_ice(:,:,1)59 ! We compute the difference to get the tendency 60 d_ice = min_ice(:,:,2) - min_ice(:,:,1) 60 61 61 62 ! If the difference is too small, then there is no evolution 62 63 where (abs(d_ice) < minieps) d_ice = 0._dp 63 64 64 ! If the minimum over the last year is 0, then we have no perennial ice65 where (abs( min_ice(:,:,2)) < minieps) d_ice = 0._dp66 67 END SUBROUTINE compute_tend 68 !======================================================================= 69 70 !======================================================================= 71 SUBROUTINE evolve_tend_co2 (d_co2ice_ini,co2ice,emissivity,q_co2_ts_ini,q_co2_ts,ps_PCM,ps_avg_glob_ini,ps_avg_global,d_co2ice)72 !----------------------------------------------------------------------- 73 ! NAME 74 ! evolve_tend_co2 65 ! If the tendency is negative but there is no ice reservoir for the PEM 66 where (abs(d_ice) < 0._dp .and. .not. is_perice) d_ice = 0._dp 67 68 END SUBROUTINE compute_tendice 69 !======================================================================= 70 71 !======================================================================= 72 SUBROUTINE evolve_tend_co2ice(d_co2ice_ini,co2ice,emissivity,q_co2_ts_ini,q_co2_ts,ps_PCM,ps_avg_glob_ini,ps_avg_global,d_co2ice) 73 !----------------------------------------------------------------------- 74 ! NAME 75 ! evolve_tend_co2ice 75 76 ! 76 77 ! DESCRIPTION … … 135 136 call print_msg('New CO2 ice tendencies [kg/m2/yr] (min|max): '//real2str( minval(d_co2ice))//' | '//real2str(maxval(d_co2ice))) 136 137 137 END SUBROUTINE evolve_tend_co2 138 !======================================================================= 139 140 !======================================================================= 141 SUBROUTINE evolve_tend_h2o (h2oice_depth_old,h2oice_depth_new,tsurf,tsoil_ts_old,tsoil_ts_new,d_h2oice)142 !----------------------------------------------------------------------- 143 ! NAME 144 ! evolve_tend_h2o 138 END SUBROUTINE evolve_tend_co2ice 139 !======================================================================= 140 141 !======================================================================= 142 SUBROUTINE evolve_tend_h2oice(h2oice_depth_old,h2oice_depth_new,tsurf,tsoil_ts_old,tsoil_ts_new,d_h2oice) 143 !----------------------------------------------------------------------- 144 ! NAME 145 ! evolve_tend_h2oice 145 146 ! 146 147 ! DESCRIPTION … … 158 159 use soil_temp, only: itp_tsoil 159 160 use subsurface_ice, only: psv 161 use display, only: print_msg 160 162 161 163 ! DECLARATION … … 181 183 ! CODE 182 184 ! ---- 185 call print_msg("> Updating the H2O sub-surface ice tendency due to lag layer") 186 183 187 ! Higher resistance due to growing lag layer (higher depth) 184 188 Rz_old = h2oice_depth_old*zcdv/coef_diff ! Old resistance from PCM … … 204 208 d_h2oice = d_h2oice*R_dec*hum_dec 205 209 206 END SUBROUTINE evolve_tend_h2o 210 END SUBROUTINE evolve_tend_h2oice 207 211 !======================================================================= 208 212
Note: See TracChangeset
for help on using the changeset viewer.
