Changeset 3228 for trunk/LMDZ.PLUTO/libf/dynphy_lonlat/phypluto
- Timestamp:
- Feb 20, 2024, 4:46:35 PM (22 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.PLUTO/libf/dynphy_lonlat/phypluto/newstart.F
r3198 r3228 120 120 real mugaz ! molar mass of the atmosphere 121 121 122 integer ierr 122 integer ierr,iref 123 123 124 124 c Variables on the new grid along scalar points … … 585 585 write(*,*) 'qs=x : give a uniform value to a surface tracer' 586 586 write(*,*) 'q=profile : specify a profile for a tracer' 587 write(*,*) 'subsoil_all : set seasonal subsurface thermal inertia' 588 write(*,*) 'diurnal_TI : set diurnal subsurface thermal inertia' 587 589 588 590 write(*,*) … … 824 826 825 827 828 829 c subsoil_all : initialize subsurface thermal inertia 830 c -------------------------------------------------- 831 else if (modif(1:len_trim(modif)) .eq. 'subsoil_all') then 832 833 write(*,*) 'New value for subsoil thermal inertia ?' 834 104 read(*,*,iostat=ierr) ith_bb 835 if(ierr.ne.0) goto 104 836 write(*,*) 'thermal inertia (new value):',ith_bb 837 838 write(*,*)'At which depth (in m.) does the ice layer begin?' 839 write(*,*)'(here, the deepest soil layer extends down to:' 840 & ,layer(1),' - ',layer(nsoilmx),')' 841 write(*,*)'write 0 for uniform value for all subsurf levels?' 842 ierr=1 843 do while (ierr.ne.0) 844 read(*,*,iostat=ierr) val2 845 write(*,*)'val2 in subsoil_all:',val2,'ierr=',ierr 846 if (ierr.eq.0) then ! got a value, but do a sanity check 847 if(val2.gt.layer(nsoilmx)) then 848 write(*,*)'Depth should be less than ',layer(nsoilmx) 849 ierr=1 850 endif 851 if(val2.lt.layer(1)) then 852 if(val2.eq.0) then 853 write(*,*)'Thermal inertia set for all subsurface layers' 854 ierr=0 855 else 856 write(*,*)'Depth should be more than ',layer(1) 857 ierr=1 858 endif 859 endif 860 endif 861 enddo ! of do while 862 863 ! find the reference index iref the depth corresponds to 864 if(val2.eq.0) then 865 iref=1 866 write(*,*)'Level selected is first level: ',layer(iref),' m' 867 else 868 do isoil=1,nsoilmx-1 869 if ((val2.gt.layer(isoil)).and.(val2.lt.layer(isoil+1))) 870 & then 871 iref=isoil+1 872 write(*,*)'Level selected : ',layer(isoil+1),' m' 873 exit 874 endif 875 enddo 876 endif 877 878 DO ig=1,ngridmx 879 DO j=iref,nsoilmx 880 ithfi(ig,j)=ith_bb 881 ENDDO 882 ENDDO 883 884 CALL gr_fi_dyn(nsoilmx,ngridmx,iip1,jjp1,ithfi,ith) 885 886 c diurnal_TI : choice of thermal inertia values (global) 887 c ---------------------------------------------------------------- 888 else if (modif(1:len_trim(modif)) .eq. 'diurnal_TI') then 889 890 write(*,*) 'New value for diurnal thermal inertia ?' 891 106 read(*,*,iostat=ierr) ith_bb 892 if(ierr.ne.0) goto 106 893 write(*,*) 'Diurnal thermal inertia (new value):',ith_bb 894 895 write(*,*)'At which depth (in m.) does the ice layer ends?' 896 write(*,*)'(currently, the soil layer 1 and nsoil are:' 897 & ,layer(1),' - ',layer(nsoilmx),')' 898 ierr=1 899 do while (ierr.ne.0) 900 read(*,*,iostat=ierr) val2 901 write(*,*)'val2 in diurnal_TI:',val2,'ierr=',ierr 902 if (ierr.eq.0) then ! got a value, but do a sanity check 903 if(val2.gt.layer(nsoilmx)) then 904 write(*,*)'Depth should be less than ',layer(nsoilmx) 905 ierr=1 906 endif 907 if(val2.lt.layer(1)) then 908 write(*,*)'Depth should be more than ',layer(1) 909 ierr=1 910 endif 911 endif 912 enddo ! of do while 913 914 ! find the reference index iref the depth corresponds to 915 do isoil=1,nsoilmx-1 916 !write(*,*)'isoil, ',isoil,val2 917 !write(*,*)'lay(i),lay(i+1):',layer(isoil),layer(isoil+1),' m' 918 if ((val2.gt.layer(isoil)).and.(val2.lt.layer(isoil+1))) 919 & then 920 iref=isoil+1 921 write(*,*)'Level selected : ',layer(isoil+1),' m' 922 exit 923 endif 924 enddo 925 926 DO ig=1,ngridmx 927 DO j=1,iref 928 ithfi(ig,j)=ith_bb 929 ENDDO 930 ENDDO 931 932 CALL gr_fi_dyn(nsoilmx,ngridmx,iip1,jjp1,ithfi,ith) 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 826 957 endif 827 958
Note: See TracChangeset
for help on using the changeset viewer.
