- 积分
- 1965
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-4-13
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 柿子柿子柿子 于 2017-12-17 15:29 编辑
由于欧洲中心不发粗网格数据了,MICAPS4的自动抽稀不太好用,于是自己写了个稀疏化EC细网格的程序。
其中,因ifor不能直接在待创建的文件夹下直接写文件,所以我和这东西斗智斗勇了几个小时。
在参考了网上已有的例子,结合实践的结果,得到了这么个子程序。
! 创建目录文件夹及路径
integer function Create_folder(path)
use IFPORT !- 调用系统命令模块
implicit none
character(*),intent(in) :: path
character(len=:),allocatable :: infile
integer :: i, j
logical :: flag, flag2
! 找出空格,然后转换成用双引号引用的空格
do i = 1, len_trim(path)
if ( ichar(path(i:i))/=32 ) then
infile = infile // path(i:i)
else
infile = infile // '" "'
end if
end do
! 判断是否存在文件
inquire(directory=path, exist=flag)
if (.not.flag) then
print*, '创建文件夹:'//infile
flag2 = system('md '//infile)
if (.not.flag2) then
! 创建成功
Create_folder = 1
else
! 创建失败
Create_folder = -1
end if
else
! 原文件夹已存在
Create_folder = 0
end if
end function Create_folder
本来Create_folder的属性想写成logical的,但是我自己的程序里面需要这个不止两个分支,所以就改成了integer来返回指示码了
emmmmmm……
上次还上传了个附件,这次连附件都懒得上传了……
权当交流吧~~~
|
|