Changeset 5942 for LMDZ6/trunk/libf/phylmd/surf_land_bucket_mod.F90
- Timestamp:
- Dec 17, 2025, 7:33:39 PM (6 weeks ago)
- File:
-
- 1 edited
-
LMDZ6/trunk/libf/phylmd/surf_land_bucket_mod.F90 (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/surf_land_bucket_mod.F90
r5486 r5942 54 54 !**************************************************************************************** 55 55 INTEGER, INTENT(IN) :: itime, jour, knon 56 INTEGER, DIMENSION(k lon), INTENT(IN) :: knindex56 INTEGER, DIMENSION(knon), INTENT(IN) :: knindex 57 57 LOGICAL, INTENT(IN) :: debut 58 58 REAL, INTENT(IN) :: dtime 59 REAL, DIMENSION(k lon), INTENT(IN) :: tsurf60 REAL, DIMENSION(k lon), INTENT(IN) :: p1lay61 REAL, DIMENSION(k lon), INTENT(IN) :: tq_cdrag62 REAL, DIMENSION(k lon), INTENT(IN) :: precip_rain, precip_snow63 REAL, DIMENSION(k lon), INTENT(IN) :: temp_air, spechum64 REAL, DIMENSION(k lon), INTENT(IN) :: petAcoef, peqAcoef65 REAL, DIMENSION(k lon), INTENT(IN) :: petBcoef, peqBcoef66 REAL, DIMENSION(k lon), INTENT(IN) :: pref67 REAL, DIMENSION(k lon), INTENT(IN) :: u1, v1, gustiness68 REAL, DIMENSION(k lon), INTENT(IN) :: rugoro69 REAL, DIMENSION(k lon), INTENT(IN) :: swnet, lwnet70 #ifdef ISO 71 REAL, DIMENSION(ntiso,k lon), INTENT(IN) :: xtprecip_rain, xtprecip_snow72 REAL, DIMENSION(ntiso,k lon), INTENT(IN) :: xtspechum59 REAL, DIMENSION(knon), INTENT(IN) :: tsurf 60 REAL, DIMENSION(knon), INTENT(IN) :: p1lay 61 REAL, DIMENSION(knon), INTENT(IN) :: tq_cdrag 62 REAL, DIMENSION(knon), INTENT(IN) :: precip_rain, precip_snow 63 REAL, DIMENSION(knon), INTENT(IN) :: temp_air, spechum 64 REAL, DIMENSION(knon), INTENT(IN) :: petAcoef, peqAcoef 65 REAL, DIMENSION(knon), INTENT(IN) :: petBcoef, peqBcoef 66 REAL, DIMENSION(knon), INTENT(IN) :: pref 67 REAL, DIMENSION(knon), INTENT(IN) :: u1, v1, gustiness 68 REAL, DIMENSION(knon), INTENT(IN) :: rugoro 69 REAL, DIMENSION(knon), INTENT(IN) :: swnet, lwnet 70 #ifdef ISO 71 REAL, DIMENSION(ntiso,knon), INTENT(IN) :: xtprecip_rain, xtprecip_snow 72 REAL, DIMENSION(ntiso,knon), INTENT(IN) :: xtspechum 73 73 #endif 74 74 75 75 ! In/Output variables 76 76 !**************************************************************************************** 77 REAL, DIMENSION(k lon), INTENT(INOUT) :: snow, qsol78 REAL, DIMENSION(k lon), INTENT(INOUT) :: agesno79 REAL, DIMENSION(k lon, nsoilmx), INTENT(INOUT) :: tsoil80 #ifdef ISO 81 REAL, DIMENSION(niso,k lon), INTENT(INOUT) :: xtsnow,xtsol77 REAL, DIMENSION(knon), INTENT(INOUT) :: snow, qsol 78 REAL, DIMENSION(knon), INTENT(INOUT) :: agesno 79 REAL, DIMENSION(knon, nsoilmx), INTENT(INOUT) :: tsoil 80 #ifdef ISO 81 REAL, DIMENSION(niso,knon), INTENT(INOUT) :: xtsnow,xtsol 82 82 #endif 83 83 84 84 ! Output variables 85 85 !**************************************************************************************** 86 REAL, DIMENSION(k lon), INTENT(OUT) :: qsurf87 REAL, DIMENSION(k lon), INTENT(OUT) :: z0_new88 REAL, DIMENSION(k lon), INTENT(OUT) :: alb1_new, alb2_new89 REAL, DIMENSION(k lon), INTENT(OUT) :: evap, fluxsens, fluxlat90 REAL, DIMENSION(k lon), INTENT(OUT) :: tsurf_new91 REAL, DIMENSION(k lon), INTENT(OUT) :: dflux_s, dflux_l92 #ifdef ISO 93 REAL, DIMENSION(ntiso,k lon), INTENT(OUT) :: xtevap94 REAL, DIMENSION(k lon), INTENT(OUT) :: h195 REAL, DIMENSION(niso,k lon), INTENT(OUT) :: xtrunoff_diag96 REAL, DIMENSION(k lon), INTENT(OUT) :: runoff_diag97 REAL, DIMENSION(niso,k lon), INTENT(IN) :: Rland_ice86 REAL, DIMENSION(knon), INTENT(OUT) :: qsurf 87 REAL, DIMENSION(knon), INTENT(OUT) :: z0_new 88 REAL, DIMENSION(knon), INTENT(OUT) :: alb1_new, alb2_new 89 REAL, DIMENSION(knon), INTENT(OUT) :: evap, fluxsens, fluxlat 90 REAL, DIMENSION(knon), INTENT(OUT) :: tsurf_new 91 REAL, DIMENSION(knon), INTENT(OUT) :: dflux_s, dflux_l 92 #ifdef ISO 93 REAL, DIMENSION(ntiso,knon), INTENT(OUT) :: xtevap 94 REAL, DIMENSION(knon), INTENT(OUT) :: h1 95 REAL, DIMENSION(niso,knon), INTENT(OUT) :: xtrunoff_diag 96 REAL, DIMENSION(knon), INTENT(OUT) :: runoff_diag 97 REAL, DIMENSION(niso,knon), INTENT(IN) :: Rland_ice 98 98 #endif 99 99 100 100 ! Local variables 101 101 !**************************************************************************************** 102 REAL, DIMENSION(k lon) :: soilcap, soilflux103 REAL, DIMENSION(k lon) :: cal, beta, dif_grnd, capsol104 REAL, DIMENSION(k lon) :: alb_neig, alb_lim, icesub105 REAL, DIMENSION(k lon) :: zfra106 REAL, DIMENSION(k lon) :: radsol ! total net radiance at surface107 REAL, DIMENSION(k lon) :: u0, v0, u1_lay, v1_lay108 REAL, DIMENSION(k lon) :: dummy_riverflow,dummy_coastalflow102 REAL, DIMENSION(knon) :: soilcap, soilflux 103 REAL, DIMENSION(knon) :: cal, beta, dif_grnd, capsol 104 REAL, DIMENSION(knon) :: alb_neig, alb_lim, icesub 105 REAL, DIMENSION(knon) :: zfra 106 REAL, DIMENSION(knon) :: radsol ! total net radiance at surface 107 REAL, DIMENSION(knon) :: u0, v0, u1_lay, v1_lay 108 REAL, DIMENSION(knon) :: dummy_riverflow,dummy_coastalflow 109 109 INTEGER :: i 110 110 #ifdef ISO 111 111 INTEGER :: ixt 112 REAL, DIMENSION(niso,k lon) :: xtsnow_prec,xtsol_prec113 REAL, DIMENSION(k lon) :: snow_prec,qsol_prec112 REAL, DIMENSION(niso,knon) :: xtsnow_prec,xtsol_prec 113 REAL, DIMENSION(knon) :: snow_prec,qsol_prec 114 114 REAL, PARAMETER :: t_coup = 273.15 115 REAL, DIMENSION(k lon) :: fq_fonte_diag116 REAL, DIMENSION(k lon) :: fqfonte_diag117 REAL, DIMENSION(k lon) :: snow_evap_diag118 REAL, DIMENSION(k lon) :: fqcalving_diag115 REAL, DIMENSION(knon) :: fq_fonte_diag 116 REAL, DIMENSION(knon) :: fqfonte_diag 117 REAL, DIMENSION(knon) :: snow_evap_diag 118 REAL, DIMENSION(knon) :: fqcalving_diag 119 119 REAL :: max_eau_sol_diag 120 REAL, DIMENSION(k lon) :: run_off_lic_diag120 REAL, DIMENSION(knon) :: run_off_lic_diag 121 121 REAL :: coeff_rel_diag 122 122 #endif … … 284 284 !write(*,*) 'snow_evap_diag(1)=',snow_evap_diag(1) 285 285 #endif 286 CALL calcul_iso_surf_ter_vectall(k lon,knon, &286 CALL calcul_iso_surf_ter_vectall(knon,knon, & 287 287 & evap,snow_evap_diag,snow, & 288 288 & fq_fonte_diag,fqfonte_diag,dtime,precip_rain,xtprecip_rain, & … … 302 302 !* Calculate the age of snow 303 303 ! 304 CALL albsno(k lon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:))304 CALL albsno(knon,knon,dtime,agesno(:),alb_neig(:), precip_snow(:)) 305 305 306 306 WHERE (snow(1 : knon) .LT. 0.0001) agesno(1 : knon) = 0.
Note: See TracChangeset
for help on using the changeset viewer.
