9 REAL,
DIMENSION(npCFMIP) :: lonCFMIP, latCFMIP
10 INTEGER :: tab(npcfmip), np
12 WRITE(*,*)
'npCFMIP=',npcfmip
14 OPEN(20, file=
"pointlocations.txt",status=
'old',
err=999)
15 OPEN(21, file=
"pointlocations_lon180.txt")
17 10
READ(20,*) tab(np), loncfmip(np), latcfmip(np)
19 IF (loncfmip(np).GT.180.)
THEN
20 loncfmip(np)=loncfmip(np)-360.
22 WRITE(21,*) np, loncfmip(np), latcfmip(np)
24 IF(np.LE.npcfmip)
THEN
33 tabijgcm, longcm, latgcm, ipt, jpt)
40 REAL,
DIMENSION(npCFMIP) :: lonCFMIP, latCFMIP
41 INTEGER :: i, j, np, ip
42 INTEGER,
DIMENSION(npCFMIP) :: ipt, jpt
45 REAL,
DIMENSION(nbp_lon+1) :: lon
46 INTEGER,
DIMENSION(npCFMIP) :: tabijGCM
47 REAL,
DIMENSION(npCFMIP) :: lonGCM, latGCM
51 OPEN(22, file=
"LMDZ_pointsCFMIP.txt")
58 IF(loncfmip(np).GE.lon(i).AND.loncfmip(np).LT.lon(i+1))
THEN
59 dlon1 = abs(loncfmip(np) - lon(i))
60 dlon2 = abs(loncfmip(np) - lon(i+1))
61 IF (dlon1.LE.dlon2)
THEN
72 40
IF(latcfmip(np).LE.
io_lat(j).AND.latcfmip(np).GE.
io_lat(j+1))
THEN
73 dlat1 = abs(latcfmip(np) -
io_lat(j))
74 dlat2 = abs(latcfmip(np) -
io_lat(j+1))
75 IF (dlat1.LE.dlat2)
THEN
81 IF(np.LE.npcfmip)
THEN
92 WRITE(22,*) lon(ipt(np)),
io_lat(jpt(np))
96 OPEN(23, file=
"pointsCFMIPvsLMDZ.txt")
98 longcm(ip)=lon(ipt(ip))
100 if(jpt(ip).GE.2.AND.jpt(ip).LE.
nbp_lat-1)
THEN
101 tabijgcm(ip)=1+(jpt(ip)-2)*
nbp_lon+ipt(ip)
102 else if(jpt(ip).EQ.1)
THEN
104 else if(jpt(ip).EQ.
nbp_lat)
THEN
107 print*,
'ip jpt tabijGCM',ip,jpt(ip),tabijgcm(ip)
112 if(longcm(ip).EQ.
io_lon(1)) longcm(ip)=360.+longcm(ip)
115 WRITE(23,*) i, loncfmip(i), latcfmip(i), longcm(i), latgcm(i), tabijgcm(i)
real, dimension(:), allocatable, save io_lat
subroutine read_cfmip_point_locations(npCFMIP, tab, lonCFMIP, latCFMIP)
subroutine err(ierr, typ, nam)
real, dimension(:), allocatable, save io_lon
subroutine lmdz_cfmip_point_locations(npCFMIP, lonCFMIP, latCFMIP, tabijGCM, lonGCM, latGCM, ipt, jpt)