Changeset 2774
- Timestamp:
- Jan 25, 2017, 1:24:12 PM (8 years ago)
- Location:
- LMDZ5/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/arch/arch-X64_ADA.fcm
r2449 r2774 8 8 %PROD_FFLAGS -O2 -ip -fp-model strict -axAVX,SSE4.2 9 9 %DEV_FFLAGS -p -g -O1 -fpe0 -traceback 10 %DEBUG_FFLAGS -p -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check bounds,format,output_conversion,pointers,uninit -debug 10 %DEBUG_FFLAGS -p -g -O0 -fpe-all=0 -traceback -ftrapuv -fp-stack-check -check bounds,format,output_conversion,pointers,uninit -debug -ftz 11 11 %MPI_FFLAGS 12 12 %OMP_FFLAGS -openmp -
LMDZ5/trunk/libf/phylmd/physiq_mod.F90
r2769 r2774 1127 1127 1128 1128 ! Quick check on pressure levels: 1129 do i = 1, klon 1130 call assert(paprs(i, nbp_lev + 1) < paprs(i, nbp_lev), & 1129 call assert(paprs(:, nbp_lev + 1) < paprs(:, nbp_lev), & 1131 1130 "physiq_mod paprs bad order") 1132 end do1133 1131 1134 1132 IF (first) THEN … … 1953 1951 ! Update ozone if day change 1954 1952 IF (MOD(itap-1,lmt_pas) == 0) THEN 1955 IF (read_climoz == 0) THEN 1956 ! Once per day, update ozone from Royer: 1957 IF (solarlong0<-999.) then 1958 ! Generic case with evolvoing season 1959 zzz=real(days_elapsed+1) 1960 ELSE IF (abs(solarlong0-1000.)<1.e-4) then 1961 ! Particular case with annual mean insolation 1962 zzz=real(90) ! could be revisited 1963 IF (read_climoz/=-1) THEN 1964 abort_message ='read_climoz=-1 is recommended when ' & 1965 // 'solarlong0=1000.' 1966 CALL abort_physic (modname,abort_message,1) 1967 ENDIF 1968 ELSE 1969 ! Case where the season is imposed with solarlong0 1970 zzz=real(90) ! could be revisited 1971 ENDIF 1972 1973 wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz) 1974 ELSE 1975 ro3i = int((days_elapsed + jh_cur - jh_1jan) / year_len * 360.) + 1 1976 IF (ro3i == 361) ro3i = 360 1977 IF (read_climoz == 1) THEN 1978 CALL regr_pr_av(ncid_climoz, (/"tro3"/), julien=ro3i, & 1979 press_in_edg=press_climoz, paprs=paprs, v3=wo) 1980 ELSE 1981 ! read_climoz == 2 1982 CALL regr_pr_av(ncid_climoz, (/"tro3 ", & 1983 "tro3_daylight"/), julien=ro3i, press_in_edg=press_climoz, & 1984 paprs=paprs, v3=wo) 1985 ENDIF 1986 ! Convert from mole fraction of ozone to column density of ozone in a 1987 ! cell, in kDU: 1988 FORALL (l = 1: read_climoz) wo(:, :, l) = wo(:, :, l) * rmo3 / rmd & 1989 * zmasse / dobson_u / 1e3 1990 ! (By regridding ozone values for LMDZ only once every 360th of 1991 ! year, we have already neglected the variation of pressure in one 1992 ! 360th of year. So do not recompute "wo" at each time step even if 1993 ! "zmasse" changes a little.) 1994 1995 ENDIF 1953 IF (read_climoz <= 0) THEN 1954 ! Once per day, update ozone from Royer: 1955 IF (solarlong0<-999.) then 1956 ! Generic case with evolvoing season 1957 zzz=real(days_elapsed+1) 1958 ELSE IF (abs(solarlong0-1000.)<1.e-4) then 1959 ! Particular case with annual mean insolation 1960 zzz=real(90) ! could be revisited 1961 IF (read_climoz/=-1) THEN 1962 abort_message ='read_climoz=-1 is recommended when ' & 1963 // 'solarlong0=1000.' 1964 CALL abort_physic (modname,abort_message,1) 1965 ENDIF 1966 ELSE 1967 ! Case where the season is imposed with solarlong0 1968 zzz=real(90) ! could be revisited 1969 ENDIF 1970 1971 wo(:,:,1)=ozonecm(latitude_deg, paprs,read_climoz,rjour=zzz) 1972 ELSE 1973 ro3i = int((days_elapsed + jh_cur - jh_1jan) / year_len * 360.) + 1 1974 1975 IF (ro3i == 361) ro3i = 360 1976 ! (This should never occur, except perhaps because of roundup 1977 ! error. See documentation.) 1978 1979 IF (read_climoz == 1) THEN 1980 CALL regr_pr_av(ncid_climoz, (/"tro3"/), julien=ro3i, & 1981 press_in_edg=press_climoz, paprs=paprs, v3=wo) 1982 ELSE 1983 ! read_climoz == 2 1984 CALL regr_pr_av(ncid_climoz, (/"tro3 ", & 1985 "tro3_daylight"/), julien=ro3i, press_in_edg=press_climoz, & 1986 paprs=paprs, v3=wo) 1987 ENDIF 1988 ! Convert from mole fraction of ozone to column density of ozone in a 1989 ! cell, in kDU: 1990 FORALL (l = 1: read_climoz) wo(:, :, l) = wo(:, :, l) * rmo3 / rmd & 1991 * zmasse / dobson_u / 1e3 1992 ! (By regridding ozone values for LMDZ only once per day, we 1993 ! have already neglected the variation of pressure in one 1994 ! day. So do not recompute "wo" at each time step even if 1995 ! "zmasse" changes a little.) 1996 ENDIF 1996 1997 ENDIF 1997 1998 !
Note: See TracChangeset
for help on using the changeset viewer.