2018-06-08_08-49
/work2/am/2017.LLC.Pacific/HAGIWARA_MASK/MAP.HISTO.CLOUD.V.BIN
am@localhost
$ MAP.HISTO.CLOUD.V.BIN.sh
-rw-rw-r-- 1 am am 14K 6月 8 09:18 MAP.HISTO.CLOUD.V.BIN.f90
Compiling MAP.HISTO.CLOUD.V.BIN.f90 ...
ifort -O2 MAP.HISTO.CLOUD.V.BIN.f90 -o MAP.HISTO.CLOUD.V.BIN.exe
Done Compile.
-rwxrwxr-x 1 am am 908K 6月 8 09:18 MAP.HISTO.CLOUD.V.BIN.exe
NUMBER OF INPUT FILES = 331
LIST OF INPUT FILES: MAP.HISTO.CLOUD.V.BIN.lst
MAP.HISTO.CLOUD.V.BIN.exe is running ...
READING NAMELIST FILE ...
INPUT FILE LIST = MAP.HISTO.CLOUD.V.BIN.lst
OUTPUT DIRECTORY = OUTPUT_MAP.HISTO.CLOUD.V.BIN/
DONE.
im= 8 jm= 4 kb= 7
20160606 157 20160606
20160625 176 20160625
READING INPUT FILE LIST ...
NUMBER OF INPUT FILES = 331
DONE.
10 1
OUTPUT_MAP.HISTO.CLOUD.V.BIN/FREQ_20160606-20160625_140-180_030-050_00000-02000.txt
OUTPUT_MAP.HISTO.CLOUD.V.BIN/BOX_DAY_20160606-20160625_140-180_030-050_00000-02000.txt
OUTPUT_MAP.HISTO.CLOUD.V.BIN/BOX_NIGHT_20160606-20160625_140-180_030-050_00000-02000.txt
OBS.P_20160606-20160625_140-180_030-050.txt
2018-06-19_10-54
/work2/am/2017.LLC.Pacific/HAGIWARA_MASK/MAP.HISTO.CLOUD.V.BIN
am@localhost
$ srcdump.sh MAP.HISTO.CLOUD.V.BIN.sh MAP.HISTO.CLOUD.V.BIN.f90 MAP.HISTO.CLOUD.V.BIN.PL.COLOR.sh >l.txt
#------------------------------
# List of the following files:
#------------------------------
MAP.HISTO.CLOUD.V.BIN.sh
MAP.HISTO.CLOUD.V.BIN.f90
MAP.HISTO.CLOUD.V.BIN.PL.COLOR.sh
#------------------------------
# Machine info
#------------------------------
localhost
/work2/am/2017.LLC.Pacific/HAGIWARA_MASK/MAP.HISTO.CLOUD.V.BIN
Tue Jun 19 10:55:24 JST 2018
#======================
# MAP.HISTO.CLOUD.V.BIN.sh
#======================
#!/bin/bash
#
# Description:
#
yyyy=2016
indir_root=/misc/raid112MANDA/data/Hagiwara.Mask_CloudSAT.CALIPSO/${yyyy}
#indir_root=/misc/raid112MANDA/data/Hagiwara.Mask_CloudSAT.CALIPSO/${yyyy}.OLD
wlon=140
elon=180
slat=30
nlat=50
#wlon=140
#elon=180
#slat=30
#nlat=50
dlatbin=5
dlonbin=5
zbtm=0.
ztop=14000.
dzbin=2000.
sdate=20160606
edate=20160625
#edate=20160610
src=$(basename $0 .sh).f90
exe=$(basename $src .f90).exe
nml=$(basename $src .f90).nml
f90=ifort
opt="-O2"
#opt="-CB -traceback -fpe0" # -convert big_endian -assume byterecl
echo
ls -lh ${src}
echo
echo Compiling ${src} ...
echo
echo ${f90} ${opt} ${src} -o ${exe}
echo
${f90} ${opt} ${src} -o ${exe}
if [ $? -ne 0 ]; then
echo
echo "=============================================="
echo
echo " COMPILE ERROR!!!"
echo
echo "=============================================="
echo
echo TERMINATED.
echo
exit 1
fi
echo "Done Compile."
echo
ls -lh ${exe}
echo
cwd=$(pwd)
cd $indir_root
indirs=$(ls -d1 ${yyyy}* )
cd $cwd
nf=0
for dir in $indirs; do
indir=${indir_root}/${dir}
infle=CS${dir}_Cmask_rev.bin
if [ -e "${indir}/${infle}" ]; then
nf=$(expr $nf + 1)
fi
done
echo
echo "NUMBER OF INPUT FILES = $nf"
echo
lst=$(basename $0 .sh).lst
cat <<EOF>$lst
$nf
${indir_root}/
EOF
for dir in $indirs; do
indir=${indir_root}/${dir}
infle=CS${dir}_Cmask_rev.bin
if [ -e "${indir}/${infle}" ]; then
echo ${dir}/${infle} >>$lst
fi
done
echo
echo LIST OF INPUT FILES: $lst
echo
#odir_root=/misc/raid112MANDA/data/Hagiwara.Mask_CloudSAT.CALIPSO
#odir=${odir_root}/$(basename $0 .sh)/
odir=OUTPUT_$(basename $0 .sh)/
mkdir -vp $odir
nml=$(basename $0 .sh).nml
cat <<EOF>$nml
¶
cwd="$(pwd)"
lst="$lst"
wlon=${wlon}
elon=${elon}
slat=${slat}
nlat=${nlat}
odir="${odir}"
sdate="${sdate}"
edate="${edate}"
dlonbin=${dlonbin}
dlatbin=${dlatbin}
dzbin=${dzbin}
zbtm=${zbtm}
ztop=${ztop}
&end
EOF
echo
echo ${exe} is running ...
echo
${exe} <$nml
if [ $? -ne 0 ]; then
echo
echo "=============================================="
echo
echo " ERROR in $exe: RUNTIME ERROR!!!"
echo
echo "=============================================="
echo
echo TERMINATED.
echo
exit 1
fi
echo
echo "Done ${exe}"
echo
exit 0
#----------------------
# End of MAP.HISTO.CLOUD.V.BIN.sh
#----------------------
#======================
# MAP.HISTO.CLOUD.V.BIN.f90
#======================
program main
implicit none
integer nf, n
integer :: i, j, k, ii, jj, kk, iend
real rlon,rlat, slat, nlat, wlon, elon
real lon,lat
character(1000)::cwd
character(15)::domain !XXX-XXX_XXX_XXX
character(8)::sdate,edate
integer julday,juldays,juldaye,julday0,julday_infle
integer iyyy,month,dd
integer yyyyp,mmp,ddp,hhmmp
integer,parameter :: km=83
! 13
integer :: CMask_1(km)
real :: CMask_2(km), CMask_3(km), CMask_4(km)
real(8) :: CMask_5(km), CMask_8(km), CMask_9(km)
integer(1) :: CMask_6(km), CMask_7(km)
integer(4) :: CMask_10(km), CMask_11(km)
! HISTOGRAM
real,allocatable:: n_cmask_day(:,:,:), n_cmask_night(:,:,:) !TOTAL NUMBER
real,allocatable:: c_cmask_day(:,:,:), c_cmask_night(:,:,:) !COUNTER
! AREA AVE
real slatbin,nlatbin,dlonbin,dlatbin,clon,clat
real,allocatable::lonbinw(:),lonbine(:),latbins(:),latbinn(:)
character(11)::levrange
integer im,jm
! VERTICAL BIN
integer kb
real dzbin, zbtm, ztop, zlev
real,allocatable::zbinb(:),zbint(:)
real flgzbin_day,flgzbin_night
! filename
character(200)::lst
character(200)::indir, odir
character(100),allocatable :: infle(:)
character(1000),allocatable :: ofle(:), oflebd(:), oflebn(:)
character(1000)::oflep, oflepd, oflepn !OBSERVATION POINTS
integer iu, ifc
integer,parameter::iuinput=11,iustart=12
! PROFILE NUMBER
integer ip
character(len=5)::ipc
namelist /para/cwd, lst, wlon, elon, slat, nlat, odir, sdate, edate,&
dlonbin,dlatbin,dzbin,zbtm,ztop
print '(A)','READING NAMELIST FILE ...'
read(*,nml=para)
print '(A,A)','INPUT FILE LIST = ',trim(lst)
print '(A,A)','OUTPUT DIRECTORY = ',trim(odir)
print '(A)','DONE.'
print *
im=int((elon-wlon)/dlonbin)
jm=int((nlat-slat)/dlatbin)
kb=int((ztop-zbtm)/dzbin)
print *,'im=',im,'jm=',jm,'kb=',kb
allocate(lonbinw(im),lonbine(im)) !LONGITUDE BIN
allocate(latbins(jm),latbinn(jm)) !LATITUDE BIN
allocate(zbinb(kb),zbint(kb)) !VERTICAL BIN
allocate(ofle(kb),oflebd(kb),oflebn(kb)) !OUTPUT FILE
allocate(&
n_cmask_day(im,jm,kb), n_cmask_night(im,jm,kb), & !TOTAL NUMBER
c_cmask_day(im,jm,kb), c_cmask_night(im,jm,kb)) !COUNTER
read(sdate(1:4),'(i4.4)')iyyy
read(sdate(5:6),'(i4.4)')month
read(sdate(7:8),'(i4.4)')dd
juldays=JULDAY(IYYY,MONTH,DD) - JULDAY(IYYY,1,1)
julday0=juldays + JULDAY(IYYY,1,1)
call caldat(julday0,IYYY,MONTH,DD)
print '(A8,1x,i3.3,1x,i4.4,i2.2,i2.2)',sdate, juldays,IYYY,MONTH,DD
read(edate(1:4),'(i4.4)')iyyy
read(edate(5:6),'(i4.4)')month
read(edate(7:8),'(i4.4)')dd
juldaye=JULDAY(IYYY,MONTH,DD) - JULDAY(IYYY,1,1)
julday0=juldaye + JULDAY(IYYY,1,1)
call caldat(julday0,IYYY,MONTH,DD)
print '(A8,1x,i3.3,1x,i4.4,i2.2,i2.2)',edate, juldaye,IYYY,MONTH,DD
print '(A)','READING INPUT FILE LIST ...'
open(7,file=trim(lst),action="read")
read(7,*)nf
allocate(infle(nf))
read(7,'(A)')indir
do n=1,nf
read(7,'(A)')infle(n)
end do !n
close(7)
print '(A,i5)','NUMBER OF INPUT FILES = ',nf
print '(A)','DONE.'
print *
write(domain( 1: 4),'(i3.3,A)')int(wlon),'-'
write(domain( 5: 8),'(i3.3,A)')int(elon),'_'
write(domain( 9:12),'(i3.3,A)')int(slat),'-'
write(domain(13:15),'(i3.3)')int(nlat)
! OBS POINT
oflep='OBS.P_'//trim(sdate)//'-'//trim(edate)//'_'//trim(domain)//'.DAY+NIGHT.txt'
open(8,file=trim(oflep))
oflepd='OBS.P_'//trim(sdate)//'-'//trim(edate)//'_'//trim(domain)//'.DAY.txt'
open(9,file=trim(oflepd))
oflepn='OBS.P_'//trim(sdate)//'-'//trim(edate)//'_'//trim(domain)//'.NIGHT.txt'
open(10,file=trim(oflepn))
do i=0,2
iu=8+i
write(iu,'(A,A)')'# CWD= = ',trim(cwd)
write(iu,'(A,A)')'# INPUT FILE LIST = ',trim(lst)
write(iu,'(A,A)')'# OUTPUT DIRECTORY = ',trim(odir)
write(iu,'(A,f10.4)')'# wlon = ',wlon
write(iu,'(A,f10.4)')'# elon = ',elon
write(iu,'(A,f10.4)')'# slat = ',slat
write(iu,'(A,f10.4)')'# nlat = ',nlat
end do !i
ifc=0
do kk=1,kb
iu=iustart+ifc
zbinb(kk)= zbtm + float(kk-1)*dzbin
zbint(kk)= zbtm + float(kk )*dzbin
write(levrange( 1: 11),'(i5.5,A,i5.5)')int(zbinb(kk)),'-',int(zbint(kk))
ofle(kk)=trim(odir)//'FREQ_'//trim(sdate)//'-'//trim(edate)//'_'//&
trim(domain)//'_'//levrange//'.txt'
open(iu,file=ofle(kk))
write(iu,'(A,A)')'# CWD= = ',trim(cwd)
write(iu,'(A,A)')'# INPUT FILE LIST = ',trim(lst)
write(iu,'(A,A)')'# indir = ',trim(indir)
write(iu,'(A,A)')'# infle(1) = ',trim(infle(1))
write(iu,'(A,A)')'# infle(nf) = ',trim(infle(nf))
write(iu,'(A,A)')'# OUTPUT = ',trim(ofle(kk))
write(iu,'(A,A)')'# sdate = ',sdate
write(iu,'(A,A)')'# edate = ',edate
write(iu,'(A,f10.4)')'# wlon = ',wlon
write(iu,'(A,f10.4)')'# elon = ',elon
write(iu,'(A,f10.4)')'# slat = ',slat
write(iu,'(A,f10.4)')'# nlat = ',nlat
write(iu,'(A,f10.4)')'# dlonbin = ',dlonbin
write(iu,'(A,f10.4)')'# dlatbin = ',dlatbin
write(iu,'(A,f10.4)')'# dzbin = ',dzbin
write(iu,'(A,f10.1)')'# zbinb = ',zbinb(kk)
write(iu,'(A,f10.1)')'# zbint = ',zbint(kk)
write(iu,'(A)')'# lon lat n_cmask_day, c_cmask_day, n_cmask_night, c_cmask_night'
print '(i3,i5)',iu,kk
print '(A)',trim(ofle(kk))
ifc=ifc+1
end do !kk
do j=1,jm
latbins(j)=slat+float(j-1)*dlatbin
latbinn(j)=slat+float(j)*dlatbin
end do !j
do i=1,im
lonbinw(i)=wlon+float(i-1)*dlonbin
lonbine(i)=wlon+float(i)*dlonbin
end do !i
!RESET COUNTER
n_cmask_day(:,:,:)=0.0
n_cmask_night(:,:,:)=0.0
c_cmask_day(:,:,:)=0.0
c_cmask_night(:,:,:)=0.0
INPUT_FILES : do n=1,nf
open(iuinput,file=trim(indir)//trim(infle(n)),action="read", &
form='unformatted',access='sequential',convert='big_endian',status='old',&
err=9999)
! CHECK DATE
read(infle(n)(5:7),'(i3.3)')julday_infle
if(julday_infle < juldays .or. julday_infle > juldaye)then
print '(i4.4,A,A,A)',n,' SKIPPING ',trim(infle(n)),' ...'
goto 9999
end if
print '(i4.4,A,A,A)', n,' READING ',trim(infle(n)),' ...'
read(infle(n)(1:4),'(i4.4)')iyyy
julday0=julday_infle + JULDAY(iyyy,1,1)
call caldat(julday0,yyyyp,mmp,ddp)
print *,yyyyp,mmp,ddp
read(infle(n)(8:12),'(i4.4)')hhmmp
ip=1 ! PROFILE NUMBER
iend=0
PROFILE: do while( iend == 0 ) !PROFILE
do k=1, km !k
read(iuinput, iostat=iend)CMask_1(k), CMask_2(k), CMask_3(k), &
CMask_4(k), CMask_5(k), CMask_6(k), &
CMask_7(k), CMask_8(k), CMask_9(k), CMask_10(k), CMask_11(k)
! CHECK
if(CMask_11(k)/=0 .and. CMask_11(k)/=1)then
print '(i4.4,i2.2,i2.2,1x,i4.4,1x,2f9.3,f8.1,i2)',&
yyyyp,mmp,ddp,hhmmp,CMask_3(k),CMask_4(k),CMask_5(k)/1000.,CMask_11(k)
endif
enddo !k
rlat=CMask_3(1)
rlon=CMask_4(1)
LATBIN_LOOP: do j=1,jm
LONBIN_LOOP: do i=1,im
if(rlat>=latbins(j) .and. rlat<=latbinn(j) .and. &
rlon>=lonbinw(i) .and. rlon<=lonbine(i) )then
ZBIN_LOOP : do kk=1,kb
flgzbin_day =0.0
flgzbin_night=0.0
if(CMask_6(1)==1)then !CMask_6 (DAY)
n_cmask_day(i,j,kk)=n_cmask_day(i,j,kk) + 1.0
else if(CMask_6(1)==0)then !CMask_6 (NIGHT)
n_cmask_night(i,j,kk)=n_cmask_night(i,j,kk) + 1.0
end if !CMask_6
Z_LOOP: do k=1,km
zlev=CMask_5(k)
if(zlev>=zbinb(kk) .and. zlev<zbint(kk))then
if(CMask_11(k)==1 .and. CMask_6(1)==1)then !CLOUD FOUND(DAY)
flgzbin_day =1.0
!print '(i4.4,i2.2,i2.2,1x,i4.4,1x,2f9.3,f8.1,i2)',&
!yyyyp,mmp,ddp,hhmmp,CMask_3(k),CMask_4(k),CMask_5(k)/1000.,CMask_11(k)
endif
if(CMask_11(k)==1 .and. CMask_6(1)==0)then !CLOUD FOUND(NIGHT)
flgzbin_night=1.0
endif
endif ! zlev
end do Z_LOOP
if(flgzbin_day==1.0)then
c_cmask_day(i,j,kk) =c_cmask_day(i,j,kk) + 1.0
endif
if(flgzbin_night==1.0)then
c_cmask_night(i,j,kk)=c_cmask_night(i,j,kk) + 1.0
endif
end do ZBIN_LOOP !kk
endif !rlat, rlon
end do LONBIN_LOOP !i
end do LATBIN_LOOP !j
! OBS POINT
if(rlon>=wlon .and. rlon<=elon .and. rlat>=slat .and. rlat<=nlat)then
write(8,'(f10.4,f9.4,1x,i4.4,i2.2,i2.2,1x,i4.4)')&
rlon,rlat,yyyyp,mmp,ddp,hhmmp
if(CMask_6(1)==1)then !CMask_6 (DAY)
write(9,'(f10.4,f9.4,1x,i4.4,i2.2,i2.2,1x,i4.4)')&
rlon,rlat,yyyyp,mmp,ddp,hhmmp
else if(CMask_6(1)==0)then !CMask_6 (NIGHT)
write(10,'(f10.4,f9.4,1x,i4.4,i2.2,i2.2,1x,i4.4)')&
rlon,rlat,yyyyp,mmp,ddp,hhmmp
endif !CMask_6
endif ! OBS POINT
enddo PROFILE
print '(A)','DONE.'
print *
9999 continue
end do INPUT_FILES
! FREQ (DOT)
ifc=0
do kk=1,kb
iu=iustart+ifc
do j=1,jm
clat=(latbins(j)+latbinn(j))*0.5
do i=1,im
clon=(lonbinw(i)+lonbine(i))*0.5
write(iu,'(f10.1, f9.1, 4f10.1)')&
clon, clat, n_cmask_day(i,j,kk), c_cmask_day(i,j,kk), &
n_cmask_night(i,j,kk), c_cmask_night(i,j,kk)
enddo !i
enddo !j
ifc=ifc+1
close(iu)
end do !k
!BOX (DAY)
ifc=0
do kk=1,kb
iu=iustart+ifc
write(levrange( 1: 11),'(i5.5,A,i5.5)')int(zbinb(kk)),'-',int(zbint(kk))
oflebd(kk)=""
oflebd(kk)=trim(odir)//'BOX_DAY_'//trim(sdate)//'-'//trim(edate)//'_'//&
trim(domain)//'_'//levrange//'.txt'
open(iu,file=oflebd(kk))
write(iu,'(A,A)')'# CWD= = ',trim(cwd)
write(iu,'(A,A)')'# INPUT FILE LIST = ',trim(lst)
write(iu,'(A,A)')'# indir = ',trim(indir)
write(iu,'(A,A)')'# infle(1) = ',trim(infle(1))
write(iu,'(A,A)')'# infle(nf) = ',trim(infle(nf))
write(iu,'(A,A)')'# OUTPUT = ',trim(oflebd(kk))
write(iu,'(A,A)')'# sdate = ',sdate
write(iu,'(A,A)')'# edate = ',edate
write(iu,'(A,f10.4)')'# wlon = ',wlon
write(iu,'(A,f10.4)')'# elon = ',elon
write(iu,'(A,f10.4)')'# slat = ',slat
write(iu,'(A,f10.4)')'# nlat = ',nlat
write(iu,'(A,f10.4)')'# dlonbin = ',dlonbin
write(iu,'(A,f10.4)')'# dlatbin = ',dlatbin
write(iu,'(A,f10.4)')'# dzbin = ',dzbin
write(iu,'(A,f10.1)')'# zbinb = ',zbinb(kk)
write(iu,'(A,f10.1)')'# zbint = ',zbint(kk)
do j=1,jm
do i=1,im
if(n_cmask_day(i,j,kk)>0.0)then
write(iu,'(A,f10.3,2f10.0)')'> -Z ',c_cmask_day(i,j,kk)/n_cmask_day(i,j,kk)*100.,&
c_cmask_day(i,j,kk),n_cmask_day(i,j,kk)
write(iu,'(f10.4,f9.4)') lonbinw(i), latbins(j)
write(iu,'(f10.4,f9.4)') lonbine(i), latbins(j)
write(iu,'(f10.4,f9.4)') lonbine(i), latbinn(j)
write(iu,'(f10.4,f9.4)') lonbinw(i), latbinn(j)
write(iu,'(f10.4,f9.4)') lonbinw(i), latbins(j)
endif
end do !i
end do !j
close(iu)
ifc=ifc+1
end do !kk
!BOX (NIGHT)
ifc=0
do kk=1,kb
iu=iustart+ifc
write(levrange( 1: 11),'(i5.5,A,i5.5)')int(zbinb(kk)),'-',int(zbint(kk))
oflebn(kk)=""
oflebn(kk)=trim(odir)//'BOX_NIGHT_'//trim(sdate)//'-'//trim(edate)//'_'//&
trim(domain)//'_'//levrange//'.txt'
open(iu,file=oflebn(kk))
write(iu,'(A,A)')'# CWD= = ',trim(cwd)
write(iu,'(A,A)')'# INPUT FILE LIST = ',trim(lst)
write(iu,'(A,A)')'# indir = ',trim(indir)
write(iu,'(A,A)')'# infle(1) = ',trim(infle(1))
write(iu,'(A,A)')'# infle(nf) = ',trim(infle(nf))
write(iu,'(A,A)')'# OUTPUT = ',trim(oflebn(kk))
write(iu,'(A,A)')'# sdate = ',sdate
write(iu,'(A,A)')'# edate = ',edate
write(iu,'(A,f10.4)')'# wlon = ',wlon
write(iu,'(A,f10.4)')'# elon = ',elon
write(iu,'(A,f10.4)')'# slat = ',slat
write(iu,'(A,f10.4)')'# nlat = ',nlat
write(iu,'(A,f10.4)')'# dlonbin = ',dlonbin
write(iu,'(A,f10.4)')'# dlatbin = ',dlatbin
write(iu,'(A,f10.4)')'# dzbin = ',dzbin
write(iu,'(A,f10.1)')'# zbinb = ',zbinb(kk)
write(iu,'(A,f10.1)')'# zbint = ',zbint(kk)
do j=1,jm
do i=1,im
!print *, i,j,kk,c_cmask_night(i,j,kk),n_cmask_night(i,j,kk)
if(n_cmask_night(i,j,kk)>0.0)then
write(iu,'(A,f9.3,2f10.1)')'> -Z ',c_cmask_night(i,j,kk)/n_cmask_night(i,j,kk)*100.,&
c_cmask_night(i,j,kk),n_cmask_night(i,j,kk)
write(iu,'(f10.4,f9.4)') lonbinw(i), latbins(j)
write(iu,'(f10.4,f9.4)') lonbine(i), latbins(j)
write(iu,'(f10.4,f9.4)') lonbine(i), latbinn(j)
write(iu,'(f10.4,f9.4)') lonbinw(i), latbinn(j)
write(iu,'(f10.4,f9.4)') lonbinw(i), latbins(j)
endif
end do !i
end do !j
close(iu)
ifc=ifc+1
end do !kk
ifc=0
print *
do kk=1,kb
iu=iustart+ifc
print '(i3,i5)',iu,kk
print '(A)',trim(ofle(kk))
print '(A)',trim(oflebd(kk))
print '(A)',trim(oflebn(kk))
print *
ifc=ifc+1
end do !kk
print *
print '(A)',trim(oflep)
print '(A)',trim(oflepd)
print '(A)',trim(oflepn)
print *
end program main
!caldat.f90
!ユリウス日→西暦
!
subroutine caldat(JULIAN,IYYY,MONTH,DD)
! Description:
!
! Author: am
!
! Host: aofd30
! Directory: /work2/am/12.Work11/75.Mitsui/52.Vertical_Profile/src
!
! Revision history:
! This file is created by /usr/local/mybin/nff.sh at 11:00 on 11-01-2011.
! use
! implicit none
INTEGER,intent(in):: JULIAN
integer,intent(out)::IYYY,MONTH,DD
!
! NAME IN/OUT DESCRIPTION
!
! JULIAN I THE JULIAN DAY
! IYYY O THE YEAR
! MONTH O THE MONTH (1 TO 12)
! DD O THE DAY OF THE MONTH
!
INTEGER IGREG
PARAMETER (IGREG=2299161)
INTEGER JALPHA,JA,JB,JC,JD,JE
!
IF (JULIAN .GE. IGREG) THEN
JALPHA = INT(((JULIAN - 1867216) - 0.25)/36524.25)
JA = JULIAN + 1 + JALPHA - INT(0.25*JALPHA)
ELSE
JA = JULIAN
ENDIF
JB = JA + 1524
JC = INT(6680. + ((JB - 2439870) - 122.1)/365.25)
JD = 365*JC + INT(0.25*JC)
JE = INT((JB - JD)/30.6001)
DD = JB - JD - INT(30.6001*JE)
MONTH = JE - 1
IF (MONTH .GT. 12) MONTH = MONTH - 12
IYYY = JC - 4715
IF (MONTH .GT. 2) IYYY = IYYY - 1
IF (IYYY .LE. 0) IYYY = IYYY - 1
RETURN
end subroutine caldat
!julday.f90
!西暦→ユリウス日
!
INTEGER FUNCTION JULDAY(IYYY,MONTH,DD)
INTEGER,intent(inout):: IYYY,MONTH,DD
!
! NAME IN/OUT DESCRIPTION
!
! IYYY I YEAR
! MONTH I MONTH (1 TO 12)
! DD I DAY OF MONTH
!
INTEGER IGREG
PARAMETER (IGREG = 15 + 31*(10 + 12*1582))
INTEGER JY,JM,JA
!
IF (IYYY .LT. 0) IYYY = IYYY + 1
IF (MONTH .GT. 2) THEN
JY = IYYY
JM = MONTH + 1
ELSE
JY = IYYY - 1
JM = MONTH + 13
ENDIF
JULDAY = INT(365.25*JY) + INT(30.6001*JM) + DD + 1720995
IF (DD + 31*(MONTH + 12*IYYY) .GE. IGREG) THEN
JA = INT(0.01*JY)
JULDAY = JULDAY + 2 - JA + INT(0.25*JA)
ENDIF
RETURN
end function julday
#----------------------
# End of MAP.HISTO.CLOUD.V.BIN.f90
#----------------------
#======================
# MAP.HISTO.CLOUD.V.BIN.PL.COLOR.sh
#======================
#!/bin/bash
# Description:
#
# Author: am
#
# Host: localhost
# Directory: /work2/am/2017.LLC.Pacific/HAGIWARA_MASK/OBSP.N.PACIFIC
#
# Revision history:
# This file is created by /usr/local/mybin/ngmt.sh at 10:50 on 06-04-2018.
. ./gmtpar.sh
echo "Bash script $0 starts."
range=140/180/30/50
size=Q130/5
xanot=a10f5
yanot=a5f5
anot=${xanot}/${yanot}WSne
indir=/misc/raid112MANDA/data/Hagiwara.Mask_CloudSAT.CALIPSO/OBSP.N.PACIFIC
infle=OBS.P_20160606-20160625_144-174_035-045.txt
in=${indir}/${infle}
if [ ! -f $in ]; then
echo Error in $0 : No such file, $in
exit 1
fi
out=$(basename $in .txt).COLOR.ps
cpt=$(basename $0 .sh).cpt
makecpt -Cwysiwyg -T6/25/1 >$cpt
awk '{if($1!="#") print $1, $2, substr($3,7,2)}' $in|
psxy -R$range -J$size -Sc0.01 -C$cpt -K -X1.5 -Y7.5 -P >$out
pscoast -R$range -J$size -B$anot -W1 -G200 -O -K >>$out
psscale -D2.5/-0.5/5/0.1h -C$cpt -E -Ba2f1 -O -K >>$out
rm -v $cpt
xoffset=
yoffset=2.5
export LANG=C
curdir1=$(pwd)
now=$(date)
host=$(hostname)
time=$(ls -l ${in} | awk '{print $6, $7, $8}')
time1=$(ls -l ${in} | awk '{print $6, $7, $8}')
pstext <<EOF -JX6/1.5 -R0/1/0/1.5 -N -X${xoffset:-0} -Y${yoffset:-0} -O >> $out
0 1.50 9 0 1 LM $0 $@
0 1.35 9 0 1 LM ${now}
0 1.20 9 0 1 LM ${host}
0 1.05 9 0 1 LM ${curdir1}
0 0.90 9 0 1 LM Indir: ${indir}
0 0.75 9 0 1 LM Input: ${infle} (${time})
0 0.60 9 0 1 LM Input:
0 0.45 9 0 1 LM Input:
EOF
echo
echo "INPUT: $in"
echo "OUTPUT: $out"
echo
echo "Done $0"
#----------------------
# End of MAP.HISTO.CLOUD.V.BIN.PL.COLOR.sh
#----------------------