Changeset 3907 for trunk/LMDZ.COMMON/libf
- Timestamp:
- Sep 1, 2025, 6:45:25 PM (4 months ago)
- Location:
- trunk/LMDZ.COMMON/libf/evolution
- Files:
-
- 1 added
- 2 edited
-
changelog.txt (modified) (1 diff)
-
pem.F90 (modified) (2 diffs)
-
surf_temp.F90 (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/changelog.txt
r3883 r3907 770 770 - Replacing the Bash script "concat_diagpem.sh" by a Python script "concat_pem.py" which is much faster. 771 771 - Corrections and updates for "visu_evol_layering.py". 772 773 == 01/09/2025 == JBC 774 Correction for the update of surface temperature when ice is disappearing: now it is really set as the surface temperature of the nearest bare soil point because we check the lon-lat grid and not the reduced grid -
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r3851 r3907 75 75 use job_timelimit_mod, only: timelimit, antetime, timewall 76 76 use paleoclimate_mod, only: h2o_ice_depth, zdqsdif_ssi_tot 77 use surf_temp, only: update_tsurf_nearest_baresoil 77 78 78 79 #ifndef CPP_STD … … 834 835 !------------------------ 835 836 ! II_d.1 Update Tsurf 836 write(*,*) "> Updating surface temperature" 837 do ig = 1,ngrid 838 do islope = 1,nslope 839 ! CO2 ice disappeared so we look for the closest point without CO2 ice 840 if (is_co2ice_ini(ig,islope) .and. co2_ice(ig,islope) < 1.e-10 .and. .not. co2ice_disappeared(ig,islope)) then 841 co2ice_disappeared(ig,islope) = .true. 842 if (latitude_deg(ig) > 0.) then ! North hemisphere 843 outer1: do ig_loop = ig,ngrid ! Go towards equator 844 do islope_loop = islope - 1,1,-1 ! Go over the slopes (backward numbering - should be equator-ward) 845 if (.not. is_co2ice_ini(ig_loop,islope_loop) .and. co2_ice(ig_loop,islope_loop) < 1.e-10) then 846 tsurf_avg(ig,islope) = tsurf_avg(ig_loop,islope_loop) 847 exit outer1 848 endif 849 enddo 850 do islope_loop = islope + 1,nslope ! Go over the slopes (forward numbering - should be pole-ward) 851 if (.not. is_co2ice_ini(ig_loop,islope_loop) .and. co2_ice(ig_loop,islope_loop) < 1.e-10) then 852 tsurf_avg(ig,islope) = tsurf_avg(ig_loop,islope_loop) 853 exit outer1 854 endif 855 enddo 856 enddo outer1 857 else ! South hemisphere 858 outer2: do ig_loop = ig,1,-1 ! Go towards equator 859 do islope_loop = islope + 1,nslope ! Go over the slopes (forward numbering - should be equator-ward) 860 if (.not. is_co2ice_ini(ig_loop,islope_loop) .and. co2_ice(ig_loop,islope_loop) < 1.e-10) then 861 tsurf_avg(ig,islope) = tsurf_avg(ig_loop,islope_loop) 862 exit outer2 863 endif 864 enddo 865 do islope_loop = islope - 1,1,-1 ! Go over the slopes (backward numbering - should be pole-ward) 866 if (.not. is_co2ice_ini(ig_loop,islope_loop) .and. co2_ice(ig_loop,islope_loop) < 1.e-10) then 867 tsurf_avg(ig,islope) = tsurf_avg(ig_loop,islope_loop) 868 exit outer2 869 endif 870 enddo 871 enddo outer2 872 endif 873 else if (co2_ice(ig,islope) > 1.e-10 .and. d_co2ice(ig,islope) > 1.e-10) then ! Put tsurf as Tcond CO2 874 call computeTcondCO2(timelen,ngrid,nslope,vmr_co2_PEM_phys,ps_timeseries,ps_avg_global_ini,ps_avg_global_new,tsurf_avg) 875 endif 876 enddo 877 enddo 837 call update_tsurf_nearest_baresoil(ngrid,nslope,iim,jjm,tsurf_avg,co2_ice,is_co2ice_ini,co2ice_disappeared) 878 838 879 839 if (soil_pem) then
Note: See TracChangeset
for help on using the changeset viewer.
