Print the layer and wrapping info to a file
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(base_layer_type), | intent(in) | :: | this |
Instance of the layer |
||
| character(len=*), | intent(in), | optional | :: | file |
File name |
|
| integer, | intent(in), | optional | :: | unit |
Unit number |
|
| logical, | intent(in), | optional | :: | print_header_footer |
Boolean whether to print header and footer |
module subroutine print_base(this, file, unit, print_header_footer) !! Print the layer and wrapping info to a file implicit none ! Arguments class(base_layer_type), intent(in) :: this !! Instance of the layer character(*), optional, intent(in) :: file !! File name integer, optional, intent(in) :: unit !! Unit number logical, optional, intent(in) :: print_header_footer !! Boolean whether to print header and footer ! Local variables integer :: unit_ !! Unit number logical :: filename_provided !! Boolean whether file is logical :: print_header_footer_ !! Boolean whether to print header and footer ! Open file with new unit !--------------------------------------------------------------------------- filename_provided = .false. if(present(file).and.present(unit))then call stop_program("print_base: both file and unit specified") elseif(present(file))then filename_provided = .true. open(newunit=unit_, file=trim(file), access='append') elseif(present(unit))then unit_ = unit else call stop_program("print_base: neither file nor unit specified") end if print_header_footer_ = .true. if(present(print_header_footer)) print_header_footer_ = print_header_footer ! Write card !--------------------------------------------------------------------------- if(print_header_footer_) write(unit_,'(A)') to_upper(trim(this%name)) call this%print_to_unit(unit_) if(print_header_footer_) write(unit_,'("END ",A)') to_upper(trim(this%name)) ! Close unit !--------------------------------------------------------------------------- if(filename_provided) close(unit_) end subroutine print_base