- Timestamp:
- Nov 29, 2024, 3:15:38 PM (2 weeks ago)
- Location:
- LMDZ6/trunk/libf
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/misc/readTracFiles_mod.f90
r5190 r5353 990 990 CHARACTER(LEN=maxlen), ALLOCATABLE :: n0(:) 991 991 CHARACTER(LEN=maxlen) :: nm 992 CHARACTER(LEN=maxlen) :: tmp2(nq) 993 992 994 lerr = .FALSE. 993 995 IF(nam(1) == 'iq') THEN 994 tmp = int2str([(iq, iq=1, nq)]) 996 tmp2 = int2str([(iq, iq=1, nq)]) 997 tmp = tmp2 995 998 ELSE 996 999 lerr = getKey(nam, tmp, dBase(idb)%trac(:)%keys, lDisp=lMandatory) -
LMDZ6/trunk/libf/misc/strings_mod.f90
r5268 r5353 813 813 tmp = horzcat_s00(s0(nc), s1, s2, s3, s4, s5, s6, s7, s8, s9) 814 814 IF(nc == 1) out = tmp 815 IF(nc /= 1) out = [s0(1:nc-1), tmp] 815 IF(nc /= 1) THEN 816 !ym fix for nvidia compiler 817 !ym out = [s0(1:nc-1), tmp] 818 out = s0(1:nc-1) 819 out = [out , tmp] 820 ENDIF 816 821 END FUNCTION horzcat_s10 817 822 !============================================================================================================================== … … 845 850 CHARACTER(LEN=*), INTENT(IN) :: s0(:,:), s1(:) 846 851 CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: s2(:), s3(:), s4(:), s5(:), s6(:), s7(:), s8(:), s9(:) 847 CHARACTER(LEN=maxlen), ALLOCATABLE :: out(:,:), tmp(:,:) 852 CHARACTER(LEN=maxlen), ALLOCATABLE :: out(:,:), tmp(:,:), pk(:) 848 853 INTEGER :: nc 849 854 nc = SIZE(s0, 2) 850 855 tmp = horzcat_s11(s0(:,nc), s1, s2, s3, s4, s5, s6, s7, s8, s9) 851 856 IF(nc == 1) out = tmp 852 IF(nc /= 1) out = RESHAPE([PACK(s0(:,1:nc-1), .TRUE.), PACK(tmp, .TRUE.)], SHAPE=[SIZE(s0, 1), nc + SIZE(tmp, 2)-1]) 857 !ym fix for nvidia compiler 858 !ym IF(nc /= 1) out = RESHAPE([PACK(s0(:,1:nc-1), .TRUE.), PACK(tmp, .TRUE.)], SHAPE=[SIZE(s0, 1), nc + SIZE(tmp, 2)-1]) 859 IF(nc /= 1) THEN 860 pk = PACK(s0(:,1:nc-1), .TRUE.) 861 pk = [ pk, PACK(tmp, .TRUE.)] 862 out = RESHAPE(pk, SHAPE=[SIZE(s0, 1), nc + SIZE(tmp, 2)-1]) 863 ENDIF 853 864 END FUNCTION horzcat_s21 854 865 !============================================================================================================================== -
LMDZ6/trunk/libf/phylmd/regr_horiz_time_climoz_m.f90
r5268 r5353 139 139 REAL, ALLOCATABLE :: test_o3_in(:,:) 140 140 REAL, ALLOCATABLE :: test_o3_out(:) 141 REAL,ALLOCATABLE :: tmp(:) 141 142 142 143 … … 427 428 !--- Regrid in longitude 428 429 ALLOCATE(o3_regr_lon(nlon_ou, nlat_in, nlev_in, ie-ib+1, read_climoz)) 430 tmp = [boundslon_reg(1,west),boundslon_reg(:,east)] 429 431 CALL regr_conserv(1, o3_in3, xs = lon_in_edge, & 430 xt = [boundslon_reg(1,west),boundslon_reg(:,east)],&431 432 xt = tmp , & 433 vt = o3_regr_lon, slope = slopes(1,o3_in3, lon_in_edge)) 432 434 DEALLOCATE(o3_in3) 433 435 … … 436 438 !--- (inverted indices in "o3_regr_lonlat" because "rlatu" is decreasing) 437 439 ALLOCATE(o3_regr_lonlat(nlon_ou, nlat_ou, nlev_in, 0:13, read_climoz)) 438 CALL regr_conserv(2, o3_regr_lon, xs = sinlat_in_edge, & 439 xt = [- 1., SIN(boundslat_reg(nlat_ou-1:1:-1,south)), 1.], & 440 vt = o3_regr_lonlat(:,nlat_ou:1:- 1,:,ib:ie,:), & 441 slope = slopes(2,o3_regr_lon, sinlat_in_edge)) 440 tmp = [- 1., SIN(boundslat_reg(nlat_ou-1:1:-1,south)), 1.] 441 CALL regr_conserv(2, o3_regr_lon, xs = sinlat_in_edge, & 442 xt = tmp, & 443 vt = o3_regr_lonlat(:,nlat_ou:1:- 1,:,ib:ie,:), & 444 slope = slopes(2,o3_regr_lon, sinlat_in_edge)) 442 445 DEALLOCATE(o3_regr_lon) 443 446 … … 519 522 !--- (inverted indices in "o3_regr_lat" because "rlatu" is decreasing) 520 523 ALLOCATE(o3_regr_lat(nlat_ou, nlev_in, 0:13, read_climoz)) 524 tmp = [- 1., SIN(boundslat_reg(nlat_ou-1:1:-1,south)), 1.] 521 525 CALL regr_conserv(1, o3_in2, xs = sinlat_in_edge, & 522 xt = [- 1., SIN(boundslat_reg(nlat_ou-1:1:-1,south)), 1.],&526 xt = tmp, & 523 527 vt = o3_regr_lat(nlat_ou:1:- 1,:,ib:ie,:), & 524 528 slope = slopes(1,o3_in2, sinlat_in_edge))
Note: See TracChangeset
for help on using the changeset viewer.