create_directory Subroutine

private subroutine create_directory(name, flag, appendname, newline)

Uses

create directories if they don't exist

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name
logical, intent(in) :: flag
character(len=*), intent(in) :: appendname
logical, intent(in), optional :: newline

Source Code

        subroutine create_directory(name, flag, appendname, newline)
        !! create directories if they don't exist
            use constants, only : fileplace

            character(*),      intent(in) :: name, appendname
            logical,           intent(in) :: flag
            logical, optional, intent(in) :: newline

            character(len=:), allocatable :: mkdirCMD

            if(.not. flag)then
                mkdirCMD = "mkdir -p "//trim(fileplace)//name
                call execute_command_line(mkdirCMD)
                ! output correct message for base data dir
                if(len(name) == 0)then
                    mkdirCMD = "Created "//appendname//"data/"                    
                else
                    mkdirCMD = "Created "//appendname//name
                end if
                if(newline)mkdirCMD = mkdirCMD//new_line("a")
                print*,mkdirCMD
            end if

        end subroutine create_directory