Changeset 3744
- Timestamp:
- Apr 29, 2025, 10:25:48 AM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.PLUTO/libf/dynphy_lonlat/phypluto/newstart.F
r3640 r3744 616 616 write(*,*) 'qname : change tracer name' 617 617 write(*,*) 't=profile : read temperature profile in profile.in' 618 write(*,*) 'tgrad : temperature profile + horizontal gradient' 618 619 write(*,*) 'q=0 : ALL tracer =zero' 619 620 write(*,*) 'q=x : give a specific uniform value to one tracer' … … 937 938 endif 938 939 940 c t=gradient : initialize temperature with a given profile and add an horizontal gradient 941 c --------------------------------------------------------------------------------------- 942 else if (modif(1:len_trim(modif)) .eq. 'tgrad') then 943 write(*,*) 'Temperature profile from ASCII file' 944 write(*,*) "'profile.in' e.g. 1D output" 945 write(*,*) "(one value per line in file; starting with" 946 write(*,*) "surface value, the 1st atmospheric layer" 947 write(*,*) "followed by 2nd, etc. up to top of atmosphere)" 948 txt="profile.in" 949 open(33,file=trim(txt),status='old',form='formatted', 950 & iostat=ierr) 951 if (ierr.eq.0) then 952 ! OK, found file 'profile_...', load the profile 953 do l=1,llm+1 954 read(33,*,iostat=ierr) profile(l) 955 write(*,*) profile(l) 956 if (ierr.ne.0) then ! something went wrong 957 exit ! quit loop 958 endif 959 enddo 960 if (ierr.eq.0) then 961 tsurf(1:ngridmx)=profile(1) 962 tsoil(1:ngridmx,1:nsoilmx)=profile(1) 963 do j=1,jjp1 964 do l=1,llm 965 if (rlatu(j)*180./pi .ge. 85) then 966 Tset(1:iip1,j,l)=profile(l+1) + 20 967 flagtset=.true. 968 elseif (rlatu(j)*180./pi .ge. 80) then 969 Tset(1:iip1,j,l)=profile(l+1) + 18 970 flagtset=.true. 971 elseif (rlatu(j)*180./pi .ge. 75) then 972 Tset(1:iip1,j,l)=profile(l+1) + 15 973 flagtset=.true. 974 elseif (rlatu(j)*180./pi .ge. 70) then 975 Tset(1:iip1,j,l)=profile(l+1) + 13 976 flagtset=.true. 977 elseif (rlatu(j)*180./pi .ge. 65) then 978 Tset(1:iip1,j,l)=profile(l+1) + 10 979 flagtset=.true. 980 elseif (rlatu(j)*180./pi .ge. 60) then 981 Tset(1:iip1,j,l)=profile(l+1) + 8 982 flagtset=.true. 983 elseif (rlatu(j)*180./pi .ge. 55) then 984 Tset(1:iip1,j,l)=profile(l+1) + 5 985 flagtset=.true. 986 elseif (rlatu(j)*180./pi .ge. 50) then 987 Tset(1:iip1,j,l)=profile(l+1) + 3 988 flagtset=.true. 989 else 990 Tset(1:iip1,j,l)=profile(l+1) 991 flagtset=.true. 992 endif 993 enddo 994 enddo 995 ucov(1:iip1,1:jjp1,1:llm)=0. 996 vcov(1:iip1,1:jjm,1:llm)=0. 997 q2(1:ngridmx,1:llm+1)=0. 998 else 999 write(*,*)'problem reading file ',trim(txt),' !' 1000 write(*,*)'No modifications to temperature' 1001 endif 1002 else 1003 write(*,*)'Could not find file ',trim(txt),' !' 1004 write(*,*)'No modifications to temperature' 1005 endif 1006 939 1007 c q=profile : initialize tracer with a given profile 940 1008 c --------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.