File indexing completed on 2018-03-02 18:41:02 UTC
view on githubraw file Latest commit add29e06 on 2018-01-31 20:35:05 UTC
8e4c181d69 Jean*0001 # include "GAD_OPTIONS.h"
0002
0003
0004
0005
0006
0007
0008
0009
0010 SUBROUTINE GAD_OSC_LOC_R(ir,mask,fbar,ohat)
0011
0012 implicit none
0013
0014
0015 # include "SIZE.h"
0016
0017
0018 integer ir
0019 _RL mask(1-3:Nr+3)
0020 _RL fbar(1-3:Nr+3)
0021 _RL ohat(1:2,
0022 & 1-3:Nr+3)
0023
0024
0025 _RL floc(-1:+1)
0026
0027 if (ir.gt.+1-3 .and.
0028 & ir.lt.Nr+3) then
0029
0030
0031
0032 floc(+0) = fbar(+0+ir)
0033
0034 floc(-1) = floc(+0) +
0035 & mask(ir-1)*(fbar(ir-1)-floc(+0))
0036 floc(+1) = floc(+0) +
0037 & mask(ir+1)*(fbar(ir+1)-floc(+0))
0038
0039
0040
0041 ohat(+1,ir) = floc(+1)*0.25 _d 0
0042 & - floc(-1)*0.25 _d 0
0043
0044 ohat(+2,ir) = floc(+1)*0.25 _d 0
0045 & - floc(+0)*0.50 _d 0
0046 & + floc(-1)*0.25 _d 0
0047
0048 else
0049
0050 if (ir.eq.+1-3) then
0051
0052
0053
0054 floc(+0) = fbar(+0+ir)
0055
0056 floc(+1) = floc(+0) +
0057 & mask(ir+1)*(fbar(ir+1)-floc(+0))
0058
0059
0060
0061 ohat(+1,ir) = floc(+1)*0.50 _d 0
0062 & - floc(+0)*0.50 _d 0
0063
0064 ohat(+2,ir) = 0. _d 0
0065
0066 end if
0067
0068 if (ir.eq.Nr+3) then
0069
0070
0071
0072 floc(+0) = fbar(+0+ir)
0073
0074 floc(-1) = floc(+0) +
0075 & mask(ir-1)*(fbar(ir-1)-floc(+0))
0076
0077
0078
0079 ohat(+1,ir) = floc(+0)*0.50 _d 0
0080 & - floc(-1)*0.50 _d 0
0081
0082 ohat(+2,ir) = 0. _d 0
0083
0084 end if
0085
0086 end if
0087
0088 return
0089
0090
0091 end
0092
0093
0094
0095 SUBROUTINE GAD_OSC_HAT_R(bi,bj,ix,iy,
0096 & mask,fbar,ohat,myThid)
0097
0098
0099
0100
0101 implicit none
0102
0103
0104 # include "SIZE.h"
0105
0106
0107 integer bi,bj,ix,iy
0108 _RL mask(1-3:Nr+3)
0109 _RL fbar(1-3:Nr+3)
0110 _RL ohat(1:2,
0111 & 1-3:Nr+3)
0112 integer myThid
0113
0114
0115 integer ir
0116
0117
0118 do ir = +1-3, Nr+3
0119
0120 CALL GAD_OSC_LOC_R(ir,mask,fbar,ohat)
0121
0122 end do
0123
0124 return
0125
0126
0127 end