Changeset 2857 for trunk/LMDZ.COMMON/libf/evolution
- Timestamp:
- Dec 29, 2022, 10:58:39 AM (2 years ago)
- Location:
- trunk/LMDZ.COMMON/libf/evolution
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/criterion_ice_stop_mod_water_slope.F90
r2835 r2857 62 62 STOPPING=.FALSE. 63 63 endif 64 65 64 END SUBROUTINE criterion_ice_stop_water_slope 66 65 -
trunk/LMDZ.COMMON/libf/evolution/evol_h2o_ice_s_mod_slope.F90
r2849 r2857 26 26 ! OUTPUT 27 27 REAL, INTENT(INOUT) :: qsurf(ngrid,nslope) ! physical point field : Previous and actual density of water ice 28 LOGICAL :: STOPPING28 LOGICAL, INTENT(INOUT) :: STOPPING 29 29 REAL, intent(inout) :: tendencies_h2o_ice_phys(ngrid,nslope) ! physical point field : Evolution of perenial ice over one year 30 30 … … 80 80 print *, "Tendencies on ice increasing=", pos_tend 81 81 print *, "This can be due to the absence of water ice in the PCM run!!" 82 call criterion_ice_stop_water_slope(cell_area,1 ,qsurf(:,:)*0.,STOPPING,ngrid,cell_area)82 call criterion_ice_stop_water_slope(cell_area,1.,qsurf(:,:)*0.,STOPPING,ngrid,cell_area) 83 83 do i=1,ngrid 84 84 do islope=1,nslope … … 101 101 enddo 102 102 enddo 103 103 104 104 105 real_coefficient=negative_part/pos_tend 106 if(pos_tend.eq.0) real_coefficient = 0. 105 107 106 108 do i=1,ngrid -
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r2856 r2857 843 843 !------------------------ 844 844 year_iter=0 845 print *, "Max_iter_pem", Max_iter_pem846 print *, 'year_iter_max',year_iter_max847 845 do while (year_iter.LT.year_iter_max) 848 846 … … 852 850 do islope=1,nslope 853 851 global_ave_press_new=global_ave_press_new-g*cell_area(i)*tendencies_co2_ice_phys_slope(i,islope)*subslope_dist(i,islope)/cos(pi*def_slope_mean(islope)/180.)/Total_surface 854 852 enddo 855 853 enddo 856 854 print *, 'Global average pressure old time step',global_ave_press_old … … 932 930 call evol_h2o_ice_s_slope(qsurf_slope(:,igcm_h2o_ice,:),tendencies_h2o_ice_phys_slope,iim,jjm,ngrid,cell_area,STOPPING_1_water,nslope) 933 931 932 934 933 print *, "Evolution of co2 ice" 935 934 call evol_co2_ice_s_slope(co2ice_slope,tendencies_co2_ice_phys_slope,iim,jjm,ngrid,cell_area,STOPPING_1_co2,nslope) … … 972 971 DO ig = 1,ngrid 973 972 DO islope = 1,nslope 974 if(initial_co2_ice_slope(ig,islope).gt.0.5 .and. co2ice_slope(ig,islope).LT. 1E- 5) THEN !co2ice disappeared, look for closest point without co2ice973 if(initial_co2_ice_slope(ig,islope).gt.0.5 .and. co2ice_slope(ig,islope).LT. 1E-10) THEN !co2ice disappeared, look for closest point without co2ice 975 974 if(latitude_deg(ig).gt.0) then 976 975 do ig_loop=ig,ngrid 977 976 DO islope_loop=islope,iflat,-1 978 if(initial_co2_ice_slope(ig_loop,islope_loop).lt.0.5 .and. co2ice_slope(ig_loop,islope_loop).LT. 1E- 5) then977 if(initial_co2_ice_slope(ig_loop,islope_loop).lt.0.5 .and. co2ice_slope(ig_loop,islope_loop).LT. 1E-10) then 979 978 tsurf_ave_phys(ig,islope)=tsurf_ave_phys(ig_loop,islope_loop) 980 979 bool_sublim=1 … … 989 988 do ig_loop=ig,1,-1 990 989 DO islope_loop=islope,iflat 991 if(initial_co2_ice_slope(ig_loop,islope_loop).lt.0.5 .and. co2ice_slope(ig_loop,islope_loop).LT. 1E- 5) then990 if(initial_co2_ice_slope(ig_loop,islope_loop).lt.0.5 .and. co2ice_slope(ig_loop,islope_loop).LT. 1E-10) then 992 991 tsurf_ave_phys(ig,islope)=tsurf_ave_phys(ig_loop,islope_loop) 993 992 bool_sublim=1 … … 1001 1000 endif 1002 1001 initial_co2_ice_slope(ig,islope)=0 1003 if ((co2ice_slope(ig,islope).lt.1e- 5).and. (qsurf_slope(ig,igcm_h2o_ice,islope).gt.frost_albedo_threshold)) then1002 if ((co2ice_slope(ig,islope).lt.1e-10).and. (qsurf_slope(ig,igcm_h2o_ice,islope).gt.frost_albedo_threshold)) then 1004 1003 albedo_slope(ig,1,islope) = albedo_h2o_frost 1005 1004 albedo_slope(ig,2,islope) = albedo_h2o_frost … … 1009 1008 emiss_slope(ig,islope) = emissiv 1010 1009 endif 1011 elseif( (co2ice_slope(ig,islope).GT. 1E-3).and.(tendencies_co2_ice_phys_slope(ig,islope).gt.1e- 5) )THEN !Put tsurf as tcond co21010 elseif( (co2ice_slope(ig,islope).GT. 1E-3).and.(tendencies_co2_ice_phys_slope(ig,islope).gt.1e-10) )THEN !Put tsurf as tcond co2 1012 1011 ave=0. 1013 1012 do t=1,timelen … … 1065 1064 if(isnan(Tsoil_locslope(ig,isoil))) then 1066 1065 write(*,*)'Tsoil=',ig,isoil,Tsoil_locslope(ig,isoil) 1066 stop 1067 1067 endif 1068 1068 enddo … … 1148 1148 print *, "STOPPING because tendencies on co2 ice=0, see message above", STOPPING_1_co2 1149 1149 endif 1150 1151 1150 1152 1151 1153 if (STOPPING_water .or. STOPPING_1_water .or. STOPPING_co2 .or. STOPPING_1_co2) then … … 1260 1262 enddo 1261 1263 1264 write(*,*) 'rapport ps',global_ave_press_new/global_ave_press_GCM 1265 1262 1266 ! III_a.5 Tracer (for start) 1263 1267 allocate(zplev_new(ngrid,nlayer+1)) … … 1294 1298 DO ig=1,ngrid 1295 1299 DO l=1,llm-1 1296 if(q(ig,l,nnq).GT.1 .and. (noms(nnq).NE."dust_number" .or.noms(nnq).NE."ccn_number") ) then1300 if(q(ig,l,nnq).GT.1 .and. (noms(nnq).NE."dust_number") .and. (noms(nnq).NE."ccn_number") ) then 1297 1301 extra_mass=(q(ig,l,nnq)-1)*(zplev_new(ig,l)-zplev_new(ig,l+1)) 1298 1302 q(ig,l,nnq)=1. 1299 1303 q(ig,l+1,nnq)=q(ig,l+1,nnq)+extra_mass*(zplev_new(ig,l+1)-zplev_new(ig,l+2)) 1304 write(*,*) 'extra ',noms(nnq),extra_mass, noms(nnq).NE."dust_number",noms(nnq).NE."ccn_number" 1300 1305 endif 1301 1306 if(q(ig,l,nnq).LT.0) then
Note: See TracChangeset
for help on using the changeset viewer.