Back to home page

MITgcm

 
 

    


File indexing completed on 2018-03-02 18:38:01 UTC

view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
f8815aa4bc Jean*0001 #include "AUTODIFF_OPTIONS.h"
                0002 
2dcaa8b9a5 Patr*0003 C--   File global_adsum.F: Routines that perform adjoint of
ad0125f5d5 Jean*0004 C                          global sum on all threads and all processors
2dcaa8b9a5 Patr*0005 C      Contents
f8815aa4bc Jean*0006 C      o GLOBAL_ADSUM_R4
                0007 C      o GLOBAL_ADSUM_R8
2dcaa8b9a5 Patr*0008 
f8815aa4bc Jean*0009 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0010 CBOP
                0011 C     !ROUTINE: GLOBAL_ADSUM_R4
                0012 
                0013 C     !INTERFACE:
0a92c8c20d Patr*0014 #ifdef AUTODIFF_TAMC_COMPATIBILITY
9274434acc Jean*0015       SUBROUTINE GLOBAL_ADSUM_R4(
2dcaa8b9a5 Patr*0016      I                            myThid,
                0017      U                            adsumPhi
                0018      &                          )
0a92c8c20d Patr*0019 #else
55400e7a24 Jean*0020       SUBROUTINE GLOBAL_ADSUM_R4(
0a92c8c20d Patr*0021      U                            adsumPhi,
                0022      I                            myThid
                0023      &                          )
                0024 #endif
f8815aa4bc Jean*0025 
                0026 C     !DESCRIPTION:
                0027 C     *==========================================================*
                0028 C     | SUBROUTINE GLOBAL_ADSUM_R4
                0029 C     | o Handle sum for real*4 data.
                0030 C     *==========================================================*
                0031 C     *==========================================================*
                0032 
                0033 C     !USES:
                0034       IMPLICIT NONE
2dcaa8b9a5 Patr*0035 
                0036 C     == Global data ==
                0037 #include "SIZE.h"
                0038 #include "EEPARAMS.h"
                0039 
f8815aa4bc Jean*0040 C     !INPUT/OUTPUT PARAMETERS:
2dcaa8b9a5 Patr*0041 C     == Routine arguments ==
f8815aa4bc Jean*0042 C     sumPhi :: Result of sum.
                0043 C     myThid :: My thread id.
2dcaa8b9a5 Patr*0044       Real*4 adsumPhi
                0045       INTEGER myThid
f8815aa4bc Jean*0046 CEOP
2dcaa8b9a5 Patr*0047 
f8815aa4bc Jean*0048 C     !LOCAL VARIABLES:
ad0125f5d5 Jean*0049 
                0050       CALL GLOBAL_SUM_R4( adsumPhi, myThid )
2dcaa8b9a5 Patr*0051 
                0052       RETURN
                0053       END
                0054 
f8815aa4bc Jean*0055 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
                0056 CBOP
                0057 C     !ROUTINE: GLOBAL_ADSUM_R8
2dcaa8b9a5 Patr*0058 
f8815aa4bc Jean*0059 C     !INTERFACE:
0a92c8c20d Patr*0060 #ifdef AUTODIFF_TAMC_COMPATIBILITY
9274434acc Jean*0061       SUBROUTINE GLOBAL_ADSUM_R8(
2dcaa8b9a5 Patr*0062      I                            myThid,
                0063      U                            adsumPhi
                0064      &                          )
0a92c8c20d Patr*0065 #else
55400e7a24 Jean*0066       SUBROUTINE GLOBAL_ADSUM_R8(
0a92c8c20d Patr*0067      U                            adsumPhi,
                0068      I                            myThid
                0069      &                          )
                0070 #endif
f8815aa4bc Jean*0071 
                0072 C     !DESCRIPTION:
                0073 C     *==========================================================*
                0074 C     | SUBROUTINE GLOBAL_ADSUM_R8
                0075 C     | o Handle sum for real*8 data.
                0076 C     *==========================================================*
                0077 C     *==========================================================*
                0078 
                0079 C     !USES:
                0080       IMPLICIT NONE
2dcaa8b9a5 Patr*0081 
                0082 C     == Global data ==
                0083 #include "SIZE.h"
                0084 #include "EEPARAMS.h"
                0085 
f8815aa4bc Jean*0086 C     !INPUT/OUTPUT PARAMETERS:
2dcaa8b9a5 Patr*0087 C     == Routine arguments ==
f8815aa4bc Jean*0088 C     sumPhi :: Result of sum.
                0089 C     myThid :: My thread id.
2dcaa8b9a5 Patr*0090       Real*8 adsumPhi
                0091       INTEGER myThid
f8815aa4bc Jean*0092 CEOP
2dcaa8b9a5 Patr*0093 
f8815aa4bc Jean*0094 C     !LOCAL VARIABLES:
2dcaa8b9a5 Patr*0095 C     == Local variables ==
ad0125f5d5 Jean*0096 
                0097       CALL GLOBAL_SUM_R8( adsumPhi, myThid )
2dcaa8b9a5 Patr*0098 
                0099       RETURN
                0100       END