Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:45:04 UTC

view on githubraw file Latest commit 8702af1f on 2012-09-20 23:12:48 UTC
8702af1f36 Patr*0001       subroutine template()
                0002       use OAD_cp
                0003       use OAD_tape
                0004       use OAD_rev
                0005 
                0006 !$TEMPLATE_PRAGMA_DECLARATIONS
                0007 
                0008       integer :: cp_loop_variable_1,cp_loop_variable_2,
                0009      +     cp_loop_variable_3,cp_loop_variable_4
                0010 
                0011       integer iaddr
                0012       external iaddr
                0013 
                0014 #ifdef OAD_DEBUG_SPLIT1
                0015       character*(80):: indentation='                                        
                0016      +                                         '
                0017       our_indent=our_indent+1
                0018 
                0019       write(standardmessageunit, '(A,A,A)', ADVANCE='NO') 
                0020      +'OAD:',indentation(1:our_indent), 'enter __SRNAME__:'
                0021       call oad_dump_revmod(); call oad_dump_tapestats()
                0022       write(standardmessageunit,*) 
                0023 #endif
                0024 
                0025       if (our_rev_mode%plain) then
                0026 #ifdef OAD_DEBUG_SPLIT1
                0027         write(standardmessageunit,'(A,A,A)') 
                0028      +'OAD:',indentation(1:our_indent), 
                0029      +' __SRNAME__: entering plain'
                0030 #endif
                0031 !$PLACEHOLDER_PRAGMA$ id=1
                0032       end if
                0033       if (our_rev_mode%tape .and..not.our_rev_mode%strictAnonymous) then
                0034 #ifdef OAD_DEBUG_SPLIT1
                0035         write(standardmessageunit,'(A,A,A)') 
                0036      +'OAD:',indentation(1:our_indent), 
                0037      +' __SRNAME__: entering tape'
                0038 #endif
                0039 !$PLACEHOLDER_PRAGMA$ id=2
                0040       end if 
                0041       if (our_rev_mode%adjoint 
                0042      +.and. .not.our_rev_mode%strictAnonymous) then
                0043 #ifdef OAD_DEBUG_SPLIT1
                0044          write(standardmessageunit,'(A,A,A)') 
                0045      +'OAD:',indentation(1:our_indent), 
                0046      +' __SRNAME__: entering adjoint'
                0047 #endif
                0048 !$PLACEHOLDER_PRAGMA$ id=3
                0049       end if 
                0050       if (our_rev_mode%tape .and. our_rev_mode%strictAnonymous) then
                0051 #ifdef OAD_DEBUG_SPLIT1
                0052         write(standardmessageunit,'(A,A,A)') 
                0053      +'OAD:',indentation(1:our_indent), 
                0054      +' __SRNAME__: entering sa tape'
                0055 #endif
                0056 !$PLACEHOLDER_PRAGMA$ id=10
                0057       end if 
                0058       if (our_rev_mode%adjoint 
                0059      +.and. our_rev_mode%strictAnonymous) then
                0060 #ifdef OAD_DEBUG_SPLIT1
                0061          write(standardmessageunit,'(A,A,A)') 
                0062      +'OAD:',indentation(1:our_indent), 
                0063      +' __SRNAME__: entering sa adjoint'
                0064 #endif
                0065 !$PLACEHOLDER_PRAGMA$ id=11
                0066       end if 
                0067 
                0068 #ifdef OAD_DEBUG_SPLIT1
                0069       write(standardmessageunit,'(A,A,A)', ADVANCE='NO') 
                0070      +'OAD:',indentation(1:our_indent), 'leave __SRNAME__:'
                0071       call oad_dump_revmod(); call oad_dump_tapestats()
                0072       write(standardmessageunit,*) 
                0073 
                0074       our_indent=our_indent-1
                0075 #endif
                0076 
                0077       end subroutine template